私は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はグーグルで解決策を見つけられませんでした。私の側から見ると、このコードに論理的な問題があるかどうかはわかりません。便利なリンクとサポートをいただければ幸いです。