我正在使用PushKit / voip push唤醒应用程序以获取消息的应用程序。这对于测试设备(杀死应用程序并可以在voip推送时唤醒)很有好处,但是对于某些用户而言,它永远不会唤醒。他们正在使用最新的iOS和应用程序。
在用户删除/重新安装该应用程序后,我还发现它突然起作用了。
另外,似乎无法唤醒的大多数设备都安装了较长时间的设备(例如1-2年前),但它们都已更新为最新的应用程序。
我想知道 1.这(很久以前安装)如何影响应用程序的唤醒。 2.删除/重新安装如何帮助唤醒。和 3.在不要求用户重新安装的情况下,我可以做些什么来改进它。
谢谢!
答案 0 :(得分:0)
在Pushkit PKPushRegistryDelegate
中,有didInvalidatePushTokenFor
个可用。如果没有更长的pushkit令牌,则将调用此方法。您可以使用API调用通知不向该特定设备发送通知(pushkit令牌)。然后,您可以再次调用您的推送注册方法,这是您将收到的最新的推送工具令牌,可用于进一步的新推送通知。
@method pushRegistry:didInvalidatePushTokenForType:
@abstract This method is invoked if a previously provided push token is no longer valid for use. No action is
necessary to rerequest registration. This feedback can be used to update an app's server to no longer
send push notifications of the specified type to this device.
@param registry
The PKPushRegistry instance responsible for the delegate callback.
@param type
This is a PKPushType constant which is present in [registry desiredPushTypes].
@available(iOS 8.0, *)
optional public func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType)
请参阅有关的更多详细信息 https://github.com/hasyapanchasara/PushKit_SilentPushNotification