PushKitでVoIPの通知を受ける
1324 ワード
今までプッシュ通知を受けるには
didRegisterForRemoteNotificationsWithDeviceToken
でdeviceTokenを受け取ってきましたが、PushKitをつかった通知を受ける場合は、まず
- (void)voipRegistration {
PKPushRegistry *pushRegistry = [[PKPushRegistry alloc] initWithQueue:dispatch_get_main_queue()];
pushRegistry.delegate = self;
pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];
}
とやっておき、PushKitのdelegateを受けるようにします。
- (void)pushRegistry:(PKPushRegistry *)registry didInvalidatePushTokenForType:(NSString *)type;
-(void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type;
-(void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(NSString *)type;
これら3つです。
tokenの登録は
didUpdatePushCredentials
で行います。
[credentials.token description]
として取り出せるので今までと同じようにNSStringとしてPushサーバーのDBなどに保存しておけば良いです。あとはそのtokenに対して、Push通知をしてあげれば、didReceiveIncomingPushWithPayload
が通知のダイアログなどなしにキャッチできますので、ここでVoIPの着信通知などの処理を行えばよいです。
Author And Source
この問題について(PushKitでVoIPの通知を受ける), 我々は、より多くの情報をここで見つけました https://qiita.com/nmisawa/items/3fb09dbfb252e8a85fcc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .