iOS应用未收到来自Twilio可编程聊天的推送通知

时间:2020-09-02 20:08:25

标签: ios swift firebase twilio

我已经启动了一个新项目来尝试Twilio可编程聊天,但是我无法使推送通知正常工作。

我正在使用Firebase处理推送通知,并且直接从Firebase进行的通知工作正常。

现在,这是我配置所有内容的方式:

我正在使用Twilio功能进行聊天。我已经在Twilio仪表板上创建了FCM推送凭证,当要求输入FCM SECRET时,我在Firebase控制台的Server key内添加了Cloud Messaging Settings

我已经更新了推送通知配置,以在仪表板上的新消息上启用通知,如下所示:

Twilio notifications dashboard screenshot

在该应用程序上,我确实具有推送通知,因为我能够直接从Firebase接收通知。

我已经在didFinishLaunchingWithOptions上注册了远程通知,如下所示:

UNUserNotificationCenter.current().delegate = self
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { _, _ in }
application.registerForRemoteNotifications()

在AppDelegate上,我实际上是在接收设备令牌,将其存储以备后用并在我的聊天客户端上设置

static var token: Data?

func application(_: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        AppDelegate.token = deviceToken
}

在那之后,当我创建聊天客户端时,我设置了设备令牌,并且回调的结果成功了

func signIn(identity: String) {
        self.identity = identity
        tokenService.retrieveToken(identity: identity) { result in
            if case let .success(token) = result {
                TwilioChatClient.chatClient(withToken: token, properties: nil, delegate: self) { _, client in
                    self.client = client
                    if let pushToken = AppDelegate.token {
                        client?.register(withNotificationToken: pushToken) { result in
                            print(result.isSuccessful()) // this prints true
                        }
                    }
                }
            }
        }
    }

完成所有这些设置后,我仍然无法接收推送通知,因此我不确定自己是在做错什么还是遗漏了什么

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我的问题是我无法在iOS 13上接收推送通知。

对我来说,解决方案是更新iOS项目中的Twilio SDK

现在是v.4.0.0