在我的应用程序中,我使用OneSignal和Firebase设置了通知系统。但是,当我提示OneSignal Notification Alert并且用户允许通知时,userID/playerID返回nil。以下是以下代码:OneSignal UserID返回零 - swift
static func getNotificationPermissionsAndStorePlayerIdInFireabse(currentUserId: String) {
OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification
OneSignal.promptForPushNotifications(userResponse: { accepted in
if accepted == true {
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
let userID = status.subscriptionStatus.userId
let pushToken = status.subscriptionStatus.pushToken
if pushToken != nil {
if let playerID = userID {
FIRDatabase.database().reference().child("users").child(currentUserId).child("oneSignal").setValue([playerID: pushToken!])
}
}
}
})
}
在上面的代码中,我访问userID和推送令牌,但是,userID返回nil。另一方面,推送令牌具有价值。我不知道为什么userId是零。任何帮助,将不胜感激。
PS:请注意,我叫我的用户登录后此功能
尝试打印用户ID也许没有被添加有值和尝试打印您的[status.subscriptionStatus.userId] too –
它的打印无 –
这两个打印零? –