我正在开发使用 FCM主题的SDK。每当刷新实例ID Token
时,我都会再次订阅用户之前订阅的每个主题(我测试过并发现 Firebase SDK 不会自行管理订阅更新,如果我错了,请纠正我。
问题是如果我没有在每次调用Firebase消息传递实例之间放置一个`Thread.sleep()`,主题订阅就会失败。
有没有人试图做类似的事情并得到不同的结果?澄清,
我知道使用终点通过 Google Instance ID 注册新令牌,而不是暂时使用它。
我正在使用Firebase 11.8.0
SDK。
public void refreshTopicsRegistrations() {
Set<String> registeredTopics = topicsPreferences.getAll().keySet();
new Thread(() -> {
try {
for (String topic : registeredTopics) {
FirebaseMessaging.getInstance().unsubscribeFromTopic(topic);
Thread.sleep(1500);
FirebaseMessaging.getInstance().subscribeToTopic(topic);
Thread.sleep(1500);
}
} catch (InterruptedException e) {
Log.d("topic-refresh", e.getMessage());
}
}).start();
}