ospermissionsubscriptionstate:无法解析符号

vd2z7a6w  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(383)

我正在尝试将推送通知添加到我的移动本机聊天应用程序。我试着用一个信号。
我可以发送手动推送通知,所以我认为gradle部分可以
idsAvailable方法已弃用,我开始寻找如何获取userid。

OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
    String userId = status.getSubscriptionStatus().getUserId();

在这里,我试图获取状态为的userid,但是它说:
无法解析符号“ospermissionsubscriptionstate”
如何获取userid?

1aaf6o9v

1aaf6o9v1#

根本原因
来自onesignal api 4.0.0 ,有许多API已被删除,包括 OSPermissionSubscriptionState .
解决方案1
使用onesignal.getdevicestate()

OSDeviceState device = OneSignal.getDeviceState();
String userId = device.getUserId();

解决方案2
使用onesignal.addsubscriptionobserver()

OneSignal.addSubscriptionObserver(new OSSubscriptionObserver() {

    @Override
    public void onOSSubscriptionChanged(OSSubscriptionStateChanges stateChanges) {
        if (!stateChanges.getFrom().isSubscribed() && stateChanges.getTo().isSubscribed()) {
            // Get user id
            String userId = stateChanges.getTo().getUserId();
        }
    }
});

有关更多信息,请参阅此处的更改日志。

相关问题