iam*_*rak 7 ios swift onesignal
OneSignal的最新版本版本会生成一个警告,例如' idsAvailable '已被弃用.如何使用getPermissionSubscriptionState()代替idsAvailable 获取'playerID',如下所示?
OneSignal.idsAvailable({ (userId, pushToken) in
if (pushToken != nil) {
if let playerID = userId {
// do something
}
}
})
Run Code Online (Sandbox Code Playgroud)
Jon*_*onF 10
OneSignal保留了非常好的文档.
对于android,您可以使用idsAvailable返回userID和registrationID 的方法获取userID.
userID aka playerID是OneSignal UUID格式的字符串.(每个应用的每个设备唯一)registrationID是Google指定的标识符(每个应用每个设备唯一,重新安装时更改).
对于iOS,您可以以相同的方式获取userID,但在本机iOS SDK的2.5.0+版本中添加了getPermissionSubscriptionState方法和addSubscriptionObserver.
您可以按如下方式获取Swift的OSPermissionSubscriptionState:
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
let hasPrompted = status.permissionStatus.hasPrompted
print("hasPrompted = \(hasPrompted)")
let userStatus = status.permissionStatus.status
print("userStatus = \(userStatus)")
let isSubscribed = status.subscriptionStatus.subscribed
print("isSubscribed = \(isSubscribed)")
let userSubscriptionSetting = status.subscriptionStatus.userSubscriptionSetting
print("userSubscriptionSetting = \(userSubscriptionSetting)")
let userID = status.subscriptionStatus.userId
print("userID = \(userID)")
let pushToken = status.subscriptionStatus.pushToken
print("pushToken = \(pushToken)")
Run Code Online (Sandbox Code Playgroud)
对于Objective-C:
OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState];
status.permissionStatus.hasPrompted
status.permissionStatus.status
status.subscriptionStatus.subscribed
status.subscriptionStatus.userSubscriptionSetting
status.subscriptionStatus.userId
status.subscriptionStatus.pushToken
Run Code Online (Sandbox Code Playgroud)
所以你的上面的代码现在看起来像这样:
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
let userID = status.subscriptionStatus.userId
print("userID = \(userID)")
let pushToken = status.subscriptionStatus.pushToken
print("pushToken = \(pushToken)")
if pushToken != nil {
if let playerID = userID {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4356 次 |
| 最近记录: |