我已经使用Localytics实现了iOS推送通知,并且可以正常工作,但是我对它们如何捕获deviceToken感到困惑。

documentation指示我调用registerForRemoteNotifications以获取设备 token 。很好,这是标准的。但是,该文档对如何处理应用程序委托回调didRegisterForRemoteNotificationsWithDeviceToken保持沉默。我假设一旦返回 token ,就需要在SDK中调用setPushToken的类方法。这将是合乎逻辑的事情。但是,似乎没有didRegisterForRemoteNotificationsWithDeviceToken中的任何代码都可以工作。他们是否以某种方式拦截了此应用程序委托消息并将 token 传递给他们的服务器?这是预期的行为吗?如果是这样,SDK中setPushToken的目的是什么?

最佳答案

在4.1版中,似乎他们正在使用自己的代理之一代理AppDelegate。
从他们的autoIntegrate(appKey: String, launchOptions: [NSObject : AnyObject]?)文档中:

使用此方法可将Localytics SDK自动集成在一行代码中。自动
集成是通过传播AppDelegate并“插入” Localytics AppDelegate来完成的
在应用程序AppDelegate后面。代理将首先调用应用程序AppDelegate,然后
然后调用Localytics AppDelegate。

如果您不使用SDK的自动集成功能,则应该自己调用所有方法,包括setPushToken
但是,似乎某些回调未正确调用,例如,我根本没有didRegisterForRemoteNotificationsWithDeviceToken,并且我无法在其他SDK上设置任何推送 token 。
如果删除自动集成,则一切正常。

关于ios - Localytics iOS推送设备 token ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39430916/

10-10 21:13