2016-08-03 141 views
0

這是我第一次使用FCM.I使用Android設備。接收FCM通知退出應用程序時

當我退出沒有在後臺運行的應用程序時,我發送了一些通知給我的設備。當我重新打開我的應用程序時,我無法獲得我以前發送的任何通知。

那麼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"] 
} 
+1

請提供艙單的實施/代碼和FCM集成 – gaara87

+0

我已經編輯again.Thanks提示符@ gaara87 – wyx

+0

我想只。數據消息在後臺時可以由.MyFirebaseMessagingService接收。否則,通知將顯示在通知欄中。如果您希望應用始終處理通知,請嘗試刪除推送消息的「通知」部分。 – jonDoe

回答

0

當你的應用程序被關閉FCM將不會收到消息/停止。爲了讓您的服務啓動並處理消息,您的應用程序必須處於運行狀態或在後臺運行。

+0

*當您的應用程序關閉/停止時,FCM不會收到消息*我不認爲這是真的。你有來源來備份你的聲明嗎? –

+0

從Android 3.1開始,停止的應用程序不應該通過廣播喚醒。請參閱「在停止的應用程序上啓動控件」部分:https://developer.android.com/about/versions/android-3.1.html –

+0

當您的應用程序關閉/停止時,FCM將不會收到消息。我不認爲是真的。當應用程序的服務被關閉時,不會收到FCM。 – tenki

1

通過Firebase控制檯發送的郵件僅在應用處於前景時纔可見。

要在應用程序處於後臺時處理消息,必須發送數據消息

請參考以下鏈接:https://stackoverflow.com/a/37845174/3152278

enter image description here

+0

我想問的是,當應用程序不在前臺或後臺時,好嗎?當我完全關閉我的應用程序後,我可以在重新打開應用程序後收到通知嗎? – wyx

+0

謝謝@Abhishek它幫助! – Aashish

相關問題