我想将推送消息添加到我的Phonegap Android应用程序,并相信C2DM是使这项工作成功的最好方式 - 可以指出我设置这个方向的正确方向吗? 有没有插件或教程来帮助这个?C2DM/Phonegap插件?
另外 - 我真的需要一个插件 - 是否有可能添加C2dm到我的应用程序传统的Android方式,而不会搞乱我的phonegap设置?
我想将推送消息添加到我的Phonegap Android应用程序,并相信C2DM是使这项工作成功的最好方式 - 可以指出我设置这个方向的正确方向吗? 有没有插件或教程来帮助这个?C2DM/Phonegap插件?
另外 - 我真的需要一个插件 - 是否有可能添加C2dm到我的应用程序传统的Android方式,而不会搞乱我的phonegap设置?
是的,C2DM是Android Push解决方案。在https://github.com/awysocki/C2DM-PhoneGap你可以找到一个示例实现。
在com.google命名空间已被列入不变的文件,他们是从会话“谷歌IO会议概述:安卓+应用程序引擎:开发者的梦幻组合”,见http://bradabrams.com/2011/05/google-io-session-overview-android-app-engine-a-developers-dream-combination/
所以这些都是步骤,您应该执行:
C2DMReceiver
(命名约定)班从C2DMBaseReceiver
继承并实施必要的抽象事件的AndroidManifest看起来像
<!-- set up an own permission to secure our C2DM mesages -->
<permission android:name="your.namespace.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<!-- List of permission -->
<uses-permission android:name="your.namespace.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application ..>
<!-- Your implementation of the class C2DMReceiver, base class is Googles C2DMBaseReceiver -->
<service android:name=".C2DMReceiver" />
<!-- Googles broadcast receiver, it delegates to your.namespace.C2DMReceiver -->
<receiver
android:name="com.google.android.c2dm.C2DMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="your.namespace" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="your.namespace" />
</intent-filter>
</receiver>
</application>
如果您在模拟器上收到错误消息 “E/CSE通知(401):注册错误ACCOUNT_MISSING”,你有将Google帐户添加到您的模拟器。
对于第二个问题:这取决于你想要做什么。当你收到这条消息,你只是想显示一个通知,以便用户能够启动你的应用程序,那么你不需要一个Phonegap插件。在这种情况下,你可以用java解决所有问题。
如果你得到这个答案,注意C2DM已经过时了,现在你必须使用GCM。
此外,官方的PhoneGap插件支持Android和iPhone的通知。请查看https://github.com/phonegap-build/PushPlugin的PushPlugin