Monaca+Ionicでアプリ開発をしています。
プッシュ通知の実装にcordova-plugin-firebaseを使用しています。
cordova-plugin-firebaseのバージョンは0.1.22を使用していました。
この度Cordovaのバージョンを7.1にあげたところ
firebaseのトークンが取得できない現象が発生しました。
window.FirebasePlugin.getTokenの返り値がnullになってしまいます。
cordova-plugin-firebaseのバージョンが悪いのかと思い、0.1.25にあげたところ、
初回起動時にはwindow.FirebasePlugin.getTokenでnullが帰ってき、
2回目以降の起動時には
window.FirebasePlugin.getTokenの返り値が帰ってこず、フリーズしてしまいます。
(画面の操作もできなくなってしまいます)
最新の2.0.2でもダメでした。
cordova-plugin-firebaseを使用してcordova6.0までは正常に動作していました。
プラグインのバージョン不足、他プラグインとの競合等の可能性なのでしょうか。
「GoogleService-Info.plist」はプロジェクトルート直下に置いてあります。
cordova7.1+cordova-plugin-firebaseの組み合わせで開発していらっしゃる方がいましたら
cordova-plugin-firebaseでの使用バージョンや対処法をご存知でしたらご教示ください。
この現象はiOSでのみ起きています。
Androidは問題なくトークンを取得できています。
他のfirebaseプラグインを使用するのは避けたいです。。。
index.html
1function onDeviceReady() { 2 console.log('onDeviceready'); 3 //プッシュ通知を受け取る権限を付与 4 window.FirebasePlugin.grantPermission(); 5 //プッシュ通知を受け取るための許可を確認 6 window.FirebasePlugin.hasPermission(function(data){ 7 console.log('hasPermission : '+data.isEnabled); 8 }); 9 //ローカルストレージに保存されているトークンを取得 10 var _token = localStorage.getItem("FCMtoken"); 11 console.log(_token); //<-コンソールのログはココで途絶える 12 if(_token == null){ 13 //デバイストークン(ID)を取得 14 window.FirebasePlugin.getToken(function(token) { 15 console.log('token success: '+token); //<-初回起動時のみしかココのログが出ない 16 localStorage.setItem("FCMtoken",token); 17 }, function(error) { 18 console.log('token error: '+error); //<-エラーのログも出ない 19 }); 20 } 21 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。