【问题标题】:How to store data in android instant app and restore it in installed app如何将数据存储在 android 即时应用程序中并在已安装的应用程序中恢复
【发布时间】:2017-08-02 09:18:19
【问题描述】:

根据谷歌药物开发的即时应用程序

“最佳做法”是“在应用安装后保持用户状态”

https://developer.android.com/topic/instant-apps/ux-best-practices.html#keep_user_state_after_app_installation

我尝试在免安装应用和已安装应用中使用内部存储,但它不起作用,因为路径不同:

  • 即时应用:/data/user/0/com.google.android.instantapps.supervisor/files/hosted/package_name/files
  • 已安装的应用程序:/data/user/0/package_name/files

当然,外部存储也不起作用,因为免安装应用可以接收到它的权限。

有没有人知道或知道如何解决这个问题,应该根据谷歌“最佳实践”来解决?

【问题讨论】:

  • 你在开玩笑吧?您无法存储即时应用程序中的数据。即时应用程序的唯一目的是让用户做他/她的事情并离开。 Ezee Pzee!
  • 不,我不是在开玩笑......所以请解释一下如何“在应用安装后保持用户状态”和“当用户安装应用时,确保将他们存储的应用状态转移到应用中使用 cookie 或本地存储”嗯?
  • 然后使用SharedPreferences。但只有当用户安装应用程序时才应该这样做
  • 为什么你认为应该只对已安装的应用程序执行此操作?我应该在SharedPreferences 中使用Context.MODE_PRIVATE 吗?我问是因为我尝试了这个解决方案,并且应用程序之间也有空数据;/
  • 不,我不同意你的观点,因为如果你回到 Instant App,你可以恢复之前保存的所有数据。是的,我已经阅读了很多次,但不幸的是,我知道的任何解决方案都不起作用..

标签: android android-instant-apps


【解决方案1】:

您可以使用 StorageApi 将数据从 InstantApp 迁移到已安装的应用程序,例如:google sample storage api。只需访问 InstantApps.getInstantAppsClient(this).instantAppData 你有它,addOnSuccessListener 给你。

【讨论】:

    【解决方案2】:

    从即时应用程序到已安装应用程序的存储传输在 O+ 上自动发生,但对于低于 O 的平台,您需要使用此 API。请参阅 Android Instant Apps 常见问题解答:“如何将数据从 Instant App 传输到已安装的应用程序?”

    https://developer.android.com/topic/instant-apps/faqs.html

    对于运行 Android 8.0(API 级别 26)或更高版本的设备,即时 安装 APK 时会自动传输应用程序的数据 开始。对于运行 Android 7.1.1(API 级别 25)或更低版本的设备, 在 Google Play 服务中调用兼容性 API。

    【讨论】:

      【解决方案3】:

      我能想到的唯一选择是以某种方式将该信息保存在您的服务器上,当用户安装应用程序时,将其恢复并从他离开的地方继续。 这是谷歌为带有购物车的应用程序指定的东西(例如),安装后用户将能够继续购物而不会丢失他可能已经选择的任何文章。还要记住,通过 SmartLock,您可以在设备上保存一个帐户,然后在安装的应用程序中恢复它。 希望这会有所帮助!

      【讨论】:

        【解决方案4】:

        我一直在使用 couchbase lite 将我的数据保存在 couchdb 服务器上,然后编写一个过滤器,然后使用同步网关从服务器运行 pullReplication,您可以查看它是如何工作的 here。然后在 android 应用程序中,我使用 SharedPreferences 检查它的应用程序是否首先运行然后运行同步

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-21
          • 2011-09-16
          • 2014-10-26
          • 1970-01-01
          • 2014-10-20
          • 2013-09-21
          • 2013-10-31
          • 1970-01-01
          相关资源
          最近更新 更多