monacaでiOSアプリとandroidアプリを同時開発しており、FCMを利用したPUSH通知を実装しようとしています。
以下のページを参考にFirebaseプラグインの設定を行い、androidの方はFCMで送ったPUSH通知が受信できることを確認できたのですが、
iOSの方は通知が受信できないという状態です。(トークンを指定しての個別送信も、アプリを指定しての送信どちらも受信できません)
Firebaseプラグイン設定の参考にしたページ:https://docs.monaca.io/ja/tutorials/firebase/
他に行ったこととしては、
firebase側のクラウドメッセージングのiOS設定で、APNs証明書ではなくAPNs認証キーを使用しています。
APNs認証キーの設定の参考にしたページ:https://qiita.com/KenNagami/items/c5818e1821e0063f6825
また実装はお試し段階のコードですが以下のようにしています。
javascript
1document.addEventListener("deviceready", onDeviceReady, false); 2function onDeviceReady() { 3 window.FirebasePlugin.getToken(function(token) { 4 alert(token); 5 window.FirebasePlugin.grantPermission(function(){ 6 alert("Permission is granted for iOS"); 7 }, function(error){ 8 alert(error); 9 }); 10 }) 11 .catch(function(error) { 12 alert("Error writing document: ", error); 13 }); 14 }, function(error) { 15 alert("get token error :" + error) 16 }); 17} 18
証明書周りも何度か削除して最初から作り直して、ということを試してみましたが、効果はありませんでした。
原因についてお気づきの点や、他に確認すべき点がございましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。
=====================================
追記:
以下のコードを追加して動作確認したところ、メッセージは受信しているようでしたが、
androidは「Message type:notification」と表示されたのに対し、iOSでは「Message type:data」と表示されたので、
この違いのような気がしています。
firebaseコンソールから「テストメッセージを送信」で同じように送っているのに違いが出るのが解せませんが……。
javascript
1 window.FirebasePlugin.onMessageReceived(function(message) { 2 alert("Message type: " + message.messageType); 3 if(message.messageType === "notification"){ 4 alert("Notification message received"); 5 } 6 alert(message); 7 }, function(error) { 8 alert(error); 9 });
回答2件
あなたの回答
tips
プレビュー