gpt4 book ai didi

android - FCM 云消息传递不再注册新主题

转载 作者:行者123 更新时间:2023-11-29 05:24:11 32 4
gpt4 key购买 nike

我有两个脚本 - 一个在我的 iOS/Android 应用程序中,一个在我的服务器上。两者都使用不同的库来订阅现有主题和新主题的用户 token 。最近,所有新主题都停止注册,我不明白为什么。

在应用程序和我的服务器中,当用户订阅主题时,我没有收到任何错误。

在应用程序中,我使用 cordova-plugin-firebasex - 特别是 window.FirebasePlugin.subscribe(topicID) ,在服务器上我使用 php-fcm图书馆。我将用户设备/ token 存储在我的服务器上,并从 mysql 数据库中提取这些类型的主题:

$client = new \Fcm\FcmClient($serverKey,$senderID) ;
$subscribe = new \Fcm\Topic\Subscribe($topicID);
$subscribe->addDevice($deviceID);
$response = $client->send($subscribe) ;
if (isset($response['results'][0]['error'])) {
$status = "Error: " .$response['results'][0]['error'] ;
$eveBC++ ;
} else {
$status = "Added! - " ;
$eveGC++ ;
}
echo "\n\t\tEvent Topic: " .$eventID. " - " .$status ;

看起来一切正常,因为我没有收到任何连接/身份验证错误。在服务器上,当从数据库中提取的设备/ token 不再存在或无效时,上述 php 代码将返回 FCM 错误: Error: NOT_FOUND ,它告诉我我与 google 的通信并尝试为主题注册用户正在工作。然而,24 小时(然后是一些小时)后,没有创建任何新主题。在服务器上,成功的订阅只会返回:

使用 var_dump($response):

array(1) {
["results"]=>
array(1) {
[0]=>
array(0) {
}
}
}

对我来说,这只是糟糕的谷歌编码,它应该返回一些东西,而不仅仅是一堆空结果......我的意思是,至少说“TRUE”,“SUCCESS”,“ADDED” - 或“NEW GROUP”检测到 - 创建主题并添加用户”。

不幸的是,我还没有找到 FirebaseX 插件向我显示订阅响应的方法。然而,上面的代码和应用程​​序代码似乎在大约两周前都可以工作,而且我记得,应用程序或服务器脚本没有任何真正的改变。

我想如果我的 serverKey/senderID 不正确,它会在连接到 FCM 时抛出错误(我确实在 FCM 项目云消息传递 设置中验证了两者。或者如果应用程序不正确连接到 Firebase 我会在日志中看到错误,但所有应用程序调试都会在应用程序初始化时显示已建立 FCM 通信,它会获取/刷新用户设备/ token ,并且如果自用户上次打开应用程序以来其发生更改,则使用新 token 更新服务器数据库。

最佳答案

我正在回答我自己的问题,以便将来遇到这种令人沮丧的 FCM 不一致问题的任何人都可以找到问题的答案。

我的代码从未被破坏过。由于 FCM 中无法查看现有主题或注册到某个主题的所有 deviceID,因此我使用了允许您发送通知的 FCM 项目Cloud Messaging 页面。在“发送通知”表单中,有一个选项可以将消息/通知发送到主题。当我滚动浏览列出的主题时,新创建的主题都没有显示 - 即使在等待 72 多个小时后也是如此。因此我一直认为我的新主题没有被创建。

该表格具有误导性...它列出了我的一堆旧主题,但没有一个是我在过去 3 周内创建的新主题(新主题命名格式)。因此,您不能依赖此表单来显示您创建的所有 topicID。

关于android - FCM 云消息传递不再注册新主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363872/

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