使用Firebase Cloud功能反应本机推送通知

Google为Firebase提供的新Cloud Functions服务是对其产品的巨大补充,我一直专注于将其用于一项功能:无服务器推送通知。 几周前,我开始开发基本的社交网络应用程序,从一开始就实施通知是一个明确的目标(老实说,这是该项目的目的)。 但是,我不想麻烦设置服务器来监听Firebase数据。 对我来说幸运的是,有了有关如何使用Firebase SDK的一些基本知识,推送通知变得快速而轻松。

即使使用此实现,设置推送通知也可能令人生畏,尤其是考虑到所需的设置量。 要执行我的实施,必须使用三个Firebase服务:

  1. Firebase身份验证 (技术上可选)
  2. Firestore或实时数据库
  3. Firebase云消息传递(FCM)
  4. Firebase云功能

使用RNF设置Firebase:

不幸的是,Google为React Native用户提供的文档非常有限,即使是最受欢迎的集成包也无法获得详尽的说明,并且功能不一致。 我选择使用React Native Firebase(RNF)。 幸运的是,它们的安装过程简单明了。

安装节点模块,然后链接依赖项。

  $ npm install-保存react-native-firebase 
  $ react-native链接react-native-firebase 

在控制台中创建Firebase项目,下载GoogleService-Info.plist并将其移至: ios / [您的应用名称],以便SDK可以连接到您的项目。 使用XCode打开项目以确保已正确添加文件。 如果它没有显示在边栏中,则只需将文件拖入。

然后,打开AppDelegate.m并添加:

  #import  

以及:

  [FIRApp配置]; 

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法的开头。

设置CocoaPods。

生成一个Podfile。

有时,Podfile会生成重复的声明,如果报告错误,则将以下内容复制并粘贴到您的声明中:

  #取消注释下一行以定义项目的全局平台 
平台:ios,“ 9.0”
 定位“ [您的应用名称]” 
#如果您使用的是Swift或想使用动态框架,请取消注释下一行
#use_frameworks!
  #网眼豆荚 
pod“ Firebase / Core”
pod“ Firebase / Firestore”
pod“ Firebase /消息传递”
 目标“ Sesh-tvOSTests” 
继承! :search_paths
#测试豆荚
结束
 目标“ SeshTests” 
继承! :search_paths
#测试豆荚
结束
 结束 

跑:

  $ pod安装 

如果遇到任何问题,请参考此处。

我将假设您已经有一个使用后端数据库构建的可以正常工作的应用程序,以节省时间-不用担心,有关如何执行此操作的指南很多,请在此处查看文档。 至少,对于定向推送通知,您的数据库必须为每个用户存储唯一的推送令牌,并可能存储一些数据来发送它们。