使用OneSignal推送通知:什么意思是“不推送令牌”?

By simon at 2018-02-07 • 0人收藏 • 153人看过

我正在使用[OneSignal](https://onesignal.com)推送通知。 在订阅列表中,一些设备/用户被标记为No (No Push Token)。 解释说:This user has no push token and cannot be targeted. 这发生在iOS devices以及Android devices。 这是什么意思?为什么d它发生了吗?如何改变它?

5 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

这意味着OneSignal没有从设备获得pushToken,但是 设备能够注册您的OneSignal帐户。在iOS上的pushToken 被称为设备令牌,在Android上这是Google注册ID。 取决于OneSignal S你使用的DK有setLogLevel的功能 可以调用OneSignal init来添加其他日志记录之前调用。 氏s将被打印在iOS的Xcode日志或Android的adb logcat中。也 确保您使用的是最后一个OneSignal SDK。 你c也可以通过底部的帮助泡泡与OneSignal联系 页面登录后,他们可以检查您的帐户help诊断 问题。

2018-02-07   #2

确保你的Xcode项目有“推送通知”和“远程” 通知“](https://documentation.onesignal.com/docs/所有用户,都-shown- 如未订阅的#section-ios)启用。

2018-02-07   #3

你可以检查“推送通知”功能是否打开?如果是 不要打开它,看看它是否工作,否则密切p阅读。 确保您正在运行最新版本的OneSignal SDK ([2.1.14](https://github.com/OneSignal/OneSignal-iOS-SDK /发行/标签/ 2.1.14)) 因为这个版本应该已经解决了这个问题。接下来,尝试以下修复: *修复1 * 从导航连接面板,选择您的顶级蓝色项目。然后选择你的 目标并导航到“生成设置”。搜索其他链接器标志和 添加以下条目:-ObjC 做一个项目干净,再次运行,看看它是否工作。 *修正2 * 在你的桥接header(如果有的话),或任何头文件 对您的App Delegate可见,请为其中的OneSignal类创建扩展哪一个 你定义了下面的接口方法:

+ (void)didRegisterForRemoteNotifications:(UIApplication*)app deviceToken:(NSData*)inDeviceToken;
接下来,覆盖您的应用程序代码中的didRegisterForRemoteNotifications委托方法te和电话 上面的方法在OneSignal上并将两个参数传递给SDK。

2018-02-07   #4

请注意,OneSignal SDK在使用时存在相当大的缺陷 在XCode 8到版本2.1.10导致these No push token 使用Cocoapods包装软件包时iOS设备的注册 推荐的方法)。确定you更新你的吊舱。 请参阅[2.1.11发行说明](https://github.com/OneSignal/OneSignal-iOS- SDK /发行/标签/ 2.1.11):

F在2.1.10中固定了OneSignal发生时的“No Push Token”问题 通过CocoaPods下载,并包括其他豆荚使用了-ObjC标志。

2018-02-07   #5

正如提到的其他答案,CocoaPods安装2.1.10中有一个错误。所以我 变 从

pod 'OneSignal' ## points to 2.1.10
pod 'OneSignal', :git => 'https://github.com/OneSignal/OneSignal-iOS-SDK.git', :branch => 'master'

登录后方可回帖

Loading...