我已经按照文档进行了操作,并成功注册了Sendbird的推送通知(上传了.p12 dev certificate+register device token with Sendbird SDK等),但没有收到任何通知。
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")
}
}
}
在我的收受中…我什么也得不到。
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云消息,推送对他们的服务很好。如果有人能帮忙的话,我将非常感谢……我很想知道森伯德是否还需要采取其他措施。
更新:我已经联系了Sendbird,问题是他们的仪表板上有一个错误,你在那里上传了.p12文件;删除文件并重新上传解决了这个问题。从那以后,这个窃听器就被修补了。
最佳答案
SendBird只在用户脱机时向用户发送推送通知。
请确认您向脱机用户发送了邮件。(例如,按home按钮使应用程序在后台运行,使其从SendBird脱机)
关于ios - Sendbird没有在iOS上推送通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39583076/