【发布时间】:2021-01-23 20:27:13
【问题描述】:
我正在通过我的 Android 应用程序上的 firebase 发送通知,一切正常,但我想使用每个收到的通知中的值并将它们发布到 API(基本上存储每个通知)。我可以将我的 POST 请求放在哪里,以便它自动完成这项工作?
通知可以很好地到达安装了应用程序的手机。我不能做的是获得他们的价值。在上面显示的代码中,我在 OnMessageReceived 方法上有 2 个日志,它们都没有打印任何内容,这意味着该方法可能甚至没有被调用(我认为)。如何获取通知数据?
这里是MyFirevaseMessagingService.java(基本上什么都没有,你会看到):
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMsgService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
if (/* Check if data needs to be processed by long running job */ true) {
// For long-running tasks (10 seconds or more) use WorkManager.
/*scheduleJob();*/
} else {
// Handle message within 10 seconds
handleNow();
}
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
}
@Override
public void onNewToken(String token) {
Log.d(TAG, "Refreshed token: " + token);
sendRegistrationToServer(token);
}
}
提前致谢!
【问题讨论】:
-
您帖子中的一个问题的答案如下,但我不确定这是您要找的。如果不是,请编辑您的问题,以更具体地说明您在共享代码时遇到了什么问题,或者在添加 POST 调用后遇到了什么问题。
标签: java android firebase firebase-cloud-messaging