My App允许用户单击按钮订阅主题以接收通知。用户也可以单击按钮取消订阅该主题。
我想知道,如果用户不先取消订阅主题,然后直接卸载应用程序,会发生什么
示例:
- 如果有10000名用户安装应用程序并订阅主题
- 但随后2000名用户卸载了这些应用程序,而没有先点击取消订阅主题
因此,我们的开发人员通过我们的服务器将FCM数据负载发送到应用程序订阅主题
-
firebase会知道2000名用户已经卸载了该应用程序,所以不会发送给他们吗?
-
还是firebase仍然会发送给2000名用户,但出错失败?开发人员是否需要做一些事情来取消订阅,以减少错误和firebase的工作负载,或者firebase会自动这样做?我的应用程序当前未将客户端firebase令牌存储到服务器。
单击按钮时用于订阅主题的应用程序的示例代码。
FirebaseMessaging.getInstance().subscribeToTopic("topicname")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
String msg = "Subscribed";
if (!task.isSuccessful()) {
msg = "Subscribe failed";
}
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
提前谢谢。
Firebase慢慢知道谁不是"倾听";对于特定主题:当应用程序被卸载时;ping";到Firebase,这样它就会知道这一点,并且不会向用户发送更多通知。
毫无疑问,这个过程需要时间,这取决于Google Play服务及其在您使用的库中的实现。
也许Firebase会尝试在已经卸载的应用程序的用户上发送通知,但这不是问题。