当您下载适用于iOS的新Google套件应用程序时 - 无论是GMail,收件箱,日历还是其他任何内容 - 它们都会让您使用您的帐户登录,并且已经向您显示您在其他地方登录的帐户< / em>的
问题是适用于iOS和Android。
我知道应用可以使用Safari或新的Safari WebView(Android中的Chrome标签)和永久性Cookie来在应用之间共享数据。它有点笨拙,可以被用户删除cookie打破。但除此之外,它确实有效。
谷歌似乎正在使用别的东西。 AdvertisingID? 完全如何实现在两个操作系统上共享数据的壮举?答案 0 :(得分:3)
AppGroup允许通过创建一个公共共享路径(如文档目录)在两个不同的应用程序甚至应用程序和小部件之间共享数据。在那里保存的数据可以由与该特定AppGroup相关联的任何应用程序访问。它是应用程序之间的脱机数据共享。 Communicating and persisting data between apps with App Groups
答案 1 :(得分:2)
在Android上:
他们可能使用Content Providers。如此link中所述,
内容提供商管理对中央数据存储库的访问。一个 provider是Android应用程序的一部分,它经常提供它 拥有处理数据的UI。但是,内容提供商是 主要用于访问其他应用程序 使用提供者客户端对象的提供者提供者和 提供者客户端为数据提供一致的标准接口 还处理进程间通信和安全数据访问。
内容提供商协调对应用程序中数据存储层的访问,以获取许多不同的API和组件,其中包括:
TL; DR 简而言之,Content Provider是一个允许您与其他应用/小部件共享数据库的层。因此,谷歌可能在每个应用程序中都有一个内容提供商,它共享在此应用程序上使用过的帐户。
在iOS上:
现在我只是一名Android开发人员,但经过快速的Google搜索,我发现这个post会谈到UIPasteBoard:
使用UIPasteboard类让用户从一个地方共享数据 在您的应用中,从您的应用到其他应用。对于 与任何其他应用程序共享数据,使用全系统通用 纸板;用于与您团队中的其他应用共享数据 与应用程序共享的团队ID,用于共享使用中的命名粘贴板。
我无法向您保证,这正是Google的做法。但如果我要在我的应用程序中实现这样的东西,我会使用它。