我想在我的应用程序上使用
OneSignal
向我的用户发送通知,并且它有很好的文档记录并且很好,你应该像这样操作:
https://documentation.onesignal.com/docs/android-sdk-setup
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.init();
问题是,我只想向登录的用户发送通知,所以如果用户注销,我不希望他收到通知,如何在初始化后禁用
OneSignal
?
我不想在服务器上处理这个问题,我认为应该以某种方式停止
OneSignal
服务。
我们可以使用以下方法轻松启用/禁用
OneSignal
推送通知:
OneSignal.disablePush(boolean)
来源: https://documentation.onesignal.com/docs/sdk-reference#disablepush-method
OneSignal 有一种叫做段的东西...(标志)。
您可以使用 OneSignal 设置标志。如果用户已登录,则他们属于注销用户则不属于的标志。
例如,如果已登录,请将 OneSignal 的标志设置为 loggedin。如果已注销,请将此用户的 OneSignal 标志设置为 loggedout。当您发送通知时,您仅将其发送到 loggedin 标志。
注销过程中可以调用以下方法
OneSignal.setSubscription(false);
https://documentation.onesignal.com/docs/android-native-sdk#section--setsubscription-
编辑 2022 年:
// RN SDK版本4.x.x
OneSignal.disablePush(true);
https://documentation.onesignal.com/docs/sdk-reference#disablepush-method
OneSignal.User.pushSubscription.optOut()
OneSignal.User.pushSubscription.optIn()