3

Firebaseを使用してAndroidアプリにデータを送信しようとしています。私はデータを送信し、アプリがバックグラウンドで実行されている場合は正常に保存できます。しかし、アプリが殺され、ユーザーがデータで通知を受け取ると、データは保存されません。Androidのfirebaseがデータを保存するためにユーザセグメントに通知を送信します

私はFirebaseMessagingService.onMessageReceivedメソッドを使用してデータをキャプチャし、SharedPreferenceファイルに保存しています。私はfirebaseクラウドメッセージングでも読んでいます。しかし、私はサーバーを持っていない、私はちょうどfirebaseコンソールを使用しています。

public void onMessageReceived(RemoteMessage remoteMessage) {    

    Log.d(TAG, "From: " + remoteMessage.getFrom()); 

    // Check if message contains a data payload. 
    if (remoteMessage.getData().size() > 0) { 
    Log.d(TAG, "Message data payload: " + remoteMessage.getData()); 
    } 

    // Check if message contains a notification payload. 
    if (remoteMessage.getNotification() != null) { 
    Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody()); 
    } 

    if (remoteMessage.getNotification() != null) { 
    Log.d(TAG, "Message Notification Body Verse: " + remoteMessage.getData().get("verse")); 
    } 

    //sendNotification(remoteMessage.getNotification().getBody());  

    SharedPreferences sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), 
            Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPref.edit(); 
    Log.d("FIREBASE NOTIF SERVICE", remoteMessage.getNotification().getTitle()); 
    Log.d("FIREBASE NOTIF SERVICE", remoteMessage.getData().get("verse")); 

    editor.putString(getString(R.string.preference_verse_title_key), remoteMessage.getNotification().getTitle()); 
    editor.putString(getString(R.string.preference_verse_content_key), remoteMessage.getData().get("verse")); 
    editor.commit(); 
} 

答えて

1

現在、Firebaseコンソールでは通知メッセージのみを送信できます。アプリがバックグラウンドにある場合、通知メッセージでFirebaseMessagingService.onMessageReceivedが呼び出されることはありません。

アプリケーションがフォアグラウンドとバックグラウンドの両方でFirebaseMessagingService.onMessageReceivedを呼び出されるようにするには、データメッセージを使用する必要があります。ただし、現時点でFirebaseコンソールからデータメッセージを送信することはできません。これを行うには独自のサーバが必要です。

詳細については、message typesに関するドキュメントを参照してください。

+0

ありがとうございます。 – Isuru

関連する問題