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));
    }
  }
);

これで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();

コメント

タイトルとURLをコピーしました