怎么在iOS中配置实时远程纪录?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<李>
将应用程序订阅到重火力点云通讯主题
李> <李>创建在远程配置更改时触发的云功能
李> <李>处理AppDelegate中的静音推送通知
李> <李>在下次启动时使远程配置缓存无效
李>如何设置重火力点云消息传递超出了本文的范围,但文档是一个很好的起点。
<强> 1。订阅到主题强>
推送通知启动并运行后,我们需要将应用订阅到主题。我们将专门用于远程配置。
Messaging.messaging () .subscribe (toTopic:“REMOTE_CONFIG"), {, error 在 ,if let error =, error { debugPrint才能(“Could  not subscribe 用Remote Config topic",,错误) ,} }
2。创建一个云服务
云功能只是一个node . js脚本,因此您需要在您的计算机上使用node . js。在撰写本文时,云功能支持v6节点或节点v8,其中v6是默认值。
获得节点。js后,首先安装重火力点CLI。
npm install -g firebase-tools
然后使用CLI工具进行身份验证。
firebase 登录
现在为函数创建一个文件夹,cd进入它并初始化重火力点项目。
firebase init 功能
这将启动CLI向导。完成它,你就准备好了。
是时候添加将向REMOTE_CONFIG通道发送静默推送通知的云功能。在新创建的项目的函数目录中,您将找到索引。js。打开它并用以下内容替换内容:
const functions =,要求(& # 39;firebase-functions& # 39;); const admin =,要求(& # 39;firebase-admin& # 39;); admin.initializeApp (functions.config () .firebase); 时间=exports.pushConfig functions.remoteConfig.onUpdate (versionMetadata =祝辞,{ ,//Create FCM  payload 用send data message 用REMOTE_CONFIG 主题。 ,const payload =, { ,,数据:{ ,,,CONFIG_STATE: & # 39;陈旧# 39; ,,} ,}; ,const options =, { content_available才能:真实 ,}; ,//Use 从而Admin SDK 用send 从而ping via FCM。 return 管理 .messaging才能() .sendToTopic才能(& # 39;REMOTE_CONFIG& # 39;,,有效载荷,,选项) ,然后才能(response =祝辞,{ ,,console.log(响应); ,, ,,return 零; ,,}); });
我们使用通知来传递带有密钥CONFIG_STATE的有效负载。这将向您的应用发出远程配置数据已更改的信号。如有必要,选项content_available是必要的,以使iOS恢复应用程序或在后台启动它。
现在该功能已经到位,我们可以将其部署到重火力点,以便它可以运行。
firebase deploy ——only 功能
这将部署到重火力点init函数中选择的重火力点项目。要部署到另一个项目,首先使用重火力点使用,加添加它。添加后,您可以使用my-project-alias切换运行重火力点的项目。
<强> 3。处理远程推送强>
我们需要在AppDelegate中实现方法:didReceiveRemoteNotification: fetchCompletionHandler:来处理传入的推送通知。如果用户信息字典有密钥CONFIG_STATE(我们添加到通知有效负载的那个),那么它就是我们正在寻找的通知。
func 应用程序(UIApplication _ 应用程序:,,,didReceiveRemoteNotification 用户信息:,AnyHashable:,,, fetchCompletionHandler completionHandler:, @escaping (_: UIBackgroundFetchResult),→,无效),{ ,if 用户信息(“CONFIG_STATE"), !=, nil { UserDefaults.standard.set才能(真的,,forKey:,“CONFIG_STATE") UserDefaults.standard.synchronize才能() ,} ,completionHandler (UIBackgroundFetchResult.newData) }怎么在iOS中配置实时远程纪录