現在、Android および iOS 用の Phonegap 3.0 アプリケーションを開発しています。私はPushPluginを追加しました.2つのことを除いて、Androidではほとんどすべてが正常に動作します:
1. プッシュ通知を受け取り、アプリが現在フォアグラウンドにない場合、メッセージが通知バーに表示されます。通知をクリックするとすぐにアプリが起動し、通知メッセージが 2 回表示されます。表示されているメッセージは、「onNotificationGCM」メッセージ イベントに追加した通知データを含む単純な JavaScript アラートです。
このイベントは、通知が通知バーに追加されたときに最初に発生し、通知をクリックしてアプリが起動したときに2回目に発生します。したがって、メッセージのアラート機能が 2 回呼び出され、2 つのアラートが表示されます。
ここに私のコードからの短いスニペットがあります:
onNotificationGCM: function (e) {
switch( e.event )
{
case 'registered':
if ( e.regid.length > 0 )
{
console.log('Regid ' + e.regid);
}
break;
case 'message':
// this is the actual push notification. its format depends on the data model from the push server
console.log('Entered message');
alert('message = '+e.message);
break;
}
}
私の質問は、どうすればこの状況を防ぐことができ、アプリを開いたときに通知が 1 回しか表示されないのでしょうか?
2. 私もこの問題を抱えています。これは既に github リポジトリの問題として投稿されています:問題
アプリを終了すると (設定の [アプリケーションの管理] メニューではなく)、プッシュ通知を受信できません。起動時にアプリを起動しようとしましたが、うまくいきませんでした。しかし、アプリを起動すると、すべての通知が表示されます。
多分誰かがすでに少しの回避策を知っています。
また、PushPlugin が非推奨の GCM メソッドを使用していることにも気付きました。アプリが実行されていなくても通知が表示されないのはなぜですか?