Firebase notifications非常方便,因为它们几乎无需代码即可在Android应用中实施,并且可以从网络控制台发送。
但是,实施退出功能的最佳方法是什么,以便用户可以选择不接收推送通知?
答案 0 :(得分:3)
如果您必须实施客户端选择退出,那么最好的方法是使用REST API而不是Firebase控制台。 REST API允许您发送数据消息,这些消息不会自动生成通知并始终导致onMessageReceived回调,此时,您的应用程序将根据您的消息进行操作。
但请注意,您可以使用主题消息,让用户在需要通知时订阅主题,并仅向主题发送消息。另一种选择是使用Firebase Analytics定义特定受众,然后您可以撰写针对特定受众群体横截面的消息,这些横截面之外的用户将无法接收消息。
答案 1 :(得分:1)
似乎覆盖onMessageReceived(..)
很好。
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if(isNotificationsEnabled()) {
super.onMessageReceived(remoteMessage);
}else{
Log.w(TAG, "FCM Notification not shown. Notifications disabled");
}
}