ospermissionsubscriptionstate:无法解析符号

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

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

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

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

1aaf6o9v

1aaf6o9v1#

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

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

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

  1. OneSignal.addSubscriptionObserver(new OSSubscriptionObserver() {
  2. @Override
  3. public void onOSSubscriptionChanged(OSSubscriptionStateChanges stateChanges) {
  4. if (!stateChanges.getFrom().isSubscribed() && stateChanges.getTo().isSubscribed()) {
  5. // Get user id
  6. String userId = stateChanges.getTo().getUserId();
  7. }
  8. }
  9. });

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

展开查看全部

相关问题