-->

方法didInvalidatePushTokenForType并没有叫上使用Twilio令牌过期(M

2019-09-28 01:02发布

我使用Twilio语音Objective-C的快速启动适用于iOS。 我能够下文提到创建访问令牌后注册TwilioVoice: -

#pragma mark - PKPushRegistryDelegate
- (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(NSString *)type {
    NSLog(@"pushRegistry:didUpdatePushCredentials:forType:");

    if ([type isEqualToString:PKPushTypeVoIP]) {
        self.deviceTokenString = [credentials.token description];

        [[PhoneCallModel sharedInstanse] getAccessTokenResponse:^(NSString *accessToken) {

            [[TwilioVoice sharedInstance] registerWithAccessToken:accessToken
                                                      deviceToken:self.deviceTokenString
                                                       completion:^(NSError *error) {
                                                           if (error) {
                                                               NSLog(@"An error occurred while registering: %@", [error localizedDescription]);
                                                           }
                                                           else {
                                                               NSLog(@"Successfully registered for VoIP push notifications.");
                                                           }
                                                       }];
        }];
    }
}

我已经创建令牌5分钟,按照Pushkit(PKPushRegistry)方法

- (void)pushRegistry:(PKPushRegistry *)registry didInvalidatePushTokenForType:(PKPushType)type

应该叫令牌过期后。 但didInvalidatePushTokenForType不打电话,试了很多次。

我怎么能检查当前访问令牌过期与否,“registerWithAccessToken”通过呢?
我想重新注册TwilioVoice用的accessToken后当前访问令牌过期。

请帮帮忙,在此先感谢。

Answer 1:

Twilio开发者传道这里。

想在这里完成了一圈,因为这个问题也有人问及可有跟进的GitHub项目的快速启动应用 。 下面是Bobie谁在可编程的语音SDK团队工作的答案:

在 - (空)pushRegistry:(PKPushRegistry *)注册表didInvalidatePushTokenForType:当令牌之前由苹果公司的VoIP服务发布的设备已过期或不再有效使用(PKPushType)类型的委托方法被调用。 苹果本文档中的更多细节。

使用访问令牌的主要思想是外呼时提供“一次性”的操作验证,登记请求或信令握手。 话虽这么说,我们还是建议您生成到期等于或外呼时,超过1小时的访问令牌。

至于刷新注册表,你其实不必重新注册,除非你有明确的未注册(或PushKit令牌已过期)。 该应用程序将仍然能够从Twilio收到推送通知。

只需添加到这一点,如果你想在你的应用程序,达到自动访问令牌的管理,那么你可以使用Twilio AccessManager SDK。 这是一个可编程语音,聊天,视频和同步之间共享一个共同的SDK。 还有的聊天文件中安装它的说明 。

然后,该页面显示了如何使用AccessManager与聊天SDK 。 您可以用可编程的语音SDK,它应该工作一样,虽然。

让我知道如果这有助于在所有。



文章来源: Method didInvalidatePushTokenForType is not calling on token expired using Twilio