如何通过Parse,Phonegap和phonegap-parse-plugin接收通知?

时间:2014-06-15 01:16:19

标签: android cordova push-notification parse-platform

我花了最近几天试图让通知工作,阅读所有类型的插件,我已经走到了尽头。我已经能够在Android和iOS上成功接收Parse测试应用的通知,但每当我尝试添加到自己的应用时,我都会在adb logcat

中看到错误

cordova版本:3.5.0-0.2.4

phonegap-parse-plugin

以下是我执行的步骤:

cordova create pushTest cordova platform add android cordova plugin add https://github.com/benjie/phonegap-parse-plugin

然后在www / js / index.js里面我改变onDeviceReady函数看起来像这样(用我的实际appID和clientKey代替)

onDeviceReady: function() { app.receivedEvent('deviceready'); parsePlugin.initialize(appId, clientKey, function() { parsePlugin.subscribe('', function() { alert('OK'); }, function(e) { alert('error'); }); }, function(e) { alert('error'); }); }

然后我在Parse中清除我的Installation类以确保app成功注册。我还确保我已安装到我的Android设备上的任何先前应用程序已被删除。然后...

cordova build adb install platforms/android/ant-build/HelloCordova-debug.apk

我收到一条警告弹出窗口,上面写着' OK'我在Parse的Installation类中有一条新记录。我确保应用程序没有在我的Android设备上的前台运行。然后我发送了Parse的推送通知,我在运行adb logcat时看不到任何内容 从我尝试的其他调试开始,我尝试将Parse SDK的版本从1.3.8替换为1.5.1,只需从platforms/android/libs目录中删除旧文件并将新文件放在那里。完成后,我会在adb logcat

中看到以下错误

( 2795): GCM message io.cordova.hellocordova 0:1402793727153630%0#39597f64f9fd7ecd W/GCM-DMM ( 2795): broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=io.cordova.hellocordova (has extras) }

这个错误是我一直坚持的错误,并且非常喜欢指导。

我的代码(减去我的appID和clientKey)位于:https://github.com/rpiwetz/notif7

2 个答案:

答案 0 :(得分:1)

您可能需要检查this插件,以便使用Android解析器发送和接收通知

答案 1 :(得分:0)

我遇到了非常类似的问题,init函数工作正常,但我没有收到通知。最后,我手动将一些代码添加到主Activity类中:

// register device for parse
Parse.initialize(this, "app_id", "client_key");
PushService.setDefaultPushCallback(this, MyApp.class);
ParseAnalytics.trackAppOpened(getIntent());
ParseInstallation.getCurrentInstallation().saveInBackground();

来自:https://stackoverflow.com/a/24426563/884842