使用firebase插件获得带有通知的iPhone和Android应用。这一切都在Android上工作正常,但我没有在ios上收到任何通知。我确保在xcode上勾选“推送通知”,但这并不能解决问题。这可能是什么原因?在我的离子根文件夹中,我有GoogleService-Info.plist,但它不会自动复制到ios文件夹。相反,我手动做。我不知道这可能是问题的原因吗?
提前致谢。
编辑: 我找到了解决方案。对于iOs,您需要手动请求许可。我认为这是默认行为。谢谢你的帮助!
if(platform.is('ios')) {
window['FirebasePlugin'].grantPermission();
}
答案 0 :(得分:0)
检查消息有效负载:
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 + "}}";
}