我想將推送消息添加到我的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