PhoneGap GCM-|Cordova 插件

Posted

技术标签:

【中文标题】PhoneGap GCM-|Cordova 插件【英文标题】:PhoneGap GCM-|Cordova plugin 【发布时间】:2013-06-04 15:44:48 【问题描述】:

我使用以下插件:来自 git hub 的 marknutter/GCM-Cordova。

我在 Eclipse 上安装了这个插件并在安卓设备上运行它。 我设法为设备注册 GCM 消息 + 接收消息。

当设备接收到来自 Google Cloud 的消息时,它会调用此文件中的 onMessage 事件处理程序(第 55 行): https://github.com/marknutter/GCM-Cordova/blob/master/src/com/cordova2/gcm/GCMIntentService.java

事件处理程序到达第 77 行运行此命令: GCMPlugin.sendjavascript( json ); 此命令应该将接收到的数据发送到应用程序的 webView。 然而,静态类的 GCMPlugin 成员根本没有初始化,所以当调用 GCMPlugin.sendJavascript( json ) 时,GCMPlugin 成员的所有成员都为空。结果出现异常,无法将消息传递到 webView。

有人知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

当有官方支持的PhoneGap 插件用于推送通知时,我不会浪费任何时间尝试运行一些不起眼的插件:https://github.com/phonegap-build/PushPlugin。我已经在我的几个应用程序中使用了它,并且效果很好。每隔几个月就会更新一次。

【讨论】:

官方支持的PhoneGap插件?听起来很有希望......我会试试的。 这个插件是否支持在收到通知时调用js函数,即唤醒应用,用消息数据处理native code中的onMessage事件,然后从native code调用js函数? 你说的这个“不起眼的插件”是PushPlugin的android部分的基础。在抨击未知之前,请先告知自己。见github.com/phonegap-build/PushPlugin#acknowledgments 无意伤害/侮辱,我只是建议使用我有经验和知道工作的更广泛的插件(由 PG 支持)。 @Omeriko 你找到解决方案了吗。我正在使用 GCM 插件来完全按照您的描述:即使在应用程序未运行时也接收通知,但它与更高版本的 Cordova 不兼容。你试过phonegap插件吗?应用程序未运行时是否会收到通知?就在我开始重写我的应用程序的整个块之前【参考方案2】:

如果有人感兴趣,我正在开发这个插件以支持最新的 Cordova,并使用来自 Google 的最新 GCM,这将允许您向 Android 和 ios 设备发送推送通知:https://github.com/gonzaloaune/GCMPushPlugin

【讨论】:

我试过你的插件,但不幸的是它不起作用,你有任何工作示例代码吗?每次我遇到诸如“找不到 com.google.android.gms:play-services:8.0.1”之类的错误。注意:我使用“grunt-cordovacli”来构建我的 android 应用程序。我查看了 SDK,没有遗漏任何东西。如果您有工作的 phonegap 示例,这将有很大帮助。

以上是关于PhoneGap GCM-|Cordova 插件的主要内容,如果未能解决你的问题,请参考以下文章

phonegap gcm 插件和 pushwoosh 出错

Cordova/Phonegap:无法让 Facebook Phonegap 插件工作

如何添加插件新的cordova /phonegap?

桌面/移动标准网页中的phonegap / cordova社交共享插件

适用于 iOS 的 Phonegap/Cordova 日历插件无响应

无法安装 Cordova 插件条形码 Phonegap (mac)