首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让我的rails项目成为AndroidPublisher客户端的最佳方法是哪种?

让我的rails项目成为AndroidPublisher客户端的最佳方法是哪种?
EN

Stack Overflow用户
提问于 2018-01-22 22:24:49
回答 1查看 823关注 0票数 1

我需要看到我的Android应用程序在我的CRM (在Rails中)的销售统计数据,有人建议我使用Google,但我对所有的文档感到困惑。让我的CRM成为Android客户端的最佳方式是哪一种?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-22 22:35:41

1.上传你的应用程序到Google ,如果你还没有上传你的应用程序来玩商店,你可以按照下一个指南。https://support.google.com/googleplay/android-developer/answer/113469?hl=en

当您创建一个项目时,Play Console将您的项目链接到上的一个新项目(Google和Google控制台是不同的,Play是用来管理在Play Store中运行的应用程序,而Developer是管理在Google中运行的应用程序和服务),所以只需确保您的游戏控制台与Google控制台中的-> Dashboard Dashboard(开发人员帐户) -> API访问->项目中的一个项目相链接

检查链接项目部分a,如果按钮显示UNLINK意味着Google开发者,它就准备好了。如果您想管理Google,因为控制台(用于测试实时通知,您需要此步骤)在您的计算机https://cloud.google.com/sdk/downloads上安装gcloud

2.创建用户并授予Rails项目访问rails应用程序的权限--您可以创建一个服务帐户凭据,这是您需要在应用程序中设置的一个JSON文件,因此每次您需要与服务帐户一起使用Google时,您都可以创建一个令牌来访问存储在Google中的数据。此令牌每60分钟到期一次,因此您可以使用cron每1小时自动恢复一次,或者在每次需要访问Google和令牌过期时创建一个恢复方法。(在本例中,客户端正在使用第二个选项)

在创建任何凭据之前,请检查选中的Cloud是否是您需要凭据的项目,您可以在顶部栏中检查它,Google Logo是选择要工作的项目的下拉列表。

确认您的项目,创建您的服务帐户遵循以下指南:https://developers.google.com/android/management/service-account

将您的JSON存储在一个安全的地方或您的rails应用程序中,如果您正在使用git,请不要忘记给出它。

然后转到您的Google Play Console to Dashboard->Settings->API Access,在服务帐户部分,您将看到一个服务的名称与您在云控制台中给您的服务帐户的名称相同,并按下一个蓝色按钮,上面有“授予访问权限”的图例,按它设置您想要授予该服务的权限,如果这是您第一次创建服务,只为测试管理员权限,那么如果您知道客户端的权限,您可以随时更改服务帐户的权限。

毕竟,您可以使用如下代码从播放控制台中提取数据

代码语言:javascript
复制
  require 'google/apis/androidpublisher_v2'
  Androidpublisher = Google::Apis::AndroidpublisherV2
  scopes = Androidpublisher::AUTH_ANDROIDPUBLISHER
  authorization = Google::Auth.get_application_default(scopes)
  publisher = Google::Apis::AndroidpublisherV2::AndroidPublisherService.new
  publisher.authorization = authorization
  publisher.authorization.fetch_access_token!
  //Using Android Publisher Api get the details of a product of your app.
  @product_info = publisher.get_in_app_product(params[:package]
  , params[:sku])

正如您在最后一段代码中看到的,要从Google中获取需要库AndroidPublisherV2的产品的数据,您需要将以下内容放入您的get文件:

代码语言:javascript
复制
gem 'google-API-client', '~> 0.9'

您可以检查http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/AndroidpublisherV2库中可用的方法。

要了解更多关于Google身份验证的信息,可以访问下面的链接:https://developers.google.com/identity/protocols/application-default-credentials https://github.com/google/google-auth-library-ruby

3.将Google /PUB配置为web钩子,如果您想接收实时通知,当用户使用InAppBilling在安卓应用程序中获得订阅时,您将需要使用Google平台的Sub/Pub服务。要开始遵循本指南:https://cloud.google.com/pubsub/docs/quickstart-console

在完成指南之后,如果您遇到了错误,如

代码语言:javascript
复制
ERROR: (gcloud.beta.pubsub.subscriptions.pull) 
NOT_FOUND: Resource not found (resource=realtime-subs).

可能控制台上的gcloud配置运行在不同的项目中,所以只需使用

代码语言:javascript
复制
> gcloud init 

并将创建子/酒吧的项目设置为“默认”。

然后继续下一篇教程,分配权限,并将Android通知与SUB/PUB订阅链接。notifications.html

要在控制台中提取测试通知,可以在控制台中键入以下内容:

代码语言:javascript
复制
> gcloud beta pubsub subscriptions pull <subscription-name>

您将用"packageName“值标识Android的通知。

现在,您需要创建子/发布订阅,将接收主题的所有通知推送到rails应用程序中的回调端点

首先,您将在回调中使用的域需要在Google域注册,以确保您是该域的所有者。访问https://console.cloud.google.com/apis/credentials/domainverification并选择选项卡Add,只需遵循流程显示的步骤。

如果您的rails应用程序位于本地主机,您可以使用ngrok分配一个URL,只需考虑每次重新启动ngrok URL更改时,您将需要为新的URL执行域验证。

在此之后,转到https://console.cloud.google.com/cloudpubsub/并创建一个新的订阅,使用提交到端点URL的传递类型,并在域中设置带有https的回调URL (即使您还没有在域中设置https,但如果您正在生产,请在您的域中设置SSL )

现在,您的Rails应用程序将收到应用程序发送到Google平台中主题的每一个通知。

西纳屈的客户样本可以作为ruby客户端的示例。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48391248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档