退出应用时,FCM会收到通知

时间:2016-08-03 03:04:33

标签: android firebase-cloud-messaging

这是我第一次使用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"]
}

2 个答案:

答案 0 :(得分:1)

仅当应用处于前景时,才能看到通过Firebase控制台发送的消息。

要在应用处于后台时处理消息,您必须发送数据消息

  

请参阅此链接:https://stackoverflow.com/a/37845174/3152278

enter image description here

答案 1 :(得分:0)

当您的应用关闭/停止时,FCM不会收到消息。为了启动您的服务并处理消息,您的应用必须正在运行或在后台运行。