【问题标题】:Firebase notifcations works on android, not ios (ionic 3)Firebase 通知适用于 android,而不是 ios (ionic 3)
【发布时间】:2018-02-02 00:17:00
【问题描述】:

使用 firebase 插件获得了带有通知功能的 iPhone 和 Android 应用。在安卓上一切正常,但我在 ios 上没有收到任何通知。我确保在 xcode 上勾选了“推送通知”,但这并不能解决问题。这可能是什么原因造成的?在我的 ionic 根文件夹中,我有 GoogleService-Info.plist,但它不会自动复制到 ios 文件夹。相反,我手动执行此操作。不知道是不是这个问题的原因?

提前致谢。

编辑: 我找到了解决方案。对于 iO,您需要手动请求许可。我认为这是默认行为。感谢您的帮助!

if(platform.is('ios')) {
    window['FirebasePlugin'].grantPermission();
}

【问题讨论】:

  • 您是在尝试从 Firebase 控制台还是其他地方发送通知?
  • 不,我通过服务器发布到 firebase。不幸的是,它已经在生产中了。我只有一部安卓手机,所以我不知道。
  • 那你将如何检查呢?当您从您的帐户下载证书时,您是否将推送通知添加到证书中?
  • 你在firebase的ios应用中添加了APNs Authentication Key吗?

标签: ios firebase ionic-framework ionic3 firebase-notifications


【解决方案1】:

检查消息负载:

let params: NSMutableDictionary? = ["registration_ids":"ReceiverFcmToken",
                                            "notification" :[
                                                "title": "",
                                                "body": ""] ,
                                            "priority": "high",
                                            "data" :[ "message":[
                                                "KEY":"",
                                                "NOTIType":"","NOTYMessg":"",
                                                "SRCName":accName,
                                                "SRCPhNum":accPhone]],
                                            "content-available" : "1",
                                            "sound": "default"]

如果您使用任何 API 发送到服务器,则必须分别为 ios 和 Android 提供服务器端代码,如下所示:

if (Android)
               {
                   string tickerText = "Order Message From Kirana Kart";
                   string contentTitle = "Order Details";                       
                   postData = "{ \"registration_ids\": [ \"" + deviceID + "\" ], " +
                                 "\"data\": {\"message\":" + json + "}}";
               }
               else if (IOS)
               {
                   postData =
                   "{ \"registration_ids\": [ \"" + deviceID + "\" ], " +
                      "\"priority\": \"high\"," +
                      "\"notification\":{ \"title\" : \"AppName\",\"body\" : \"You have received new order\",\"noteID\":\"10\",\"content-available\":\"1\"}," +
                    "\"data\":{\"message\":" + json + "}}";
               }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多