簡體   English   中英

在iOS中無法接收通知[Firebase]

[英]Cannot receive notification in iOS [Firebase]

我正在使用Firebase Cloud Messaging,並為我的通知創建cron,而不是使用Firebase控制台。 我想知道我是否可以使用與Android相同的json。 目前,我的android設備收到我發送的通知,但在iOS中則沒有。 我想知道是否是因為我在notification對象(例如icon )中使用的某些參數僅適用於android平台,會影響結果嗎?

我的帖子請求看起來像這樣

{
    "registration_ids" : $ids,
    "notification" : {
      "body" : "great match!",
      "title" : "Portugal vs. Denmark"
      "icon" : "myicon"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
} 

UPDATE

正如建議的那樣,我為iOS和Android創建了兩個不同的cron,在iOS中,我只是刪除了json中的icon參數。 但是我仍然沒有收到任何通知。

同樣在“ Capabilities Tab -> Push Notifications ,我也在Background Modes-> Remote notificationsON

要使Firebase推送在iOS上運行,您必須將priority設置為high 參考: 無法使用服務器API發送推送通知

您可以為android和ios使用相同的json。 Firebase Cloud Messaging將為每個平台使用相關參數

例:

  • icon將從針對iOS的郵件中刪除,因為該平台不支持更改圖標。

  • sound應該是帶有擴展名的文件名(iOS要求擴展名)。 當定位到android設備時,Firebase會刪除擴展名。

關於未傳遞到iOS的消息,請嘗試增加priority參數。
https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json

當ios應用程序處於后台時,Firebase使用APN傳遞消息,而APN通常會延遲優先級不高的消息。

如果這不起作用,請檢查您的APNs證書配置。

在我的json中,我添加了aps對象

'aps' => array(
                'alert' => $messageText,
                'badge' => $badge,
                'sound' => 'default',
                'id' => $id
            ),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM