直接从Android设备使用Google Play开发者API

问题描述

因此,我一直在尝试通过HTTP请求直接在我们的应用中使用Google Play开发者API,并且我们有一个可以与API进行通信的服务帐户。具体来说,我将使用它进行订阅跟踪(有效时间,购买状态等)

我已经有 access_token,refresh_token,client_id和client_secret ,它们在应用程序中已加密为二进制文件。可以直接从API获得响应,我可以说它是可行的,而且我相当确定存储信息的方法是足够安全的。

考虑到这一点,我想知道直接在设备上使用开发人员API是否是一个好主意,因为我没有后端服务器能够强大地保护它们之间的连接。是否会将发送和接收的信息视为敏感信息并应予以完全保护?还是使用HTTPS(开发人员API要求)就足够了?

我还想知道Google是否允许在多个设备(我说的是超过10万个设备)而不是从安全的后端服务器中使用开发人员API,或者是否被完全禁止并违背了它们可以从多个设备使用它的政策,并且必须直接从后端服务器使用该API。

有人直接在设备中使用开发人员API HTTP调用吗?如果这样做,能否告诉我您是否在安全性或策略方面遇到问题?或者,您知道已经禁止使用它了吗?

感谢您的帮助,谢谢。

旁注:我知道在这种情况下使用安全的后端服务器是更好的选择,但是我问这个问题是因为我无法使用它。在回答和评论这个问题之前,请记住这一点,谢谢。

解决方法

简短的回答是-您可以直接在设备上使用它,没有什么可以阻止它甚至在Playstore上发布-我已经将其用于推送通知,并且可以正常工作。

我知道每个client_id的某些API都有一个限制,每个项目可能有client_ids的一个限制(here还有更多细节)

关于access_token,refresh_token,-不要将它们存储在二进制文件中-这些值是易失的,因此可能会随着时间而变化-在应用程序运行时获取它们并随后存储。

您还可以使用Firebase远程配置存储敏感值(甚至使用Firebase云功能来处理API访问-这样会更加安全)。

access_token,refresh_token,client_id和client_secret-通常来讲,所有这些值都不被认为是非常私有或敏感的。一件不好的事-如果有人可以访问它-他们可能会使用它来访问存储在您的Google云平台中某处的客户数据,或者超出您的API限制并让您为此付费。

因此,它的安全性取决于您要存储和交换的用户信息以及要使用的API。除了您之外,没有人会告诉您您是否应该这样做,因为没有人会分享可能的结果和责任,但是从技术的角度来看,做这种事情没有任何重大障碍。