我已经用Localytics实现了iOS推送通知,它正在工作,但我对它们如何捕获deviceToken感到困惑。
文档命令我调用registerForRemoteNotifications来获取设备令牌。好吧,这是标准的。但是,文档中没有提到如何处理应用程序委托回调didRegisterForRemoteNotificationsWithDeviceToken。我假设,一旦令牌被返回,我就需要调用SDK中名为setPushToken的类方法。这是合乎逻辑的做法。但是,在didRegisterForRemoteNotificationsWithDeviceToken中,它似乎没有任何代码就能工作。他们是否以某种方式拦截了这个应用程序委托消息并将令牌传递给他们的服务器?这就是你想要的行为吗?如果是的话,setPushToken在SDK中的用途是什么?
发布于 2016-10-21 09:33:16
在V4.1中,他们似乎是在用自己的一个代理AppDelegate。从他们的autoIntegrate(appKey: String, launchOptions: [NSObject : AnyObject]?)文档中:
使用此方法自动将Localytics集成到一行代码中。自动集成是通过对AppDelegate进行编程并在应用程序AppDelegate后面“插入”一个Localytics AppDelegate来实现的。代理将首先调用应用程序AppDelegate,然后调用Localytics AppDelegate。
如果不使用SDK的自动集成,则应该自己调用所有方法,包括setPushToken
但是,似乎有些回调没有正确地被调用,例如我根本没有得到任何didRegisterForRemoteNotificationsWithDeviceToken,也不能在其他SDK上设置任何推送令牌。如果我删除了自动集成,那么所有的东西都可以正常工作了。
https://stackoverflow.com/questions/39430916
复制相似问题