Mengapa Pemberitahuan GCM Tidak Diterima dalam Mod Latar Belakang iOS?

Susan Sarandon
Lepaskan: 2024-10-20 15:27:02
asal
638 orang telah melayarinya

Why Are GCM Notifications Not Being Received in iOS Background Mode?

Pemberitahuan GCM Tidak Diterima dalam Mod Latar Belakang iOS

Pemberitahuan tolak yang dihantar oleh GCM mungkin tidak diterima oleh peranti iOS apabila apl berada dalam latar belakang. Ini boleh dikaitkan dengan beberapa faktor. Berikut ialah analisis isu dan penyelesaiannya:

Masalah 1: Pemberitahuan Tidak Diterima di Latar Belakang

  • Pemberitahuan GCM biasanya dihantar sebagai mesej data ke peranti iOS . Mesej ini tidak dipaparkan dalam kawasan pemberitahuan melainkan apl berada di latar depan.
  • Untuk menyelesaikan masalah ini, anda boleh mengubah suai skrip PHP anda untuk menghantar pemberitahuan tolak sebagai mesej tersedia kandungan. Mesej ini mengutamakan penghantaran walaupun semasa apl berada di latar belakang.

Masalah 2: Ralat "Tidak dapat menyambung ke GCM"

  • Apabila mencuba untuk menerima pemberitahuan di latar belakang, anda menerima ralat yang menyatakan "Tidak dapat menyambung ke GCM." Ralat ini berlaku kerana perkhidmatan GCM mesti berjalan untuk menerima mesej.
  • Pastikan anda telah melaksanakan pengendalian sambungan yang betul dalam fail AppDelegate.m anda, terutamanya "applicationDidBecomeActive" dan "applicationDidEnterBackground" kaedah, untuk mewujudkan dan mengekalkan sambungan kepada GCM.

Penyelesaian Kod PHP

Tambahkan pengubahsuaian berikut pada skrip PHP anda:

<code class="php">$data = array(
    'message' => 'Hello World!',
    'body' => 'Hello World!',
);

$post = array(
    'registration_ids' => $ids,
    'data' => $data,
    'content_available' => true, // To trigger when iOS app is in background
    'priority' => 'high',
    'notification' => $data, // Send notification payload
);</code>
Salin selepas log masuk

Penyelesaian Kod iOS

Tiada pengubahsuaian diperlukan pada bahagian iOS, tetapi pastikan anda telah mengikut arahan yang diberikan oleh dokumentasi GCM untuk melaksanakan perkhidmatan GCM dengan betul.

Petua Tambahan

  • Gunakan perkhidmatan ujian pemberitahuan tolak untuk mengesahkan bahawa mesej anda telah dibentuk dan dihantar dengan betul.
  • Semak sama ada peranti iOS anda telah memberikan kebenaran untuk menerima pemberitahuan tolak.
  • Jika anda menghadapi sebarang isu lain, rujuk dokumentasi GCM atau dapatkan bantuan dalam forum komuniti GCM.

Atas ialah kandungan terperinci Mengapa Pemberitahuan GCM Tidak Diterima dalam Mod Latar Belakang iOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!