# Guideline 4.5.4: notifikasi push ditolak oleh Apple

> Guideline 4.5.4: notifikasi promosi memerlukan persetujuan jelas dalam app dan cara untuk menarik diri, dan app mesti berfungsi tanpa notifikasi.

Halaman asal: [Guideline 4.5.4: notifikasi push ditolak oleh Apple](https://devoria.fr/ms/blog/guideline-4-5-4-notifikasi-push-ditolak-apple)
Pengarang: [Mehdi Azizi](https://devoria.fr/ms/mehdi-azizi)
Diterbitkan: 2026-11-04
Semakan kandungan terakhir: 2026-11-04


Guideline 4.5.4 mengawal notifikasi push. App anda mesti berfungsi tanpanya, tidak boleh menyelitkan maklumat sensitif di dalamnya, dan tidak boleh menggunakannya untuk promosi tanpa persetujuan. **Notifikasi pemasaran memerlukan persetujuan bertulis dalam app anda dan suis untuk menariknya balik, selain kebenaran iOS.**

Saya menerbitkan app iOS saya sendiri dengan Expo. Dalam TradaZen, simulator dagangan saya, saya telah membuang satu notifikasi yang mengumumkan diskaun, dan menggantikannya dengan peringatan tanpa tawaran, yang saya maklumkan kepada reviewer. Panduan ini berdasarkan teks Apple, lesen pembangunnya, dokumentasinya dan kes ini. Untuk gambaran keseluruhan sebab penolakan, baca [kenapa Apple menolak app](https://devoria.fr/ms/blog/aplikasi-ditolak-apple-5-kes-sebenar).

## Apa kata guideline 4.5.4?

Peraturan ini terdapat dalam seksyen 4 "Design", bahagian 4.5 "Apple Sites and Services", dalam [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#4.5.4). Sebab itulah tajuk penolakannya: "Guideline 4.5.4 - Design - Apple Sites and Services". Teks ini menetapkan tiga had.

1. **Tiada notifikasi wajib.** "Push Notifications must not be required for the app to function." Menolak tetingkap iOS tidak boleh menyekat apa-apa.
2. **Tiada maklumat sensitif.** Notifikasi "should not be used to send sensitive personal or confidential information". Notifikasi dipaparkan di skrin kunci, di depan mata sesiapa sahaja.
3. **Tiada promosi tanpa persetujuan.** Pemasaran dilarang "unless customers have explicitly opted in to receive them via consent language displayed in your app's UI", dengan "a method in your app for a user to opt out".

Ayat terakhir memberi amaran bahawa penyalahgunaan boleh menyebabkan anda hilang akses kepada perkhidmatan itu. Dua peraturan berkaitan melengkapkan gambaran. 4.5.3 melarang spam melalui notifikasi. [5.1.2(i)](https://devoria.fr/ms/blog/guideline-5-1-2-ai-pihak-ketiga-att-perkongsian-data) melarang anda mewajibkan pengaktifan notifikasi untuk mengakses fungsi, kandungan atau ganjaran.

## Apa yang ditambah oleh lesen pembangun

Guidelines bercakap tentang notifikasi push. Lampiran 1 [Apple Developer Program License Agreement](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#A1), yang anda terima semasa mendaftar, pergi lebih jauh dalam tiga perkara.

- **Notifikasi tempatan juga terlibat.** Artikel 2.2 menyebut "the APN or Local Notifications". Peringatan yang dijadualkan dalam app, tanpa pelayan, tertakluk pada peraturan yang sama.
- **Promosi ditakrifkan secara luas.** Ia termasuk jualan tambahan dan "sending any messages to promote the use of Your Application or advertise the availability of new features or versions".
- **Tetingkap iOS tidak boleh diusik.** Artikel 1.3 melarang anda memintas panel persetujuan Apple. Jika persetujuan ditolak atau ditarik balik, anda tidak menghantar apa-apa lagi.

Tafsiran saya: **mesej "kembalilah ke app" hampir menjadi promosi, walaupun tanpa harga.** Apple tidak memutuskan kes ini, dan sebab itulah saya memaklumkan peringatan sebegini kepada reviewer.

## Apa maksud mesej penolakan 4.5.4?

Penolakan yang paling banyak didokumentasikan melibatkan app yang tidak berfungsi tanpa notifikasi. Dalam [satu thread forum B4X](https://www.b4x.com/android/forum/threads/apple-app-store-rejected.89295/) pada 2018, Apple menulis: "Push notifications must be optional and must obtain the user's consent to be used within the app." Pembangun itu kemudian melaporkan skrin hitam selepas kebenaran ditolak. Punca yang dicadangkan dalam thread itu: antara muka yang menunggu token notifikasi sebelum dipaparkan.

**Anggap sahaja reviewer akan menolak kebenaran untuk melihat apa yang berlaku.** Jika app tersekat, terus mendesak atau membuang sesuatu fungsi, 4.5.4 atau 5.1.2(i) akan dikenakan. Untuk pemasaran tanpa persetujuan, saya tidak menemui mesej penolakan awam yang terkini.

## Persetujuan apa untuk notifikasi apa?

Jadual saya menggabungkan teks Apple, lesen dan panduan antara muka. Baris "tamat percubaan" dan "peringatan kembali" ialah tafsiran saya, bukan pendirian bertulis Apple.

| Jenis notifikasi             | Persetujuan diperlukan           | Contoh yang patuh                     |
| ---------------------------- | -------------------------------- | ------------------------------------- |
| Respons kepada tindakan      | Tetingkap iOS                    | "Eksport anda sudah siap"             |
| Peringatan yang dipilih      | Tetingkap iOS                    | Pelajaran harian pada 7 malam         |
| Tamat percubaan, pembaharuan | Tetingkap iOS                    | "Percubaan anda tamat pada 12hb"      |
| Peringatan kembali           | Tetingkap iOS + berhati-hati     | Tanpa harga, sekali sahaja            |
| Tawaran atau diskaun         | Tetingkap iOS + persetujuan      | Kotak ditanda dalam app               |
| Ciri baharu app              | Tetingkap iOS + persetujuan      | Dihantar kepada yang mendaftar sahaja |
| Mesej peribadi, kesihatan    | Jangan sekali-kali ada kandungan | "Mesej baharu"                        |
| Notifikasi sementara         | Tiada tetingkap pada mulanya     | Tiba tanpa bunyi atau banner          |

"Tetingkap iOS" ialah kebenaran sistem. "Persetujuan" ialah pilihan berasingan dalam app anda: satu ayat yang menyatakan apa yang akan anda hantar, dan suis yang dimatikan secara lalai.

### Peringatan langganan dan tawaran

Halaman [Managing notifications](https://developer.apple.com/design/human-interface-guidelines/managing-notifications) dalam panduan antara muka Apple menyebut langganan: seseorang mungkin menghargai "an offer to become a subscriber", jika dia telah bersetuju menerima notifikasi pemasaran. Ia menambah dua kewajipan: skrin tetapan dalam app untuk menukar fikiran, dan jangan sekali-kali menggunakan tahap "Time Sensitive" untuk pemasaran.

Garis sempadan yang saya pegang: **peringatan yang memaklumkan tentang pembelian yang sudah dibuat bukan tawaran, mesej yang mendorong untuk membeli ialah tawaran.** "Percubaan anda tamat pada 12hb" memaklumkan. "Diskaun 50% selama 24 jam" menjual. Skrin pembelian yang dibuka oleh notifikasi itu tetap tertakluk pada [peraturan 3.1.2](https://devoria.fr/ms/blog/guideline-3-1-2-aplikasi-ditolak-langganan).

## Notifikasi lembut, atau sementara

Apple menyebut "provisional authorization" dalam [dokumentasinya tentang kebenaran](https://developer.apple.com/documentation/usernotifications/asking-permission-to-use-notifications). App boleh menghantar notifikasi tanpa memaparkan tetingkap iOS. Notifikasi tiba tanpa bunyi atau banner, hanya dalam sejarah pusat notifikasi, dengan butang untuk menyimpan atau mematikannya. Dengan Expo, ini ialah pilihan dalam [requestPermissionsAsync](https://docs.expo.dev/versions/latest/sdk/notifications/):

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

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

Medan `ios.status` kemudian bernilai `IosAuthorizationStatus.PROVISIONAL` selagi pengguna belum membuat pilihan. **Notifikasi sementara menggantikan tetingkap iOS, bukan persetujuan pemasaran.** Promosi yang dihantar secara sementara tetap promosi.

Berhati-hati dengan istilah. Dalam TradaZen, saya panggil "notifikasi lembut" sebagai peringatan bernada tenang, yang dihantar hanya jika tetingkap iOS telah diterima. Itu bukan kebenaran sementara.

## Melaksanakan persetujuan jelas dengan Expo

1. **Minta kebenaran iOS mengikut konteks.** Apple menasihatkan supaya ia diminta selepas tindakan yang menunjukkan manfaatnya, bukan pada pelancaran pertama. Dalam TradaZen, ia muncul antara lain selepas ganjaran onboarding atau pelajaran yang selesai. Logik yang sama seperti [permintaan penilaian](https://devoria.fr/ms/blog/guideline-5-6-3-permintaan-ulasan-app-ditolak).
2. **Tambah persetujuan pemasaran yang berasingan.** Suis yang dimatikan secara lalai, dengan ayat yang jelas, contohnya: "Terima tawaran dan ciri baharu, paling banyak sekali seminggu."
3. **Sediakan skrin tetapan.** Peringatan dan tawaran boleh dimatikan dalam app, bukan hanya dalam Settings iOS.
4. **Tapis semasa menghantar.** Pelayan anda, atau penjadual tempatan anda, hanya menghantar promosi kepada mereka yang bersetuju.
5. **Biarkan semuanya berfungsi tanpanya.** Penolakan tidak menyekat skrin, fungsi atau ganjaran.

## TradaZen: notifikasi yang saya buang

Pada 12 Oktober 2026, satu versi TradaZen ditolak di bawah peraturan 5.6, yang menyasarkan pembelian yang diperoleh melalui manipulasi. Apple tidak menyatakan elemen yang dimaksudkan. Jadi saya menyemak semula keseluruhan aliran pembelian, termasuk notifikasi.

Satu notifikasi menimbulkan masalah. Keluar dari app semasa onboarding atau di skrin langganan menjadualkan mesej tempatan ini: "Saya ada diskaun eksklusif khas untuk anda." Ia hanya bergantung pada kebenaran iOS, tanpa persetujuan pemasaran berasingan. **Inilah promosi tanpa persetujuan jelas yang digambarkan oleh 4.5.4 dan lesen.** Saya membuangnya dalam ketiga-tiga puluh bahasa app itu.

Sebagai gantinya, satu peringatan tunggal: "Perjalanan anda menanti. Sambung bila-bila masa, tak perlu tergesa-gesa." Hadnya:

- ia hanya dihantar jika notifikasi dibenarkan;
- sekali sahaja bagi setiap pemasangan, lima minit selepas keluar dari onboarding atau skrin langganan;
- ia dibatalkan jika pengguna kembali lebih awal;
- tiada harga, tiada diskaun, tiada pemasa, tiada bunyi.

Peringatan ini masih berada dalam zon kelabu yang diterangkan di atas. Saya tidak menyembunyikannya: ia diterangkan dalam nota semakan dan dalam jawapan saya kepada reviewer. **Peringatan yang dimaklumkan boleh dibincangkan, peringatan yang disembunyikan nampak seperti helah.**

## Bagaimana menjawab penolakan 4.5.4?

Perbualan berlaku dalam App Store Connect, tempat anda [membalas mesej App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/). Betulkan dahulu: buang kewajipan, tambah persetujuan pemasaran atau bersihkan teks, kemudian buat build baharu. Templat yang saya akan gunakan, untuk disesuaikan:

```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,
```

## Senarai semak 4.5.4 sebelum penghantaran

- App boleh digunakan sepenuhnya selepas kebenaran ditolak, tanpa skrin tersekat atau ganjaran ditarik balik.
- Tetingkap iOS muncul selepas tindakan yang berguna, tidak sekali-kali pada skrin pertama.
- Setiap promosi, tempatan atau jauh, bergantung pada persetujuan pemasaran yang dimatikan secara lalai.
- Skrin tetapan dalam app boleh mematikan peringatan dan tawaran.
- Tiada teks notifikasi yang memaparkan data kesihatan, jumlah wang atau mesej peribadi.
- Tiada promosi pada tahap "Time Sensitive".
- Nota semakan menyenaraikan notifikasi yang dihantar dalam beberapa hari pertama.
- Anda telah menguji aliran dengan menolak setiap kebenaran. Panduan [TestFlight](https://devoria.fr/ms/blog/testflight-uji-aplikasi-iphone-sebelum-hantar) menunjukkan cara memasang build anda untuk ujian ini.

## Semak fail anda sebelum menghantar

[Review Kit](https://devoria.fr/ms/kits/app-review) menghimpunkan senarai semak saya sebelum penghantaran, templat nota untuk penguji dan skill Claude Code yang menyemak projek anda. Untuk pandangan manusia, [tempah sejam dengan saya](https://devoria.fr/ms/coaching): kita semak notifikasi dan skrin tetapan anda bersama-sama, melalui panggilan video. Pendekatan penuh ada di halaman [app ditolak oleh Apple](https://devoria.fr/ms/expertise/aplikasi-ditolak-apple).

Sedang menyediakan pelancaran pertama anda? [Buat diagnostik percuma anda](https://devoria.fr/ms/diagnostic): ia menyusun langkah-langkah mengikut urutan dan menghantar senarai semak anti-penolakan Apple saya kepada anda.

## Soalan lazim

### Apa maksud "Guideline 4.5.4 - Design - Apple Sites and Services"?

Itulah tajuk penolakan apabila Apple menilai notifikasi anda sebagai wajib, terlalu mendedahkan atau bersifat promosi tanpa persetujuan. Baca ayat selepas tajuk itu: ia menyatakan apa yang didapati oleh reviewer.

### Bolehkah meminta kebenaran notifikasi semasa onboarding?

Boleh, jika penolakan tidak menyekat apa-apa dan permintaan itu datang selepas saat yang menunjukkan manfaatnya. Jangan sekali-kali jadikan persetujuan sebagai syarat untuk ganjaran: 5.1.2(i) melarangnya.

### Adakah notifikasi tamat percubaan dikira pemasaran?

Tafsiran saya: tidak, jika ia hanya memaklumkan tentang percubaan semasa. Jika ia menawarkan diskaun atau langganan lain, ia menjadi promosi dan memerlukan persetujuan pemasaran.

### Adakah notifikasi tempatan tertakluk pada 4.5.4?

Guideline itu bercakap tentang notifikasi push, tetapi lampiran 1 lesen pembangun menerapkan peraturan promosi kepada notifikasi tempatan. Layan kedua-duanya dengan cara yang sama.

### Adakah notifikasi sementara mengecualikan persetujuan pemasaran?

Tidak. Ia mengelakkan tetingkap iOS pada mulanya, tetapi promosi tetap promosi: ia memerlukan persetujuan jelas dalam app dan cara untuk menarik diri.


## Projek anda

[Review Kit](https://devoria.fr/ms/kits/app-review): Senarai semak review App Store saya, penolakan Apple yang telah saya betulkan, senarai semak Google Play dan tiga skill Claude Code. RM 219.

[iOS & Android Kit](https://devoria.fr/ms/kits/ios): Bina app iPhone dan Android anda dengan Claude Code: kod permulaan app saya, laluan hingga ke store dan semua kit. RM 449.

[Diagnostik: apa yang memisahkan anda daripada app iPhone anda](https://devoria.fr/ms/diagnostic): 7 soalan, 60 saat: anda tahu apa yang benar-benar menghalang anda menerbitkan app iPhone, laluan 4 langkah anda dan kit yang sesuai dengan anda.
