【问题标题】:Android firebase send a notification to a user segment to save dataAndroid firebase 向用户段发送通知以保存数据
【发布时间】:2016-07-23 13:02:22
【问题描述】:

我正在尝试使用 Firebase 将数据发送到 android 应用程序。如果应用程序在后台运行,我可以发送数据并成功保存。但是如果应用程序被杀死并且用户收到带有数据的通知,它将不会保存数据。

我正在使用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();
}

【问题讨论】:

    标签: android firebase firebase-cloud-messaging firebase-notifications


    【解决方案1】:

    Firebase 控制台目前仅允许您发送通知消息。如果应用在后台,通知消息不会导致调用 FirebaseMessagingService.onMessageReceived。

    如果您希望在应用程序处于前台和后台时都调用 FirebaseMessagingService.onMessageReceived,则必须使用数据消息。但是,您目前无法从 Firebase 控制台发送数据消息,您需要自己的服务器来执行此操作。

    有关更多信息,请参阅有关 message types 的文档。

    【讨论】:

    • 感谢您的澄清。
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 2018-11-10
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多