使用 firebase 插件获得了带有通知功能的 iPhone 和 Android 应用。在安卓上一切正常,但我在 ios 上没有收到任何通知。我确保在 xcode 上勾选了“推送通知”,但这并不能解决问题。这可能是什么原因造成的?在我的 ionic 根文件夹中,我有 GoogleService-Info.plist,但它不会自动复制到 ios 文件夹。相反,我手动执行此操作。不知道是不是这个问题的原因?
提前致谢。
编辑:
我找到了解决方案。对于 iO,您需要手动请求许可。我认为这是默认行为。感谢您的帮助!
if(platform.is('ios')) {
window['FirebasePlugin'].grantPermission();
}
Best Answer-推荐答案 strong>
检查消息负载:
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 + "}}";
}
关于ios - Firebase 通知适用于 android,而不是 ios (ionic 3),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45856120/
|