我已经按照文档并已成功注册了 Sendbird 的推送通知(使用 Sendbird SDK 上传了 .p12 开发证书 + 注册设备令牌等),但没有收到任何通知。
func application( application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData ) {
NSUserDefaults.standardUserDefaults().setObject(deviceToken, forKey: "deviceToken")
SBDMain.registerDevicePushToken(deviceToken) { (status, error) in
if error == nil {
if status == SBDPushTokenRegistrationStatus.Pending {
SBDMain.connectWithUserId("\(UserDataStore.ownerProfile?.id!)", completionHandler: { (user, error) in
SBDMain.registerDevicePushToken(SBDMain.getPendingPushToken()!, completionHandler: { (status, error) in
print("Sendbird Registration Succeeded 2nd attempt")
})
})
} else {
print("Sendbird Registration Succeeded")
}
} else {
print("Sendbird Push Registration Failed")
}
}
}
在我的 didReceive 中......我什么也没得到。
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
if let aps = userInfo["aps"] as? NSDictionary {
if let alert = aps["alert"] as? NSDictionary {
if let message = alert["message"] as? NSString {
print(message)
}
} else if let alert = aps["alert"] as? NSString {
print(alert)
}
}
if application.applicationState == .Inactive {
NSNotificationCenter.defaultCenter().postNotificationName("pushNotificationReceived", object: nil)
} else {
NSNotificationCenter.defaultCenter().postNotificationName("pushNotificationReceivedActive", object: nil)
}
}
我过去做过推送通知,并且熟悉这个过程。事实上,我刚刚使用 Firebase Cloud Messaging 进行了测试,并且推送在他们的服务中运行良好。如果有人可以提供帮助,将不胜感激...我很想知道 Sendbird 是否需要采取任何其他步骤。
更新:我已经联系了 Sendbird,问题是您上传 .p12 文件的仪表板上的一个错误;删除文件并重新上传可以解决问题。该错误已被修补。