Kaz*_*ita 1 push-notification ios firebase firebase-cloud-messaging
我正在尝试使用Firebase进行推送通知.但是,我已经遇到了障碍,即我无法在iOS中做那件事.我尝试了两种方法
Messaging.messaging().setAPNSToken(deviceToken, type: .prod) and InstanceID.instanceID().setAPNSToken(deviceToken, type: InstanceIDAPNSTokenType.sandbox)
Run Code Online (Sandbox Code Playgroud)
在第二
application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
Run Code Online (Sandbox Code Playgroud)
与Firebase进口.
我该怎么办?
编辑:这是一个补充信息,错误信息是这样的. 无法获取默认令牌Error Domain = com.firebase.iid Code = 1003"(null)" 我用Google搜索,但没有相关信息.
所以你很亲密.以下是FireMap 4.0版云消息传递中正在发生的事情......
当您拨打电话时application.registerForRemoteNotifications(),iOS会申请APNs证书,就像任何一款iOS应用程序一样.
假设您没有关闭方法(并且您可能没有),Firebase将自动在其自己的混合didRegisterForRemoteNotificationsWithDeviceToken方法中为该FCM令牌交换该APN标记.
当该交换完成后,火力地堡可以让你的应用程序知道.它曾经是这样做的唯一方法是创建类型的NSNotification kFIRMessagingRegistrationTokenRefreshNotification.但是这些天,它也可以让你知道MessagingDelegate.因此,最简单的方法是通过调用...来声明AppDelegate是一个消息传递委托.
Messaging.messaging().delegate = self
Run Code Online (Sandbox Code Playgroud)
......然后实施该messaging(_:didRefreshRegistrationToken)方法.
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
print("Look! I have an FCM token! \(fcmToken)")
}
Run Code Online (Sandbox Code Playgroud)所以tl; dr是你不需要手动交换FCN令牌的APNs令牌,你只需要设置你的委托,以便在FCM库为你做这件事时得到通知.
| 归档时间: |
|
| 查看次数: |
2027 次 |
| 最近记录: |