使用Firebase在iOS中推送通知

这适用于Firebase 4.0.4。 如果您想测试推送通知,可以使用我的应用程序PushNotifications

准备推送通知证书

转到会员中心-> Certificates -> Production

证书

现在,您可以在沙箱和生产环境中使用1个证书

授权键

  • 如果您想使用身份验证密钥,请阅读提供商身份验证令牌

配置推送通知

  • 转到Firebase控制台-> Settings -> Project Settings -> Cloud Messaging -> iOS app configuration
  • 如果您使用证书,则两个字段仅使用1个Apple Push Notification service SSL
  • 如果您使用身份验证密钥,请填写APNS auth key

新增广告连播

在您的Podfile ,声明

  pod“ Firebase / Core” 
pod“ Firebase /消息传递”

禁用应用程序委托

  • 在Firebase Cloud Messaging中读取方法混乱
  • 您应该拒绝打扰。 在您的Info.plist执行此操作
   FirebaseAppDelegateProxyEnabled  

进一步了解Messaging.messaging().apnsToken

此属性用于设置应用程序委托接收的APNS令牌。
FIRMessaging使用方法转换以确保自动设置APNS令牌。 但是,如果通过 在应用程序的Info.plist中将 FirebaseAppDelegateProxyEnabled 设置 NO 禁用混流 ,则应在应用程序委托的-application:didRegisterForRemoteNotificationsWithDeviceToken:方法中手动设置APNS令牌。
如果您想设置APNS令牌的类型,而不是依靠自动检测,请参阅:-setAPNSToken:type:。

配置Firebase

您可以并且应该在代码中配置Firebase

 导入Firebaselet选项= FirebaseOptions(googleAppID:“”,gcmSenderID:“”) 
options.bundleID =“”
options.apiKey =“”
options.projectID =“”
options.clientID =“”
FirebaseApp.configure(选项:选项)

处理设备令牌

 导入Firebasefunc应用程序(_应用程序:UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken:数据){ 
Messaging.messaging()。apnsToken = deviceToken
}

检索FCM令牌

读取访问注册令牌

默认情况下,FCM SDK在您的应用程序初次启动时会为客户端应用程序实例生成注册令牌。 与APNs设备令牌类似,此令牌使您可以将通知消息定位到该应用程序的特定实例。

  Messaging.messaging()。fcmToken 

观察FCM代币更改

读取Monitor令牌生成

  Messaging.messaging()。delegate = self // MARK:-MessagingDelegatefunc消息传递(_消息传递:Messaging,didRefreshRegistrationToken fcmToken:String){ 
打印(fcmToken)
}

原始故事https://github.com/onmyway133/blog/issues/64