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();
}
ありがとうございます。 – Isuru