2

私はphonegap(Android用)を使用してJavaScriptベースのアプリケーションにpushwooshを実装しようとしています。

私は彼らのチュートリアルと例を確認しました。また、通知を受け取るためにデバイスをGCMサーバーに登録することもできます。しかし、どういうわけか、デバイスの登録時にコールバックを取得していません。

コードはここにあります:

function initPushwoosh()
{
var pushNotification = window.plugins.pushNotification;
pushNotification.onDeviceReady();

//projectid: "581719621125", appid : " EB8C9-89549"
pushNotification.registerDevice({
    projectid: CONFIG.projectID, 
    appid : CONFIG.appId
},
function(token) {
    console.warn('Push token onPushwooshInitialized : ' + pushToken);
    onPushwooshInitialized(token);
},
function(status) {
    console.warn(JSON.stringify(['failed to register ', status]));
});

document.addEventListener('push-notification', function(event) {
    var title = event.notification.title;
    var userData = event.notification.userdata;

    if(typeof(userData) != "undefined") {
        console.warn('user data: ' + JSON.stringify(userData));
    }

    navigator.notification.alert(title);

    pushNotification.stopGeoPushes();
});

}

ご覧のとおり、registerDeviceが取る最初の関数は成功コールバック用で、もう1つは失敗/エラー用です。

eclipse Log Cat(コンソール)に表示されるのは、次のようなものです。

03-19 10:23:35.339:V / GCMRegistrar(548):サーバーに登録されています:true
03-19 10:23:35.369:W / dalvikvm(548):例外Ljava / lang / RuntimeException; Landroid / os/AsyncTask;の間にスローされます。
03-19 10:23:35.399:W / PushWoosh DeviceFeature2_5(548):AppOpenを送信してみてください
03-19 10:23:36.669:I / global(548):BufferedInputStreamコンストラクターで使用されるデフォルトのバッファーサイズ。8kバッファが必要な場合は、明示的にする方がよいでしょう。
03-19 10:23:36.669:W / PushWoosh:NetworkUtils(548):PushWooshResult:{"status_code":200、 "status_message": "OK"、 "response":null}
03-19 10:23:36.679:W / PushWoosh DeviceFeature2_5(548):AppOpenの成功を送信
03-19 10:23:36.749:I / dalvikvm(548):以前に失敗したクラスLcom / arelomobile / android / push / utils/WorkerTaskでの再初期化を拒否します。v = 0x0
03-19 10:23:36.749:W / DeviceRegistrar(548):プッシュの登録を試みます
03-19 10:23:37.569:I / global(548):BufferedInputStreamコンストラクターで使用されるデフォルトのバッファーサイズ。8kバッファが必要な場合は、明示的にする方がよいでしょう。
03-19 10:23:37.580:W / PushWoosh:NetworkUtils(548):PushWooshResult:{"status_code":200、 "status_message": "OK"、 "response":null}
03-19 10:23:37.590:V / GCMRegistrar(548):サーバーステータスに登録されている設定をtrueとして設定
03-19 10:23:38.039:W / PushEventsTransmitter(548):android.permission.BROADCAST_STICKYはありません。単純な放送に戻る
3月19日10:23:38.120:W / DeviceRegistrar(548):プッシュするための登録:APA91bFK0pv-d1gorQOs2lY_CJMYlNCkoLPWlHsO7oZyLa4gLzQqHnKGKW0mUyiW-llXpoWGpPpLPJAm1vY-Bxi_jnG462NIg2r7gvszqJBQt3wY69WsKnhq-_dgsqXRJ_m_KhoP4uS-2k7FM68LEs3cnCLZqjXHiA

ご覧のとおり、最後の行は、デバイスが正常に登録され、サーバーから取得されたトークン/登録IDがあることを示していますが、コールバック関数を呼び出さないため、処理できません。Uはグーグルで解決策を見つけられませんでした。私の側から見ると、このコードに論理的な問題があるかどうかはわかりません。便利なリンクとサポートをいただければ幸いです。

4

1 に答える 1

0

https://github.com/shaders/phonegap-cordova-push-notifications/tree/master/Android/libから新しいPushwoosh.jarを入手して ください。

またはここ: https ://github.com/shaders/push-notifications-sdk/tree/master/SDK/Android

(それらは同じです)

表示される動作は、次の行によるものです:03-19 10:23:38.039:W / PushEventsTransmitter(548):android.permission.BROADCAST_STICKYはありません。単純な放送に戻る

アプリに登録を送信する方法は2つあり、この方法(ブロードキャスト)はPhonegapPushwooshプラグインではまだサポートされていません。どういうわけか、この変更はなんとか抜け出しました...

新しいPushwoosh.jarに更新すると役立つはずです。どうだったのか教えてください。

于 2013-03-27T15:36:48.250 に答える