接收訊息

要接收訊息,請使用擴充套件 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 通知:系統托盤
資料:意圖的額外內容。