我想将Push消息添加到我的Phonegap Android应用程序,并相信C2DM是实现这项工作的最佳方式 – 可以指出我正确的方向来设置它吗?
是否有插件或教程来帮助解决这个问题?
另外 – 我真的需要一个插件 – 是否有可能以传统的Android方式将C2dm添加到我的应用程序而不会弄乱我的手机设置?
解决方法:
是的,C2DM是Android Push解决方案.在https://github.com/awysocki/C2DM-PhoneGap,您可以找到一个示例实现.
com.google命名空间中的文件必须保持不变,它们来自会话“Google IO会话概述:Android App Engine:开发人员的梦想组合”,请参阅http://bradabrams.com/2011/05/google-io-session-overview-android-app-engine-a-developers-dream-combination/
所以这些是您应该执行的步骤:
>将3个com.google类添加到项目中
>创建一个名为C2DMReceiver(命名约定)的类,它继承自C2DMBaseReceiver并实现必要的抽象事件
>设置AndroidManifest.xml
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中的所有问题.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。