0

プッシュ通知に Phonegap Pushplugin を使用しています。両方の方法でログを追加しました。didRegisterForRemoteNotificationsWithDeviceTokenメソッドは実行されませんでした。でさえ失敗していませんdidFailToRegisterForRemoteNotificationsWithError。ここで何が問題なのかわかりません。

IOS 配布証明書 (APN ではない) をステロイド ビルド サービスにアップロードし、APN Prod プロファイルを AdHoc ビルドにアップロードしました。プッシュ通知のプロンプトが表示され、アプリで通知が有効になっていることがわかります。問題は、トークンを取得していないことです。

デバッグ手順については、次のリンクを参照してください

プラグインリンク

登録には次のコードを使用しています。

function registerDevice(){
    var pushNotification = window.plugins.pushNotification;
    pushNotification.register(
                              tokenHandler,
                              errorHandler, {
                                  "badge":"true",
                                  "sound":"true",
                                  "alert":"true",
                                  "ecb":"onNotificationAPN"
                              });
}

var onNotificationAPN = function(event) {
    var pushNotification = window.plugins.pushNotification;

    if ( event.alert )
    {
        navigator.notification.alert(event.alert);
    }

    if ( event.sound )
    {
        var snd = new Media(event.sound);
        snd.play();
    }

    if ( event.badge )
    {
        pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler,
                                                       event.badge);
    }
}

function tokenHandler (result) {
    steroids.logger.log("Tokenhandler called with result");
    steroids.logger.log(result);

    alert(result);

}

function errorHandler (error) {
    steroids.logger.log("errorHandler called with result");
    steroids.logger.log(error);
    alert('error = ' + error);
}

どんな助けでも大歓迎です。

更新 - 2014 年 7 月 30 日

PersistentConnectionLogging.mobilecondig をダウンロードしたところ、生成されたトークンを確認できました。このトークンを使用して、電話に通知を送信できました。

tokenHandler と onNotificationAPN はまだ起動されません。問題は明らかに Cordova 側または私の Javascript にあります。

このプラグインは Cordova 3.1/3.5 でも動作しますか? このプラグインにコミュニティ サポートがないのはイライラします。

何か案は。

4

1 に答える 1

0

プッシュ通知を実装する方法は次のとおりです。

  1. 証明書を処理します。チュートリアル
  2. 登録してトークンを取得します。チュートリアル
  3. NSUserDefaults を使用してトークンを保存します。
  4. カスタム プラグインを作成し、JS ブリッジを使用してカスタム プラグインを作成することにより、objective-c から JavaScript にトークンを渡します。チュートリアル
于 2014-10-02T12:38:01.723 に答える