我正在制作一个WebExtension(对于Firefox),用于跟踪用户的列表。用户可以从列表中添加/删除元素,也可以将元素从一个列表切换到另一个列表,这意味着扩展程序需要使用列表的最新版本。
因此要在台式机和Android上使用,该扩展程序都需要传输/同步一些数据(可以字符串化)。
我正在尝试为用户提供一种尽可能简单的方法,而无需使用外部服务。
对此的理想解决方案(对用户完全透明)是使用storage.sync
,但是尽管它确实在设备之间进行同步,但是(尚未)在普通Firefox(台式机)和Firefox之间进行同步。 Android(在https://bugzilla.mozilla.org/show_bug.cgi?id=1316442处跟踪实现)。
另一种解决方案是使用bookmarks
API,但是Firefox for Android(https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks)也不支持。
这给我留下了两个我可以看到的解决方案:
让用户将数据保存到本地文件/从本地文件中检索数据,这意味着他们需要将文件复制到其他设备(这就是我现在所拥有的)。
将数据保存到第三方服务器/从第三方服务器检索数据(这意味着我必须创建一个服务器,并让用户在该服务器上创建帐户)。
我还缺少其他解决方案吗?
答案 0 :(得分:1)
根据this support document,以下数据是与Android同步的:书签,历史记录,打开的标签页,表单信息和密码。
This chart shows which web extension APIs are supported on Android:
此列表中未提及,但BrowserSettings
也已同步。它允许覆盖某些已同步的字段(homepageOverride
,newTabPageOverride
),但是必须在manifest.json中定义这些字段,因此它们不能是动态的。另外,它可能会干扰正常功能。
结论:等待浏览器支持或选择服务器解决方案。