8

Cordova/Phonegap アプリでCordova Push Notifications Plugin 1.3.4を使用しています。残念ながら、プッシュ通知を受信すると、JavaScript の ecb コールバックが起動されず、プッシュ通知を処理できません (アプリがフォアグラウンドで実行されている場合でも)。

デモのサンプル コードを使用しています。

pushNotification.register(tokenHandler, errorHandler, {"badge": "true", "sound": "true", "alert": "true", "ecb": "onNotificationAPN"});

登録は成功しますが、次のコールバックはトリガーされません。

function onNotificationAPN (event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    }
 }
4

3 に答える 3

9

問題は、コールバック関数の定義方法にあり、Push プラグインによるコールバックの評価 (つまり、 経由[webView stringByEvaluatingJavaScriptFromString) が認識されないため、失敗します。

代わりにコールバック関数をグローバル オブジェクトとして定義すると、プラグインは新しい通知が到着するたびにコールバックを正しくトリガーします。

onNotificationAPN = function(event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    };
};

onNotificationGCMAndroid の場合、コールバックを同じ方法で定義します。

于 2014-04-03T23:19:34.440 に答える