Android+CordovaでPUSH通知を受け取る方法

Android+CordovaでPUSH通知を受け取る方法

Android+Cordovaでデバイストークンを取得する方法」の続きです。

index.jsに以下を追記します。

FCMPlugin.onNotification(
function(data){
if(data.wasTapped){
console.log(JSON.stringify(data));
alert( JSON.stringify(data.body));
alert( JSON.stringify(data.title));
}else{
console.log(JSON.stringify(data));
alert( JSON.stringify(data.body));
alert( JSON.stringify(data.title));
}
}
);

view raw
gistfile1.txt
hosted with ❤ by GitHub

これでFirebaseコンソールからFCMを実行してみます。

画面左側の「Cloud Messaging」を押します。

Android+CordovaでPUSH通知を受け取る方法

「Send your first message」を押します。

Android+CordovaでPUSH通知を受け取る方法

「テストメッセージを送信」を押します。

「FCM登録トークンを追加」欄にデバッグコンソールに出力されるデバイストークンを設定します。

Android+CordovaでPUSH通知を受け取る方法

「テスト」を押します。

Android+CordovaでPUSH通知を受け取る方法

Android+CordovaでPUSH通知を受け取る方法

表示されることが確認できます。スリープモードの状態でプッシュ通知のテストをすると以下の画面が表示されます。

Android+CordovaでPUSH通知を受け取る方法

index.jsの全ソースは以下です。

var app = {
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onDeviceReady: function() {
this.receivedEvent('deviceready');
},
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
console.log('test:' + cordova.platformId);
FCMPlugin.getToken(function(token){
console.log('success:' + token);
alert(token);
},
function(err){
console.log('Error:'+ err);
alert(err);
});
FCMPlugin.onNotification(
function(data){
if(data.wasTapped){
alert(JSON.stringify(data.body));
alert(JSON.stringify(data.title));
}else{
console.log(JSON.stringify(data));
alert(JSON.stringify(data.body));
alert(JSON.stringify(data.title));
}
}
);
}
};
app.initialize();

view raw
gistfile1.txt
hosted with ❤ by GitHub

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA