这是我第一次使用FCM.I使用Android设备。
当我退出不在后台运行的应用程序时,我会向我的设备发送一些通知。当我重新打开我的应用程序时,我无法收到我之前发送的任何通知。
FCM是正常的吗?如果它正常,我怎么知道我的消息真实到达设备?如果不正常,我该怎么办?
我使用从官方github下载的FCM示例。当应用处于活动状态或在后台运行时,我可以成功获得通知。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.firebase.quickstart.fcm">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="com.google.firebase.quickstart.fcm.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- [START firebase_service] -->
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<!-- [END firebase_service] -->
<!-- [START firebase_iid_service] -->
<service android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<!-- [END firebase_iid_service] -->
<service android:name=".RegistrationIntentService" />
</application>
</manifest>
这是我发送的内容
{
"notification" : {
"body" : "fsdf19",
"title" : "fsdfsd"
},
"data":{
"body":"adfadffdasdfafasdfasf",
"title":"asdfadfaf"
}
"priority":"high",
"registration_ids" : ["dVWKLIPn7J4:APA91bFv1U5IG8-YOrjNsWIDJsj4sCACGOi-f6FRv4ebr-fhQIT1wL6yzyVoK3rMIAfXAYpj2qkumvqf1pqwtIcv18MDdFtt_RCge-t0acN15htbEd_EAHmU41lGHaVAbq_g_58sDewy"]
}
答案 0 :(得分:1)
仅当应用处于前景时,才能看到通过Firebase控制台发送的消息。
要在应用处于后台时处理消息,您必须发送数据消息。
答案 1 :(得分:0)
当您的应用关闭/停止时,FCM不会收到消息。为了启动您的服务并处理消息,您的应用必须正在运行或在后台运行。