首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android设备没有接收到Firebase消息发送的5%的推送

Android设备没有接收到Firebase消息发送的5%的推送
EN

Stack Overflow用户
提问于 2020-05-08 23:03:40
回答 2查看 2.7K关注 0票数 5

下面来自Firebase消息传递(FCM)控制台的图表显示,只有95%的推送被手机接收。这给我们带来了很多问题,因为我们正在创建一个VoIP应用程序,需要立即收到推送。有人能解释为什么会发生这种情况,以及如何使这一比率接近100%吗?

一些重要的注意事项:

  • 所有手机都是Android
  • 所有手机都打开了我们的应用程序时,他们收到推送或最多2分钟前。
  • 所有推送都是数据推送(即没有主体/标题),优先级较高。
  • 推送将在10秒钟内发送,以便按照Android文档对它们进行优先排序。
  • 在同一时期,我们有30次错误(注册令牌未注册和内部错误)发送推送,这与500次未交付的推送相比没有什么意义。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-12 02:41:53

皮尔

据我所知,有许多原因可能无法传递信息。我认为如果不看你的具体数据,任何人都很难给出确切的答案。

我建议您花一些时间阅读Firebase文档上的理解消息传递。尽管我建议您阅读整篇文章,但对于您来说,特别重要的可能是BigQuery数据导出部分。这包括将您的消息数据导出到BigQuery。导出到BigQuery的数据将在哪些数据被导出到BigQuery?部分中讨论。我认为您会对event字段感兴趣,该字段保存发生的事件类型的数据。这些事件类型包括:

  • MESSAGE_ACCEPTED: FCM服务器接收到消息,请求有效;
  • MESSAGE_DELIVERED:消息已经在设备上传递到应用程序的FCM。默认情况下,此字段不被传播。要启用,请按照setDeliveryMetricsExportToBigQuery(boolean)中提供的说明执行)。
  • MISSING_REGISTRATIONS:申请因登记缺失而被拒绝;
  • UNAUTHORIZED_REGISTRATION:消息被拒绝,因为发送者没有被授权发送到注册;
  • MESSAGE_RECEIVED_INTERNAL_ERROR:在处理消息请求时出现了一个未指定的错误;
  • MISMATCH_SENDER_ID:发送消息的请求被拒绝,原因是发送消息的发送者id与为端点声明的发送者id不匹配;
  • QUOTA_EXCEEDED:由于配额不足,发送消息的请求被拒绝;
  • INVALID_REGISTRATION:由于无效的注册,发送消息的请求被拒绝;
  • INVALID_PACKAGE_NAME:发送消息的请求由于包名无效而被拒绝;
  • INVALID_APNS_CREDENTIAL:由于APNS证书无效,发送消息的请求被拒绝;
  • INVALID_PARAMETERS:由于参数无效,发送消息的请求被拒绝;
  • PAYLOAD_TOO_LARGE:发送消息的请求被拒绝,因为有效负载大于限制;
  • AUTHENTICATION_ERROR:由于身份验证错误(检查用于发送消息的API密钥),发送消息的请求被拒绝;
  • INVALID_TTL:由于TTL无效,发送消息的请求被拒绝。

我希望这能帮到你。祝好运!

票数 5
EN

Stack Overflow用户

发布于 2020-05-13 15:36:00

  • 所有手机都打开了我们的应用程序时,他们收到推送或最多2分钟前。

你怎么知道所有的电话都是开着的,而不是睡觉的?你百分之百确定吗?

  • 所有推送都是数据推送(即没有主体/标题),优先级较高。推送将在到期10秒内发送,以便按照Android文档排序。

我还使用数据FCM来协调设备之间的更新,在我的示例中,绝大多数消息在不到1/2秒内收到,但有时我观察到它们被延迟到20秒左右,然后突然接收到几条消息。

在您的情况下,如果TimeToLive仅为10秒,它们就会丢失。

谷歌还声称,95%的信息在不到250毫秒的时间内传递,但其余的5%没有,这已经证明这些信息的丢失是合理的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61689507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档