Benjamin's Blog

轻松搞定 Moon FM 同步

轻松搞定 Moon FM 同步
2021-02-27 · 4 min read
Ingenious Skills

这是一篇发布于 5 个月前的文章,其中的信息可能已经有所发展或是发生改变

简单好用的全平台泛用型播客客户端

要说泛用型播客客户端里谁最好看,当然非 Moon FM 莫属。作为一款全平台覆盖的产品来说,数据之间的同步则是我最关心的问题。Moon FM 官方仅提供使用 CouchDB Replication Protocol 来进行同步[1],或者选择使用 OPML 文件在不同设备间实现导入和导出功能

作为一位 Apple 全家桶用户,自然希望 App 能够实现 iCloud 设备同步,或者内置开发者自己的同步服务。然而,作为一款全平台覆盖的 App,在并不支持 iCloud 的设备中使用 iCloud 同步自然不现实。而开发者自己搭建同步服务有可能会涉及隐私和成本问题。对于普通用户而言,可能没有太多的编程相关的经验,何况使用 CouchDB Replication Protocol 还需要一台自己的服务器,那么有没有一种成本较低又相对简单的方法来实现同步呢?

答案是 Cloudant —— 一款 IBM 提供的 DBaaS 数据库即服务软件产品,它基于 Apache 的 CouchDB 项目和开源项目 BigCouch 项目的 NoSQL 分布式数据库

目前 IBM Cloud 有免费的方案可选(即 Lite Plan),且无需信用卡绑定,也没有时间限制。而由于 Cloudant 完全兼容 CouchDB 的 API,所以可以直接在 Moon FM 中使用 Cloudant 提供的地址进行同步。这一方案可以说是同时满足了兼容性和成本两大问题

注册 IBM Cloud 并创建 Cloudant 服务

登陆 IBM Cloud 注册 IBM Account,登录成功后,直接在顶部搜索栏中搜索「Cloudant」[2]

IBM Cloudant is a fully managed JSON document database that offers independent serverless scaling of throughput capacity and storage.
IBM Cloudant 是一个完全托管的 JSON 文档数据库,提供独立的、无服务器的吞吐量、容量和存储扩展

创建 Cloudant 实例

  • Available regions 选择你需要的地区即可,推荐东京或悉尼
  • Instance name 填写任意名称均可,Resource group 选择「Default」即可
  • Authentication method 请选择「IAM and legacy credentials」,因为 Moon FM 使用的是 legacy credentials[3]
  • Plan 选择「Lite」[4]

Lite Plan 包含每秒 20 次的读取、每秒 10 次的写入、每秒 5 次的全球查询以及 1 GB 的存储空间,这对于我们的 Moon FM 同步来说绰绰有余

创建数据库并生成服务凭证

创建好的 IBM Cloudant 实例

点击右方的 Launch Dashboard 进入实例的 Dashboard,点击 Create Database 创建一个数据库,Partitioning 选择「Non-Partitioned」,并记住这个数据库的名称

创建一个数据库

创建完数据库,返回实例资源列表。在左侧选择「服务凭证」,点击新建凭证

新建服务凭证

  • 凭证名称填写任意名称均可
  • 角色选择「读者(Reader)」
  • 选择服务标识选择「自动生成」

凭证创建完成后,点击凭证左侧下拉按钮,查看凭证内容,其中的 URL 字段,即是我们所需的内容

凭证中的 URL 字段即是我们所需的内容

组合最终地址

将凭证中的 URL 字段和之前创建的数据库的名称组合在一起,即是我们最终需要的同步服务所用到的资源地址。组合形式为 凭证中的 URL 字段/数据库名称

将最终的资源地址填入 Moon FM 即可

有了这个最终的资源地址,将其填入 Moon FM 的 CloudDB Database URL 即可完成 Moon FM 的同步设置

Fin.


  1. 目前,Moon FM 会在收藏、订阅、当前播放列表以及播放历史记录的内容发生变化后触发同步 ↩︎

  2. IBM Cloud 页面中的部分本地化文案非常具有「迷惑性」。如果你懂英语,倒不如直接将显示语言更改为英语,在理解项目含义上会少走些弯路 ↩︎

  3. 旧版凭据可使用 HTTP Basic 身份验证登录 Cloudant ↩︎

  4. Lite 计划具有设定功能的开发和评估功能,每个帐户仅有一个精简版计划实例资格 ↩︎

轻松搞定 Moon FM 同步

许可协议:CC BY-NC-SA 4.0。欲了解更多相关信息,详见 版权信息与资源使用说明 页面

本站所有内容除特别说明外,皆为原创发布。欢迎尊重原创作者版权的转载或引用。转载或引用时请注明出处


出现了影响阅读的问题?不妨 反馈 一下吧

本文已被阅读 次,该数据仅供参考

我们欢迎任何与文章内容相关并保持尊重的评论,评论时请遵守我们的 评论准则

共 33 篇文章| RSS
© 2021 Benjamin.