iOS上的实时远程配置

需要快速推出“远程配置”更改时该怎么办? 也许您所做的最后更改没有奏效,您想尽快撤消它们。 否则您的应用出现问题,您需要禁用整个功能。

调用fetchWithExpirationDuration:completionHandler:更为频繁(有效期较短)是一种方法,但Firebase不建议这样做。 这样您就有被节流的风险。

如果您可以根据需要使Remote Config缓存无效,而不必对较短的到期时间进行硬编码怎么办? 不必反复要求服务器进行更新,而是让服务器在发生更改时通知您。 Firebase Remote Config现在与Cloud Functions集成,因此可以在发布或回滚配置时触发执行。 这意味着您可以使用一个函数向应用程序发送静默推送通知,以使其知道配置已更改。

静默推送通知将不会显示给用户,同时仍会触发AppDelegate中的回调。 您甚至可以通过将选项content_available设置为true来使iOS在推送通知到达时在后台启动您的应用程序(或恢复它)。 一个陷阱:如果用户手动将其杀死,iOS不会在后台启动您的应用程序。 这一直持续到下一次重启(第一次解锁后)。 除此之外,您真是太棒了。

实作

该过程归结为:

  1. 将应用程序订阅Firebase Cloud Messaging主题
  2. 创建一个在远程配置更改时触发的云功能
  3. 在AppDelegate中处理无提示推送通知
  4. 在下次启动时使远程配置缓存无效

如何设置Firebase Cloud Messaging不在本文讨论范围之内,但是文档是一个不错的起点。

1.订阅主题

推送通知启动并运行后,我们需要为该应用订阅主题。 我们将专门为远程配置目的使用一种。

2.创建云功能

Cloud Function只是一个Node.js脚本,因此您的计算机上将需要Node.js。 在撰写本文时,Cloud Functions支持Node v6或Node v8,默认为v6。

拥有Node.js后,请先安装Firebase CLI。

  npm install -g firebase-tools 

然后使用CLI工具进行身份验证。

  Firebase登录 

现在,为函数创建一个文件夹,将其cd入其中并初始化Firebase项目。

  Firebase初始化功能 

这将启动CLI向导。 完成它,您就可以开始了。

Interesting Posts