如何处理 FIRMessaging (un)subscribeToTopic 的错误?

How to deal with errors with FIRMessaging (un)subscribeToTopic?

有时,当我调用 [[FIRMessaging messaging] subscribeToTopic:myTopic](或取消订阅)时,我会在控制台中看到错误记录。有时他们有错误代码,有时只是这样的消息:

Cannot unsubscribe to topic: /topics/my_topic with token: (null)

这个似乎是因为它认为它没有令牌,虽然通常当我看到这个时我已经给了它一个令牌。

但是,没有明显的编程方式可以知道何时发生了错误。没有回调传递给 subscribe 方法,它们的 return 类型是 void。我想我在谷歌搜索这些错误的某个地方读到库将自行重试,但我现在找不到了,而且它不在 documentation for FIRMessaging 任何地方。我能找到的任何地方也没有记录错误代码。

我记得具体看到的一个错误代码是 5。我的实现曾经在用户更改任何主题时简单地重新订阅/取消订阅每个主题;当我修改它以仅更新实际更改的主题时,那个特定的错误消失了,所以它可能是在抱怨,因为我订阅了一个我已经订阅的主题,反之亦然?

如何处理这些错误?图书馆真的会自己重试吗?有人可以 link 列出错误代码吗?

您不必处理订阅和取消订阅导致的错误,SDK 会自动重试。有关更多信息,请参阅 docs

当前错误消息的问题是已知的,我们将在未来的版本中改进它们。