我有一个与Firebase Cloud Messaging集成的iOS应用程序,以发送通知.我知道Firebase节省了所有已发送通知的历史. 每个运行该应用程序的特定设备是否有办法获取自己的已发送通知历史记录?我需要在客户端而不是在服务器上进行操作. 解决方案 当前没有API可以检索使用FCM发送的所有已发送通知的详细信息(请参阅 a href =" https://stackoverflow.com/q/40525232/4625829"> this ). 这个想法仍然是可行的,但是,您必须自行存储日志/历史记录.从那里,您可以设置应用程序以检索仅与设备相对应的详细信息.
以下是关于 firebase-cloud-messaging 的编程技术问答
我遵循以下链接中给出的所有步骤. 消息传递/iOS/Client#Analytics-nabled 火箱版本:Firebase 7.3.0 如果我退出拳头发射,通知正在工作.那没有问题.仅在第一次启动时出现问题. 解决方案 我在搜索很多时遇到了相同的问题,我发现了很多,这对我有用,通过降低firebase sdk版本: pod'firebase/messaging','〜> 6.33.0' POD" Firebase/Analytics",'〜> 6.33.0' 我希望这可以帮助您.似乎Firebase团队尚未在他们的新里程碑中解决这个问题 其他解决方案 禁用method swizzling为我工作. method swizzling:将APNS令牌送给我们的Firebase,而不是让Firebase自动进行. ** 禁用方法: (1).添加FirebaseAppDelegateProxyEnabled应用程序的 info.pli
当我执行下面的代码时,我会得到: 无效的注册令牌 我从MySQL数据库中获取令牌.我检查了数据是否与数据库返回匹配.一切似乎都很完美,但是我找不到我的错误. 我如何修复或调试此代码: function send_android_notification($registration_ids, $message) { //print_r($registration_ids); //print_r($message); //exit; define("GOOGLE_API_KEY", "AAAABoqI4ac:APA91bEMNO81wwRARcQftyBhIBU1U4Bq6rLKeRZDLOPAQu-9fk8y_6bOsZWnw2JEq-uwDJXDij1SjGPJtnwG6QO_IRZ54Gbbjfp9-izJ_a7DnLoTHD9Ot6lod7C-wLaYkH2Xl6l8iR8z"); $fields = array(
我允许用户通过我的网站发送通知.但是,通知正在奏效,但是,我想实际确认是否已发送通知(代码),或者至少无法确认卷发有效,因此我可以在我的网站上显示一条消息它要么成功或失败.在我的jQuery帖子请求中,即使我在PHP中提供了无效的API_ACCESS_KEY(因此显然还没有发送通知仍然在说成功),状态似乎总是"成功".我怎么能确定通知已发送?感谢任何帮助. 这是我在index.html中的帖子请求: $("#send-button").click(function(){ if($("#send").val().length == 0) { return; } else { $.post("php/send-notification.php", { notification_message: $("#send").val() }, function(
我正在使用PHP来获得FCM的OAuth令牌,但是返回的访问令牌包含很多" ...." $client= new \Google_Client(); error_log(__DIR__); $client->setAuthConfig(__DIR__ . '/service-account-key.json'); $client->addScope('https://www.googleapis.com/auth/firebase.messaging'); $client->refreshTokenWithAssertion(); $token = $client->getAccessToken(); error_log(json_encode($token)); return $token; 结果 实际访问令牌不包含星号(*),它曾经是我已用星号替换的字符来审查令牌. {"access_token":"ya
我正在尝试使用PHP将FCM通知发送到Android设备.我的代码在Android O. 之前为设备工作. 在Android O中,我们还需要在请求中设置频道ID,以接收通知,我无法弄清楚该怎么做. 我在应用程序中完成了必要的设置,并使用Firebase控制台可以收到通知,但是当我尝试通过PHP脚本发送它时,它会失败. 我还研究了下面的链接,但对我不起作用. android fcm define fcm define通道ID并通过PHP发送通知 我的php代码: $notification = new Notification(); $notification->setTitle("startSession"); $notification->setBody($_POST['child_id']); $notification->setNotificationChannel('my_channel_id');
我正在尝试编写一个应用程序,以通过Firebase Cloud Messaging接收通知.最初,当我尝试通过Firebase Console发送消息时,它最初起作用,但是当我尝试使用PHP WebService进行相同操作的那一刻,它显示出成功,但我既没有收到消息,又可以通过Firebase Console获得任何更多通知. .请帮助 我的服务器端代码: mainActivity.java package com.example.mojojojo.firebasenotifications; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import
我有一个PHP页面,我用来向我开发的移动应用程序的用户发送通知,此页面正常运行到上个月,然后给了我这个错误 {" MultiCast_Id":51740635035988999354,"成功":0,"失败":1," Canonical_ids":0,"结果":[rorral':[{" error":" InvalidRegation"}]}}}} 我尝试使用此链接中的文档生成Oauth令牌 https://firebase.google.com/docs/docs/docs/cloud-messaging/auth-server#node.js 但是它需要Node.js服务器,而我的服务器不支持Node.js,我尝试使用Firebase Admin SDK,但找不到任何东西. 这是页面的PHP代码
我正面临着firebase" registration_ids"的问题.当我从REST客户端发送请求时,我会获得成功的响应. {"multicast_id":4650719213012935695,"success":2,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1468837777484579%214918aff9fd7ecd"},{"message_id":"0:1468837777484484%214918aff9fd7ecd"}]} 但是,当我从Android应用程序中调用相同的PHP脚本时,它在响应中给了我错误. (我在查尔斯代理中得到了回应) "registration_ids" field is not a JSON array 这是我的php脚本 function fetchFirebaseTokenUsers($message) { $query =
当我尝试通过卷曲请求发送推送通知时,服务器的响应表明我成功了,但是设备上未收到该消息.我已经尝试了多播和单个收件人有效载荷. 这是我的php代码: Project Settings -> CLOUD MESSAGING -> Server key*/ $api_key = 'API_KEY'; $device_id = 'eE5U0IQEyTo:APA91bGplai6Bf5ko1hlW5y0oLb0WIa5JytpcuZ7B9lbIay8PNfPv2i1HMUqg1hDtPQqvhy4KLIZgyEh0BHHkfJtdX7E0Ftm-OaN23VahOoWAzjNP2QK8Se7PCibhooVG71jMPmzTHqd'; $fields = a
我想使用新的FCM HTTP V1 API,此处记录在此处 fcm http v1 v1 v1 api文档同时使用多个设备,但是 使用主题或组(假设我想向10个彩票的10个随机获奖者发送通知).我知道在上一个版本中( segacy fcm fcm http stropate ,通过使用 registration_ids 参数,这是可能的,但是我在当前API中看不到类似的内容.我想念什么吗?有没有使用遗产API的方法来执行此操作? 解决方案 目前没有其他方法可以发送到多个令牌,除了使用FCM V1的主题. 在您提到的用例中,如果我使用的是V1,我可能会选择这样的事情,选择获奖令牌后,您可以将它们订阅为winningTokens之类的主题,然后发送消息. . 其他解决方案 对于其他用例,通过V1 API发送到多个设备的最佳方法取决于您的应用程序.例如,接受的答案对于一个私人聊天应用程序而言不是一个好的解决方案,在该应用程序中,另一个用户可以通过订
我想使用firebase向本地化的Android和iOS设备发送推送通知. 我意识到我们真的没有解决局部消息到订阅主题的解决方案. 假装我有一条消息"朝鲜领导人威胁关岛",我想发送给订阅"新闻"主题的人,并订阅了1000人(他们都说不同的语言). 我希望Firebase在请求FCM令牌时记录了设备语言环境,并且我可以将每个语言环境的一系列消息发送到此主题,然后让FCM/Firebase句柄,例如: { "default_message": "North Korea leader threatens Guam", "en_US": "North Korea leader threatens Guam", "en_GB": "North Korea leader threatens Guam", "es_MX": "Líder de Corea del Norte amenaza a Guam", "fr_FR": "Le chef de la Corée d
我的数据库中有FCM令牌,并且用于某些令牌用于发送推送通知. 一切正常工作. 但是需要优化,因为某些设备令牌我得到了 string(116) "{ "multicast_id": 1234, "success": 0, "failure": 1, "canonical_ids": 0, "results": [{ "error": "NotRegistered" }] } " 如果在发送推送通知之前已经注册,可以帮助我验证设备令牌吗? 解决方案 您可以验证数据库中的令牌是否仍然有效,而不是使用实例ID服务器参考获取API .如果您得到的响应类似于下面,则表示令牌仍然有效. 示例获取请求: https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
根据 https://stackoverflow,我一直在使用GCM服务将通知发送到我现有的应用程序中的通知. com/a/11253231/3286489 . 现在我正在考虑迁移到FCM.根据已注意的 https://stackoverflow.com/a/37517339/3286489 " https://android.googleapis.com/gcm/send" rel =" nofollow noreferrer"> https://android.googleapis.com/gcm/send "已更改为" https://fcm.googleapis.com/fcm/send " 当我仍然新探索FCM时,我希望我的问题不是垃圾场.我在这里有两个问题. 1.)一旦迁移到我的客户端中的FCM,我仍然可以使用相同的PHP代码,该代码与 https发送我的GCM ://stackoverflow.com/a/11253231/3286489 ?还是我可以将A
我已将FCM与传统协议一起使用,但找不到任何具体文档来使用新的FCM HTTP V1 API. 我已经设法导入 google api client 进入我的项目,但找不到有关如何获得FCM消息所需范围的访问令牌的任何文档或教程. 解决方案 如果您愿意使用现有库而不是自己实施,则可以考虑查看 https://github.com/kreait/firebase-php/今天就获得了FCM的支持. 最新/云-Messaging.html 如果不适合您,则至少可以从源代码中提取使用PHP的FCM REST API的连接.简而言之,这是 https://firebase.google. com/doc/reference/fcm/rets/v1/projects.messages . 其他解决方案 也许有点晚了,但这是如何检索与FCM HTTP V1 API一起使用的宣誓令牌. 下载此 Google Library 在PHP代码中使用它. 从 fireba