monacaを使ってiOS,Android向けのアプリを開発しています。
プッシュ通知を実装しようと思いmobile backendを利用しているのですが、なかなかうまくいきません。
AndroidのためのAPIキーの設定やiOSのための証明書などドキュメントにかかれてあることは一通り試し、ビルドしてみたのですが、やはりプッシュ通知がうまくいきません。
そこでいろいろ調べてみると、
アプリ起動→「通知を送信します」のアラート→OKをタップ→mobile backendのデータストアのInstallationにデータが追加される
とあるのですが、見てみるとinstallationには何も表示されていません。
何度試してみても表示されないのですが、どこに問題があるのでしょうか。
var ncmb = new NCMB("アプリケーションキー","クライアントキー");
などや
プッシュ通知ドキュメントにある以下のコードも適当に修正し実装されています。(getInstallationId関数をどのタイミングで実行すればよいのかはわかっていません)
javascript
1 document.addEventListener("deviceready", function() 2 { 3 // プッシュ通知受信時のコールバックを登録します 4 window.NCMB.monaca.setHandler 5 ( 6 function(jsonData){ 7 // 送信時に指定したJSONが引数として渡されます 8 alert("callback :::" + JSON.stringify(jsonData)); 9 } 10 ); 11 12 13 // デバイストークンを取得してinstallation登録が行われます 14 // ※ aplication_key,client_keyはニフティクラウドmobile backendから発行されたkeyに置き換えてください 15 // ※ sender_idは【GCMとの連携に必要な準備】で作成したProjectのProject Numberを入力してください 16 window.NCMB.monaca.setDeviceToken( 17 " #####application_key#####", 18 " #####client_key#####", 19 " #####sender_id#####" 20 ); 21 22 // 開封通知登録の設定 23 // trueを設定すると、開封通知を行う 24 window.NCMB.monaca.setReceiptStatus(true); 25 26 alert("DeviceToken is registed"); 27 },false); 28 29 function getInstallationId() { 30 // 登録されたinstallationのobjectIdを取得します。 31 window.NCMB.monaca.getInstallationId( 32 function(id) { 33 alert("installationID is: " + id); 34 } 35 ); 36 }
またアプリ上とmobile backendの連携がとれていることの証拠として、アプリ内のデータベースとしてmobile backendのデータストアを使用しているのですが、しっかり読み込むことができています。
あとはinstallationクラスさえ上手く行けばプッシュ通知の実装ができると思っているのですが、この原因を突き止めるにもとても時間がかかってしまって、また躓いてしまいました。
どなたかなにかわかる方がいらっしゃればご教示願えませんでしょうか
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/24 04:50
2017/08/24 04:58
退会済みユーザー
2017/09/04 15:34