我正在为Android中的应用程序开发推送通知服务我来到一些教程来实现我的目标。我找到了两件我无法弄清楚的事情。我需要一些帮助。
<permission
android:name="*application ID*.permission.C2D_MESSAGE"
现在我想了解这两件事。 Dev_key和应用程序id。其次是PushNotifications.init();需要调用吗?如果我在没有dev_key param的情况下调用它会怎么样?
答案 0 :(得分:2)
我猜你正在关注distriqt网站上关于使用distriqt跨平台推送通知扩展的教程吗?
如果是这样,那么 DEV_KEY 实际上是您注册distriqt扩展程序包时获得的开发人员密钥。如果您希望使用distriqt扩展,则必须使用有效密钥调用此函数。如果您在没有DEV_KEY参数的情况下调用它,则扩展将无法按照记录的方式工作。
您的应用程序描述符文件中使用了包含应用程序ID 的第二行。您需要在android上的清单添加中添加以下内容,将所有YOUR_APPLICATION_ID引用替换为您的应用程序ID。通常采用以下形式:com.company.name。显示 air 前缀,因为这些是Android平台上的应用程序完整ID。
<android>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- Only this application can receive the messages and registration result -->
<permission android:name="air.YOUR_APPLICATION_ID.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="air.YOUR_APPLICATION_ID.permission.C2D_MESSAGE" />
<application>
<receiver android:enabled="true" android:exported="true" android:name="com.distriqt.extension.pushnotifications.PushNotificationsBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="air.YOUR_APPLICATION_ID" />
</intent-filter>
</receiver>
<service android:enabled="true" android:exported="true" android:name="com.distriqt.extension.pushnotifications.gcm.GCMIntentService" />
</application>
</manifest>
]]></manifestAdditions>
</android>