iOS VoIP推送通知(PUSHKIT)



我正在搜索有关VoIP推送通知的推送通知的信息。我的一点对我来说还不清楚:

1(如果用户未打开应用程序,则接到电话。从通知中启动应用程序是否有意?

2(应用程序如何等待特定事件?我的设备怎么知道他会收到某人的电话?

3(我使用https://github.com/hitman666/ios-voip-push的AppDelegate文件,但在我的情况下它不起作用(很多错误(,这是我遇到的错误的预览。

谢谢

1(如果用户尚未打开应用程序,然后他接到电话。从通知中启动应用程序是否有意?

- 首次用户必须点击应用程序图标并打开它,然后只有设备ID才能获得注册以接收推送套件有效负载。那么无需打开应用程序。当应用程序处于杀戮状态时,它也将起作用,您必须按照推送套件有效载荷安排本地通知。

2(应用程序如何等待特定事件?我的设备怎么知道他会收到某人的电话?

- 您必须按照推动套件有效载荷安排本地通知。

3(我使用https://github.com/hitman666/ios-voip-push的AppDelegate文件,但在我的情况下它不起作用(很多错误(,这是我遇到的错误的预览。

- 请参阅下面的代码

import UIKit
import PushKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate,PKPushRegistryDelegate {
    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        let types: UIRemoteNotificationType = [.Alert, .Badge, .Sound]
        application.registerForRemoteNotificationTypes(types)
        self.PushKitRegistration()
        return true
    }
    //MARK: - PushKitRegistration
    func PushKitRegistration()
    {
        let mainQueue = dispatch_get_main_queue()
        // Create a push registry object
        if #available(iOS 8.0, *) {
            let voipRegistry: PKPushRegistry = PKPushRegistry(queue: mainQueue)
            // Set the registry's delegate to self
            voipRegistry.delegate = self
            // Set the push type to VoIP
            voipRegistry.desiredPushTypes = [PKPushTypeVoIP]
        } else {
            // Fallback on earlier versions
        }

    }

    @available(iOS 8.0, *)
    func pushRegistry(registry: PKPushRegistry!, didUpdatePushCredentials credentials: PKPushCredentials!, forType type: String!) {
        // Register VoIP push token (a property of PKPushCredentials) with server
        let hexString : String = UnsafeBufferPointer<UInt8>(start: UnsafePointer(credentials.token.bytes),
            count: credentials.token.length).map { String(format: "%02x", $0) }.joinWithSeparator("")
        print(hexString)

    }

    @available(iOS 8.0, *)
    func pushRegistry(registry: PKPushRegistry!, didReceiveIncomingPushWithPayload payload: PKPushPayload!, forType type: String!) {
        // Process the received push

    }
}

获取有关如何集成基于VoIP的应用程序的推送套的更多信息。

刚刚使用Swift 4.0代码更新。

https://github.com/hasyapanchasara/pushkit_silentpushnotification

相关内容

  • 没有找到相关文章

最新更新