我已经启动了一个新项目来尝试Twilio可编程聊天,但是我无法使推送通知正常工作。
我正在使用Firebase处理推送通知,并且直接从Firebase进行的通知工作正常。
现在,这是我配置所有内容的方式:
我正在使用Twilio功能进行聊天。我已经在Twilio仪表板上创建了FCM推送凭证,当要求输入FCM SECRET
时,我在Firebase控制台的Server key
内添加了Cloud Messaging Settings
。
我已经更新了推送通知配置,以在仪表板上的新消息上启用通知,如下所示:
在该应用程序上,我确实具有推送通知,因为我能够直接从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
}
}
}
}
}
}
完成所有这些设置后,我仍然无法接收推送通知,因此我不确定自己是在做错什么还是遗漏了什么
答案 0 :(得分:0)
我有类似的问题。我的问题是我无法在iOS 13上接收推送通知。
对我来说,解决方案是更新iOS项目中的Twilio SDK 。
现在是v.4.0.0