我正致力于实现推送通知,出现在更改到Firebase的文件。我使用的是反应原生Firebase模块。我的google云功能会侦听到对火力还原的更改,然后通过Firebase-admin发送消息。
谷歌的参考表明,你可以指定一个单一的设备来发送消息:
// This registration token comes from the client FCM SDKs.
var registrationToken = 'YOUR_REGISTRATION_TOKEN';
var message = {
data: {
score: '850',
time: '2:45'
},
token: registrationToken
};
// Send a message to the device corresponding to the provided
// registration token.
admin.messaging().send(message)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:', response);
})
.catch((error) => {
console.log('Error sending message:', error);
});
客户端在我的反应本地应用程序中,我使用反应本地Firebase
获得令牌:
function getToken() {
let fcmToken = await AsyncStorage.getItem("fcmToken");
if (!fcmToken) {
fcmToken = await firebase.messaging().getToken();
if (fcmToken) {
await AsyncStorage.setItem("fcmToken", fcmToken);
}
}
}
我是否必须将google cloud消息传递令牌存储在异步存储以外的其他位置,或者是否有办法在我的google cloud功能中按原样访问它?似乎我应该将auth令牌存储在firestore中,并使用云函数访问firestore。这是最好的方法吗?
您不需要Asyncstore
来访问令牌,它可以从代码中的fcmToken=waitfirebase.messaging(). getToken();
中获得。
从那里,您可以将其发送到回调云函数,如下所示:
var sendMessage = firebase.functions().httpsCallable('sendMessage');
addMessage({ token: fcmToken }).then(function(result) {
// ...
});
这是基于此处文档中的示例。然后,您可以在云函数代码中使用该值,通过AdminSDK调用FCMAPI来发送消息。
或者将其存储在数据库中,如Cloud Firestore中的类似内容:
db.collection("tokens").add(docData).then(function() {
console.log("Token successfully written to database!");
});
这是基于文档中的示例。然后,您可以从云函数中的数据库中读取该值,并通过AdminSDK调用FCMAPI再次使用该值发送消息。
我有一个PHP页面,我用它向我开发的移动应用程序的用户发送通知,这个页面在上个月之前工作正常,然后它给了我这个错误 {“多播id”:5174063503598899354,“成功”:0,“失败”:1,“规范id”:0,“结果”:[{“错误”:“无效注册”}]} 我试图使用此链接中的留档生成OAUTH令牌https://firebase.google.com/docs/cloud-messaging
FCM服务未向我的iOS应用程序发送消息。 > App CAN成功接收APNs令牌和实例ID令牌 App CAN使用推送通知实用程序利用. p8令牌在后台成功接收来自APN的推送 #2中使用的相同APNs密钥上传到Firebase控制台 应用程序无法接收Firebase控制台中Notification Composer发送的消息,也无法使用CURL请求接收消息。 应用程序在通过FCM发送时不显示任
我必须在SpringJava中为多层架构制作一个RESTAPI,其中需要为Firebase云消息传递(FCM)构建DAO、控制器和服务管理器,以向android应用程序发送推送通知消息,但我无法在Java中配置服务器以向设备发送通知。我怎么能?
firebase确实提供了客户端sdk和服务器端管理sdk来使用firebase云消息传递。 让我困惑的是: 我们在公共javascript文件或脚本标记中包含客户端初始化代码。是否有人无法查看此初始化凭据并直接向连接到我们的应用程序的设备发送post请求?如果用户不断发送垃圾邮件或恶意通知,该怎么办?整个FCM功能不应该只由AdminSDK提供吗? 我正在为一个项目的nodejs应用程序使用fi
我有客户端-服务器应用程序,我开发了Xamarin移动客户端,我使用FCM进行推送通知,当我登录时,我将令牌发送到服务器,在那里我将其绑定到数据库中的帐户,但当我注销移动应用程序时我该怎么办,服务器可能没有意识到这一点,并将继续发送通知,我必须更新客户端中的令牌,但这没有实现,也不正确,我能做什么? 这里描述了一个类似的问题。Firebase云消息刷新令牌
在我们的应用程序中,我们使用Firebase云消息向用户发送推送通知。我们将用户的注册令牌保存在SQL数据库中,当用户登录或注销时,我们使用Firebase API管理其主题订阅。 这在大多数情况下都很有效,但现在主题订阅会为我们的一些注册令牌返回以下错误: 未注册提供的注册令牌。由于各种原因,可以注销以前有效的注册令牌。有关更多详细信息,请参阅错误文档。删除此注册令牌并停止使用它发送消息 在哪些