【发布时间】:2019-10-08 04:00:57
【问题描述】:
有没有人可以阐明使用 Swift 4.2 的 FCM 所需的方法,IOS 目标 >= 10 简化: 1)没有直接的“数据”消息……。仅通过 APNS 通知/提醒消息 2) 即使某些教程(没有解释原因)告诉我将其关闭,我仍将启用 Swizzling
我发现 IOS 弃用问题和 FCM 方面的一些文档遗漏使这种方式比它需要的更加混乱。
我们能否得到一个简单的矩阵,例如: 应用状态 |关闭|背景 |前景 |
用户操作: 无(简单消息到达 IOS) 解雇通知 点击通知 选择通知操作 直接打开应用——不参与通知
在上述场景中调用的方法是: 等等……
此外,无论 APNS 是否已发送令牌,FCM 似乎都会创建自己的令牌;所以我需要不同的逻辑来检测用户是否已授予权限,然后我的服务器才能假定 FCM 令牌完全可以工作……我想我只是在确定我有一个 APNS 令牌之前不会将 FCM 令牌发送到服务器…… ???
此外,FCM 文档清楚地表明用户可见(即警报/通知样式)有效负载是通过 APNS/Apple 交付的。
因此,我认为我可以假设在 Apple 向我发送 APNS 令牌之后,FCM 消息才会到达。
但我似乎无法从 FCM 委托方法读取或检索 Apple 令牌。
此代码始终为 apns 返回一个空字符串,因此我无法判断我的应用是否处于可靠状态:
@objc func 消息(_ 消息:消息,didReceiveRegistrationToken fcmToken:字符串){ print("Firebase 注册令牌:(fcmToken)") 让 apnsTokenData = 消息传递.apnsToken 让 apnsToken = apnsTokenData?.reduce("", {$0 + String(format: "%02X", $1)}) ?? “” print("apnsToken:(apnsToken)")
感谢您的澄清!
【问题讨论】:
标签: ios swift firebase firebase-cloud-messaging