我刚刚更新到OneSignal的最新SDK(2.0.7)。
这是我的didFinishLaunchingWithOptions方法:
OneSignal.initWithLaunchOptions(launchOptions, appId: "my-onesignal-id….", handleNotificationAction: nil, settings: [kOSSettingsKeyInAppAlerts: false, kOSSettingsKeyAutoPrompt: false])
这就是我促使用户注册推送通知的方式:
func registerAtOneSignal() {
OneSignal.registerForPushNotifications()
OneSignal.sendTags([
"user_id": "1",
"gender": "MALE",
"birthdate": "1990-01-13"
])
OneSignal.setSubscription(true)
OneSignal.IdsAvailable({ (userId, pushToken) in
NSLog("UserId:%@", userId)
if (pushToken != nil) {
NSLog("pushToken:%@", pushToken)
}
})
}
我的问题
在IdsAvailable方法中,我总能看到userId,但pushToken总是返回nil?我甚至同时尝试了didRegisterForRemoteNotificationsWithDeviceToken方法来查看我是否有生成令牌的问题。事实证明这不是问题。我不能只使用registerForPushNotifications方法将令牌发送给OneSignal。
我猜测用户没有在仪表板中获得更新。因为我似乎无法找到用户。但是,当我运行此方法时,我可以获取标记:
OneSignal.getTags({(tags)in NSLog(“%@”,标签) })
感谢。