ios - 使用另一个 FIRApp 的 FIRMessaging

标签 ios swift firebase firebase-cloud-messaging

我正在使用 Firebase Messaging 为我的内部项目开发一个 Pod。我想将 FIRMessaging 和 FIRInstanceID 与另一个 FIRApp 一起使用,就像我可以使用 FIRDatabase 或 FIRAuth 一样,例如:

FIRApp.configure(withName: "Library", options: appOptions!)
var auth = FIRAuth(app: FIRApp.init(named: "Library")!)
var db = FIRDatabase.database(app: FIRApp.init(named: "Library")!)

这可能吗?我怎样才能实现它?

最佳答案

是的,您可以将 FCM 用于默认项目以外的项目。 FCM 根据项目的发件人 ID 生成代币。因此,如果您想生成与默认项目以外的项目相对应的 IID token ,则需要使用 tokenWithAuthorizedEntity函数生成 token 。

请注意,您必须禁用 swizzling,因为打开 swizzling 时将使用默认项目。

您的流程应该类似于:

  • 禁用混合
  • 注册远程通知
  • 检索 APNs token ,并调用 setApnsToken
  • 使用 tokenWithAuthorizedEntity 生成 token
  • 使用 tokenWithAuthorizedEntity 中使用的发件人 ID 从项目发送消息

关于ios - 使用另一个 FIRApp 的 FIRMessaging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40895295/

相关文章:

ios - 如何将我的操作添加到标准编辑 tableView 按钮 iOS

swift - 为什么我的 AVCapturePhotoOutput 文件输出这么大?

ios - 使用一个 UIWebView 加载具有不同按钮的多个 URL -- iOS Swift

javascript - 检查 child 的数量是否大于1

ios - Swift - 将数据从 firebase 传递到另一个 ViewController (segue)

ios - Obj-C-显示对应数组中每个单元格的正确数据

ios - 最近更新 - 像 snapchat 一样的故事

ios - 设计和自定义 View Controller

reactjs - Array Union 未在 Firebase Firestore reactjs 中定义

iOS - 将数据传递到另一个 View Controller