gpt4 book ai didi

android - 当日志显示没有错误时,为什么我的推送通知没有出现在设备上?

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:29 30 4
gpt4 key购买 nike

我已经部署了以下 Firebase 函数,用于在我的 Cloud Firestore 聊天应用程序中实现推送通知。看完this tutorial后我第一次这样做.

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.sendNotificationToTopic = functions.firestore.document('chats/{roomid}/messages/{uid}').onWrite(async(event)=>{
let content = event.after.get('message')
var message ={
notification: {
title: 'You have an unread message',
body: content,
},
topic:'namelesscoder',
};
});

在测试该功能时,log显示该功能正常工作,没有任何错误,但我的设备实际上没有收到通知。这是因为我声明数据库结构的方式吗?上面代码中的路径就是我的聊天消息的存储位置。 enter image description here enter image description here

最佳答案

此函数将向主题(订阅主题的用户组)而不是特定用户发送推送通知。如果您想向一组用户发送通知,您可以使用此功能,并且您的用户必须订阅主题。在此函数中,主题是“namelesscoder”,因此您的用户需要订阅该主题。

如果您使用的是 Android,请编写以下代码来订阅主题“namelesscoder”

FirebaseMessaging.getInstance().subscribeToTopic("namelesscoder")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
String msg = "subscribed to topic nameless coder.";
if (!task.isSuccessful()) {
msg = "Failed to subscribe to topic";
}
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});

如果您想向特定用户发送通知,则必须将其发送到 FCM token 。

关于android - 当日志显示没有错误时,为什么我的推送通知没有出现在设备上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60134790/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com