接收訊息
要接收訊息,請使用擴充套件 FirebaseMessagingService
的服務並覆蓋 onMessageReceived
方法。
public class MyFcmListenerService extends FirebaseMessagingService {
/**
* Called when message is received.
*
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging.
*/
@Override
public void onMessageReceived(RemoteMessage message) {
String from = message.getFrom();
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
Map<String, String> data = message.getData();
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
//.....
}
當應用程式處於後臺時,Android 會將通知訊息定向到系統托盤。使用者點按通知會預設開啟應用啟動器。
這包括包含通知和資料有效負載的訊息(以及從 Notifications 控制檯傳送的所有訊息)。在這些情況下,通知將傳遞到裝置的系統托盤,並且資料有效負載將在啟動器活動的附加內容中傳遞。
這裡簡短回顧一下:
應用狀態 | 通知 | 資料 | 都 |
---|---|---|---|
foreground | onMessageReceived |
onMessageReceived |
onMessageReceived |
background | 系統托盤 | onMessageReceived |
通知:系統托盤 |
資料:意圖的額外內容。 |