我正在尝试为Android设备实施库,这将在您的应用中处理推送通知。
我有一个服务器负责存储AppToken和DeviceToken(我可以生成令牌并将其发送到我的服务器)。问题是当我尝试测试它时(向GCM发送请求https://gcm-http.googleapis.com/gcm/send该应用程序我的库似乎没有收到它)
请求:
Content-Type: application/json
Authorization: key=AIza...N04 (correct value generated for library)
{
"data": {
"message": "test",
"title": "testTitle"
},
"to" : "ewud...UySu" (token send by device)
}
我正在关注GCM教程https://developers.google.com/cloud-messaging/android/client所以我生成google-services.json(用于库包)并设置他们所说的一切(记住库),但我正在努力清单(我认为是问题)。
这是清单:
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:name="cz.united121.notifit.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="cz.united121.notifit.permission.C2D_MESSAGE" />
...
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="cz.united121.notifit" />
</intent-filter>
</receiver>
<service
android:name="cz.united121.notifit.GCM.GcmListenerService"
android:exported="true" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="cz.united121.notifit" />
</intent-filter>
</service>
<service
android:name="cz.united121.notifit.GCM.InstanceIDListenerService"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
<category android:name="cz.united121.notifit" />
</intent-filter>
</service>
<service
android:name="cz.united121.notifit.GCM.RegistrationIntentService"
android:exported="true">
</service>
我在应用程序清单中有这个代码,但它甚至在lib清单中没有任何效果。
我宁愿在 github 上传整个项目,以便更好地理解https://github.com/petrLorenc/PushNotificationProject
提前谢谢