小编mac*_*one的帖子

识别 Google Play 订阅用户

如何为 Android 应用实现(自动更新)订阅。

我已阅读文档

据我了解,该过程如下:

  • 用户在应用程序上订阅此类订阅。这将生成一个购买令牌。
  • 应用程序将此令牌以及用于识别此用户的内容发送到服务器
  • 服务器将与此用户一起存储此购买令牌,并将订阅标记为有效
  • 服务器通过 http-api 定期(通常每天一次)使用 cronjob 之类的东西验证此购买令牌
  • 如果订阅不再有效,则订阅将在服务器端标记为无效。
  • 如果应用程序向需要订阅的资源向服务器发出请求,客户端将随请求一起发送此用户身份字符串。然后我们检查数据库,如果该用户的订阅仍然标记为有效。

我现在的问题是,我们应该如何识别这些用户?我们是否有一个简单的用户 ID 可以在我们的应用程序和我们的服务器之间共享?还是我们应该使用不同的东西?这里的最佳做法是什么?

我们已经在 ios 上做了类似的订阅,我们使用设备的 uuid 来识别用户(至少只要我们能够使用 uuid)。


从下面的答案中,我们应该生成一个唯一的 ID。这对于每个设备(或每个应用程序安装)都是唯一的。但是如果用户更换了他的设备或重新安装了应用程序,这个 ID 将不再相同。所以我不确定这个用例的过程如何。我想到了这样的事情:

  • 用户在他的第二台设备上使用相同的 google play 帐户登录。
  • 随着应用程序启动(或变得活跃),我们将获取用户订阅
  • 然后,我们将从订阅中接收此购买令牌,并将它们与新的唯一 ID 一起发送到我们的后端服务器,就像用户进行了新订阅一样。

这是正确的过程吗?并保持购买令牌与第一台设备上的相同?


好的,我关于识别用户的问题得到了解答,提供的链接提供了足够的信息。如果我有一些问题,我会在关于 SO 的新线程中提出更多问题。

android billing google-play google-play-services

7
推荐指数
1
解决办法
1903
查看次数

如何调试 docker 推送到谷歌云工件注册表错误“清单未知:未找到请求的实体。”?

我们将图像从 gitlab-ci 推送到 google 工件注册表,以便部署到 google 云运行,但它突然停止工作。

脚本是

- echo $SERVICE_ACCOUNT_KEY > ./____keyfile.json
- gcloud auth activate-service-account --key-file="./____keyfile.json"
- gcloud auth configure-docker europe-west1-docker.pkg.dev
- docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG # pulls the previously build image that was pushed to gitlab's own registy
- docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG europe-west1-docker.pkg.dev/project-id/repository/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG
- docker push europe-west1-docker.pkg.dev/project-id/repository/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG


Run Code Online (Sandbox Code Playgroud)

最后推送显示:

The push refers to repository [europe-west1-docker.pkg.dev/project-id/repository/some-name]
bcf45157cf76: Preparing
151948c565a1: Preparing
5455690f232d: Preparing
65f565da952a: Preparing
66b19dc4e200: Preparing
e796b82d6587: Preparing
dcd9c7cf433b: Preparing
1f1a410f80c7: Preparing
b45078e74ec9: Preparing
e796b82d6587: Waiting
dcd9c7cf433b: Waiting
1f1a410f80c7: Waiting …
Run Code Online (Sandbox Code Playgroud)

docker google-cloud-platform gitlab-ci

5
推荐指数
1
解决办法
1042
查看次数