如何解决Google Play“实时开发者通知”是否有排序键?那么重新交付呢?
我使用 Real-time developer notifications 来处理我的应用订阅。我读过Pub/Sub messages may be ordered。
我想在通知类型为 SUBSCRIPTION_PURCHASED
时执行一些逻辑,但如果它是无序到达的并且在另一条消息之后到达,可能会出现问题,如果我忽略通知类型并处理数据库可能会更好直接数据。是否订购了实时开发者通知?
由于我使用的是 Cloud Functions,不幸的是它不直接支持此 Pub/Sub 消息排序,我必须使用 Functions 创建一个 HTTP 端点,在 Pub/Sub 控制台中设置它,并验证自己是否授权标头没问题。
此外,该列表链接表明消息至少发送了一次,因此我可以再次收到该 SUBSCRIPTION_PURCHASED
。即使被确认,他们也可以以什么速度重新交付?如何在 CF 中处理该问题,其中可能有多个 Functions 实例正在运行?如果重新传递消息发送得太快,也许我无法通过数据库检查来处理。
解决方法
要接收通知,您需要创建一个后端服务器来使用发送到您主题的消息。然后,您的服务器可以通过响应对注册端点的 HTTPS 请求或使用 Cloud Pub/Sub 客户端库来使用这些消息。 (允许订购)。
还要处理速率消息流,documentation 建议使用订阅者的流量控制功能来控制订阅者接收消息的速率,并且您还可以增加订阅者客户端实例的数量。
最后,我建议查看 Dealing with duplicates and forcing retries 以获取有关如何处理重复信息的更多信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。