# Guideline 4.5.4: Apple hylkää push-ilmoitukset

> Guideline 4.5.4: mainosilmoitus vaatii nimenomaisen suostumuksen sovelluksessa ja tavan perua se, ja sovelluksen on toimittava ilman ilmoituksia.

Alkuperäinen sivu: [Guideline 4.5.4: Apple hylkää push-ilmoitukset](https://devoria.fr/fi/blog/guideline-4-5-4-push-ilmoitukset-apple-hylkays)
Kirjoittaja: [Mehdi Azizi](https://devoria.fr/fi/mehdi-azizi)
Julkaistu: 2026-11-04
Sisältö tarkistettu viimeksi: 2026-11-04


Guideline 4.5.4 sääntelee push-ilmoituksia. Sovelluksesi täytyy toimia ilman niitä, niissä ei saa koskaan olla arkaluonteista tietoa, eikä niitä saa koskaan käyttää mainontaan ilman suostumusta. **Markkinointi-ilmoitus vaatii sovelluksessa kirjallisen suostumuksen ja kytkimen sen perumiseen, iOS:n luvan lisäksi.**

Julkaisen omia iOS-sovelluksiani Expolla. TradaZenissa, kaupankäyntisimulaattorissani, poistin ilmoituksen, joka mainosti alennusta, ja korvasin sen muistutuksella ilman tarjousta. Kerroin siitä reviewerille. Tämä opas perustuu Applen tekstiin, sen kehittäjälisenssiin, dokumentaatioon ja tähän tapaukseen. Kokonaiskuvan hylkäyssyistä saat lukemalla, [miksi Apple hylkää sovelluksen](https://devoria.fr/fi/blog/apple-hylkasi-sovelluksen-syyt).

## Mitä guideline 4.5.4 sanoo?

Sääntö löytyy [App Review Guidelinesin](https://developer.apple.com/app-store/review/guidelines/#4.5.4) osiosta 4 "Design", kohdasta 4.5 "Apple Sites and Services". Siitä hylkäyksen otsikko: "Guideline 4.5.4 - Design - Apple Sites and Services". Teksti asettaa kolme rajaa.

1. **Ei pakollisia ilmoituksia.** "Push Notifications must not be required for the app to function." iOS:n ikkunasta kieltäytyminen ei saa estää mitään.
2. **Ei arkaluonteista tietoa.** Niitä "should not be used to send sensitive personal or confidential information". Ilmoitus näkyy lukitusnäytöllä kenen tahansa silmien edessä.
3. **Ei mainontaa ilman suostumusta.** Markkinointi on kielletty "unless customers have explicitly opted in to receive them via consent language displayed in your app's UI", ja lisäksi tarvitaan "a method in your app for a user to opt out".

Viimeinen lause varoittaa, että väärinkäyttö voi viedä pääsyn palveluun. Kaksi viereistä sääntöä täydentää kuvaa. 4.5.3 kieltää ilmoitusroskapostin. [5.1.2(i)](https://devoria.fr/fi/blog/guideline-5-1-2-tekoaly-att-datan-jakaminen) kieltää vaatimasta ilmoitusten käyttöönottoa toiminnon, sisällön tai palkinnon saamiseksi.

## Mitä kehittäjälisenssi lisää

Guidelines puhuu push-ilmoituksista. [Apple Developer Program License Agreementin](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#A1) liite 1, jonka hyväksyit rekisteröityessäsi, menee pidemmälle kolmessa kohdassa.

- **Paikalliset ilmoitukset kuuluvat mukaan.** Artikla 2.2 koskee "the APN or Local Notifications". Sovelluksessa ajastettu muistutus ilman palvelinta noudattaa samaa sääntöä.
- **Mainonta määritellään laajasti.** Siihen kuuluu lisämyynti ja "sending any messages to promote the use of Your Application or advertise the availability of new features or versions".
- **iOS:n ikkunaan ei kosketa.** Artikla 1.3 kieltää kiertämästä Applen suostumuspaneelia. Jos suostumus evätään tai perutaan, et lähetä enää mitään.

Oma tulkintani: **"palaa sovellukseen" -viesti on lähellä mainontaa, vaikka siinä ei olisi hintaa.** Apple ei ratkaise tätä tapausta, ja siksi kerron tällaisesta muistutuksesta reviewerille.

## Mitä 4.5.4-hylkäysviesti tarkoittaa?

Parhaiten dokumentoitu hylkäys koskee sovellusta, joka ei toimi ilman ilmoituksia. [B4X-foorumin ketjussa](https://www.b4x.com/android/forum/threads/apple-app-store-rejected.89295/) vuodelta 2018 Apple kirjoittaa: "Push notifications must be optional and must obtain the user's consent to be used within the app." Kehittäjä kertoo sen jälkeen mustasta näytöstä luvan epäämisen jälkeen. Ketjussa esitetty selitys: käyttöliittymä odotti ilmoitustunnistetta ennen kuin se näkyi.

**Oleta, että reviewer epää luvat nähdäkseen, mitä tapahtuu.** Jos sovellus jumittuu, painostaa tai vie toiminnon pois, tulee 4.5.4 tai 5.1.2(i). Markkinoinnista ilman suostumusta en löytänyt tuoretta julkista hylkäysviestiä.

## Millainen suostumus mihinkin ilmoitukseen?

Taulukkoni yhdistää Applen tekstin, lisenssin ja käyttöliittymäoppaan. Rivit "kokeilun loppu" ja "paluumuistutus" ovat omaa tulkintaani, eivät Applen kirjallinen kanta.

| Ilmoituksen tyyppi           | Vaadittu suostumus       | Sääntöjen mukainen esimerkki    |
| ---------------------------- | ------------------------ | ------------------------------- |
| Vastaus toimintoon           | iOS-ikkuna               | "Vientisi on valmis"            |
| Valittu muistutus            | iOS-ikkuna               | Päivän oppitunti klo 19         |
| Kokeilun loppu, uusiutuminen | iOS-ikkuna               | "Kokeilusi päättyy 12. päivä"   |
| Paluumuistutus               | iOS-ikkuna + varovaisuus | Ilman hintaa, vain kerran       |
| Tarjous tai alennus          | iOS-ikkuna + suostumus   | Rasti ruutuun sovelluksessa     |
| Sovelluksen uutuudet         | iOS-ikkuna + suostumus   | Vain tilanneille                |
| Yksityisviesti, terveys      | Ei koskaan sisältöä      | "Uusi viesti"                   |
| Väliaikainen ilmoitus        | Ei ikkunaa aluksi        | Saapuu ilman ääntä tai banneria |

"iOS-ikkuna" on järjestelmän lupa. "Suostumus" on erillinen valinta sovelluksessasi: lause, joka kertoo, mitä lähetät, ja oletuksena pois päältä oleva kytkin.

### Tilausmuistutukset ja tarjoukset

Applen käyttöliittymäoppaan sivu [Managing notifications](https://developer.apple.com/design/human-interface-guidelines/managing-notifications) mainitsee tilauksen: ihminen voi arvostaa "an offer to become a subscriber", jos hän on hyväksynyt markkinointi-ilmoitukset. Se lisää kaksi velvoitetta: sovelluksen sisäinen asetusnäkymä mielen muuttamiseen, eikä koskaan "Time Sensitive" -tasoa markkinointiin.

Raja, jonka itse vedän: **muistutus, joka kertoo jo tehdystä ostosta, ei ole tarjous, viesti joka houkuttelee ostamaan on.** "Kokeilusi päättyy 12. päivä" tiedottaa. "50 % alennus 24 tunnin ajan" myy. Ilmoituksen avaama ostonäkymä kuuluu edelleen [säännön 3.1.2](https://devoria.fr/fi/blog/guideline-3-1-2-sovellus-hylatty-tilaus) piiriin.

## Pehmeät eli väliaikaiset ilmoitukset

Apple puhuu "provisional authorization" -luvasta [lupia koskevassa dokumentaatiossaan](https://developer.apple.com/documentation/usernotifications/asking-permission-to-use-notifications). Sovellus voi lähettää ilmoituksia näyttämättä iOS:n ikkunaa. Ilmoitukset saapuvat ilman ääntä tai banneria, vain ilmoituskeskuksen historiaan, ja niissä on painikkeet niiden pitämiseen tai sammuttamiseen. Expossa se on [requestPermissionsAsync](https://docs.expo.dev/versions/latest/sdk/notifications/)-funktion asetus:

```ts
import * as Notifications from "expo-notifications";

await Notifications.requestPermissionsAsync({
  ios: {
    allowAlert: true,
    allowBadge: true,
    allowSound: true,
    allowProvisional: true,
  },
});
```

Kenttä `ios.status` on silloin `IosAuthorizationStatus.PROVISIONAL`, kunnes käyttäjä tekee valinnan. **Väliaikainen ilmoitus korvaa iOS:n ikkunan, ei markkinointisuostumusta.** Väliaikaisena lähetetty mainos on silti mainos.

Varo sanastoa. TradaZenissa kutsun "pehmeäksi ilmoitukseksi" rauhallissävyistä muistutusta, joka lähetetään vain, jos iOS:n ikkuna on hyväksytty. Se ei ole väliaikainen lupa.

## Nimenomaisen suostumuksen toteutus Expolla

1. **Pyydä iOS-lupaa oikeassa tilanteessa.** Apple neuvoo pyytämään sitä toiminnon jälkeen, joka näyttää sen hyödyn, ei ensimmäisellä käynnistyskerralla. TradaZenissa pyyntö tulee esimerkiksi onboardingin palkinnon tai suoritetun oppitunnin jälkeen. Sama logiikka kuin [arvostelupyynnössä](https://devoria.fr/fi/blog/guideline-5-6-3-arvostelupyynto-hylkays).
2. **Lisää erillinen markkinointisuostumus.** Oletuksena pois päältä oleva kytkin selkeällä lauseella, esimerkiksi: "Vastaanota tarjoukset ja uutuudet, enintään kerran viikossa."
3. **Tarjoa asetusnäkymä.** Muistutukset ja tarjoukset kytketään pois sovelluksessa, ei pelkästään iOS:n Asetuksissa.
4. **Suodata lähetysvaiheessa.** Palvelimesi tai paikallinen ajastimesi lähettää mainoksen vain niille, jotka ovat suostuneet.
5. **Anna kaiken toimia ilman.** Kieltäytyminen ei estä yhtään näkymää, toimintoa tai palkintoa.

## TradaZen: ilmoitus, jonka poistin

12. lokakuuta 2026 TradaZenin versio hylätään säännön 5.6 perusteella, joka koskee manipuloimalla saatuja ostoja. Apple ei kerro, mitä elementtiä se tarkoittaa. Kävin siis koko ostopolun läpi, ilmoitukset mukaan lukien.

Yksi ilmoitus oli ongelma. Kun sovelluksesta poistui onboardingin aikana tai tilausnäkymässä, ajastui tämä paikallinen viesti: "Minulla on eksklusiivinen alennus juuri sinulle." Se riippui vain iOS:n luvasta, ilman erillistä markkinointisuostumusta. **Tämä on juuri sitä mainontaa ilman nimenomaista suostumusta, jota 4.5.4 ja lisenssi kuvaavat.** Poistin sen sovelluksen kaikista kolmestakymmenestä kielestä.

Tilalle tuli yksi muistutus: "Polkusi odottaa. Jatka milloin haluat, ei kiirettä." Sen rajat:

- se lähtee vain, jos ilmoitukset on sallittu;
- vain kerran asennusta kohden, viisi minuuttia onboardingista tai tilausnäkymästä poistumisen jälkeen;
- se perutaan, jos käyttäjä palaa ennen sitä;
- ei hintaa, ei alennusta, ei ajastinta, ei ääntä.

Tämä muistutus jää edellä kuvatulle harmaalle alueelle. En piilottanut sitä: se on kuvattu review-muistiinpanoissa ja vastauksessani reviewerille. **Kerrotusta muistutuksesta voi keskustella, piilotettu muistutus näyttää juonittelulta.**

## Miten vastata 4.5.4-hylkäykseen?

Keskustelu käydään App Store Connectissa, jossa [vastaat App Review'n viestiin](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/). Korjaa ensin: poista pakko, lisää markkinointisuostumus tai siivoa teksti, ja tee sitten uusi build. Pohja, jota itse käyttäisin, muokattavaksi:

```text
Hello,

Thank you for your feedback on Guideline 4.5.4.

In the new build:
- The app works fully if notifications are denied.
- Promotional notifications are sent only to users
  who turn on "[toggle name]" in [screen]. It is off
  by default and can be turned off at any time.
- Notifications never include [sensitive data].

How to test:
1. Deny notifications at the first prompt.
2. Open [feature]: it works without them.
3. Open [screen] to see both toggles.

Best regards,
```

## 4.5.4-tarkistuslista ennen lähetystä

- Sovellusta voi käyttää kokonaan luvan epäämisen jälkeen, ilman jumittunutta näkymää tai pois vietyä palkintoa.
- iOS:n ikkuna tulee hyödyllisen toiminnon jälkeen, ei koskaan ensimmäisellä näytöllä.
- Jokainen mainos, paikallinen tai etä, riippuu oletuksena pois päältä olevasta markkinointisuostumuksesta.
- Sovelluksen asetusnäkymästä voi kytkeä pois muistutukset ja tarjoukset.
- Yksikään ilmoitusteksti ei näytä terveystietoa, rahasummaa tai yksityisviestiä.
- Ei yhtään mainosta "Time Sensitive" -tasolla.
- Review-muistiinpanoissa luetellaan ensimmäisten päivien aikana lähetettävät ilmoitukset.
- Olet testannut polun epäämällä jokaisen luvan. [TestFlight](https://devoria.fr/fi/blog/testflight-testaa-iphone-sovellus-ennen-lahetysta)-opas näyttää, miten asennat buildisi tätä testiä varten.

## Tarkista pakettisi ennen lähetystä

[Review Kit](https://devoria.fr/fi/kits/app-review) kokoaa tarkistuslistani ennen lähetystä, muistiinpanopohjat testaajalle ja Claude Code -skillit, jotka käyvät projektisi läpi. Jos haluat ihmisen silmät, [varaa tunti kanssani](https://devoria.fr/fi/coaching): käymme ilmoituksesi ja asetusnäkymäsi yhdessä läpi videopuhelussa. Koko prosessi on sivulla [Apple hylkäsi sovelluksen](https://devoria.fr/fi/expertise/apple-hylkasi-sovelluksen).

Valmisteletko ensimmäistä julkaisuasi? [Tee ilmainen diagnoosi](https://devoria.fr/fi/diagnostic): se laittaa vaiheet järjestykseen ja lähettää sinulle tarkistuslistani Applen hylkäysten välttämiseen.

## Usein kysytyt kysymykset

### Mitä "Guideline 4.5.4 - Design - Apple Sites and Services" tarkoittaa?

Se on hylkäyksen otsikko, kun Apple pitää ilmoituksiasi pakollisina, liian paljastavina tai mainoksina ilman suostumusta. Lue otsikon jälkeinen lause: se kertoo, mitä reviewer havaitsi.

### Voiko ilmoituslupaa pyytää onboardingin aikana?

Kyllä, jos kieltäytyminen ei estä mitään ja pyyntö tulee hetkellä, joka näyttää sen hyödyn. Älä koskaan tee palkinnosta suostumuksen ehtoa: 5.1.2(i) kieltää sen.

### Onko kokeilun päättymisestä kertova ilmoitus markkinointia?

Oma tulkintani: ei, jos se vain tiedottaa käynnissä olevasta kokeilusta. Jos se tarjoaa alennusta tai toista tilausta, siitä tulee mainos ja se vaatii markkinointisuostumuksen.

### Koskeeko 4.5.4 paikallisia ilmoituksia?

Guideline puhuu push-ilmoituksista, mutta kehittäjälisenssin liite 1 soveltaa mainontasääntöä paikallisiin ilmoituksiin. Kohtele niitä samalla tavalla.

### Vapauttaako väliaikainen ilmoitus markkinointisuostumuksesta?

Ei. Se välttää iOS:n ikkunan aluksi, mutta mainos on silti mainos: se tarvitsee nimenomaisen suostumuksen sovelluksessa ja tavan perua se.


## Projektisi

[Review Kit](https://devoria.fr/fi/kits/app-review): App Store -tarkastuksen tarkistuslistani, korjatut Applen hylkäykseni, Google Playn lista ja kolme Claude Code -skilliä. 49 €.

[iOS & Android Kit](https://devoria.fr/fi/kits/ios): Tee iPhone- ja Android-sovelluksesi Claude Codella: sovellusteni pohjakoodi, polku kauppoihin asti ja kaikki kitit. 99 €.

[Diagnoosi: mikä erottaa sinut omasta iPhone-sovelluksestasi](https://devoria.fr/fi/diagnostic): 7 kysymystä, 60 sekuntia: tiedät, mikä oikeasti estää sinua julkaisemasta iPhone-sovellustasi, saat 4 vaiheen polkusi ja sinulle sopivan kitin.
