标签: google-play-developer-api

如何在退款后撤销 Android 应用内非消耗品购买权限?

我目前正在测试我的 Android 应用程序(应用程序内支付的许可测试),需要多次重复购买和退款项目来测试它。最后一次,在发放退款时,我不小心忘记选中 Play Developer Console 中的“撤销权利”框(由于某种原因,默认情况下未选中)。现在,我的应用程序版本始终具有权利,我无法再测试购买它。

我知道无法通过网站撤销权利。似乎有一种方法可以通过 API 调用来实现,但是我没有应用程序的后端设置,并且无法弄清楚如何通过我的浏览器/curl 成功调用该函数(总是认证错误)。我的应用程序似乎无法区分购买的权利或已退款但未撤销的权利(我的Purchase对象getPurchaseState()调用总是返回Purchase.PurchaseState.PURCHASED),所以我不知道是否可以通过应用程序的代码库撤销它.

有什么办法可以撤销授权吗?授权自己进行 API 调用的过程对我来说是完全不透明的,但如果我能理解,这似乎是一条可行的途径。

android in-app-billing google-play google-play-services google-play-developer-api

10
推荐指数
1
解决办法
478
查看次数

禁用 Google Play Console 完整性 API

我最近启用了 Google Play Console 的 Integrity API,但我不打算使用它,有办法禁用它吗?

在“设置”>“应用程序完整性”>“完整性 API”上似乎没有禁用它的选项 我尝试联系 Play 支持,但几个月来我还没有收到回复。

google-play google-play-services google-play-developer-api google-play-console google-play-core

10
推荐指数
0
解决办法
918
查看次数

以编程方式获取google dev_acc id

鉴于用户(Google Play的帐户所有者)已使用正确的范围对我的应用程序(Google App Engine的服务帐户)进行了身份验证...

Google API中是否有返回dev_acc用于访问其Play商店开发者帐户的参数的端点?

具体我想检索它以访问https://play.google.com/apps/publish/?dev_acc=DEV_ACC_IDgs://pubsite_prod_rev_DEV_ACC_ID/ 编程方式找到的以下URI 或云存储桶?

或者,列出他/她拥有的所有云存储桶?(包括gs://pubsite_prod_rev_DEV_ACC_ID/水桶)

google-api-client google-cloud-storage google-play google-api-ruby-client google-play-developer-api

9
推荐指数
0
解决办法
353
查看次数

使用Firebase功能验证购买

我想使用Firebase功能和Purchases.products验证我的应用中的购买:get 但我不知道如何使用链接中的授权范围或如何在Firebase功能中构建请求.这是我到目前为止:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const google = require("googleapis");
const publisher = google.androidpublisher('v2');
admin.initializeApp(functions.config().firebase);

exports.validatePurchases = functions.database
    .ref('/purchases/{uId}/{orderId}')
    .onWrite((event) => {
        const purchase = event.data.val();
        const token = purchase.token;
        const packageName = purchase.package_name;
        const sku = purchase.sku;
        const signature = purchase.signature;
        const uri = "https://www.googleapis.com/androidpublisher/v2/applications/" + packageName + "/purchases/products/" + sku + "/tokens/" + token;

        return TODO;
    });
Run Code Online (Sandbox Code Playgroud)

我主要设置了所有内容,但我的JavaScript知识非常有限,并且不知道如何构建Request并获取Firebase函数中的结果

in-app-purchase node.js firebase google-play-developer-api google-cloud-functions

9
推荐指数
1
解决办法
2009
查看次数

如何通过 google play api 获取购买产品的付款(价格和货币)信息

我正在使用 google play 开发者 API,因此在用户购买产品后,我想在服务器端获取该购买的详细信息,因此我使用 google play 开发者 api 来获取该信息,但不幸的是,该 API 不会返回任何信息用户支付了多少费用(价格和货币)的信息 API 仅返回以下信息

{
  "kind": "androidpublisher#productPurchase",
  "purchaseTimeMillis": long,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer
}
Run Code Online (Sandbox Code Playgroud)

如何通过 google play api 获取购买产品的价格?

c# google-play-developer-api

9
推荐指数
0
解决办法
392
查看次数

java.lang.IllegalArgumentException:组件类 com.google.android.gms.wallet.ocr.CardRecognitionShimProxyActivity

在 Google Play 中发布应用程序后,我注意到Google Play 开发者控制台/移动 Pixel 5 上的预发布报告中存在一个崩溃问题。

App是使用Flutter框架构建的。

请指导我解决这个问题。

FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
Process: com.google.android.gms, PID: 2823
java.lang.IllegalArgumentException: Component class com.google.android.gms.wallet.ocr.CardRecognitionShimProxyActivity does not exist in com.google.android.gms
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2377)
    at android.os.Parcel.createException(Parcel.java:2357)
    at android.os.Parcel.readException(Parcel.java:2340)
    at android.os.Parcel.readException(Parcel.java:2282)
    at android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(IPackageManager.java:6793)
    at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:2714)
    at m.bfw.j(:com.google.android.gms.policy_payments@213380802@213380802065.395552306.395552306:2)
    at com.google.android.gms.wallet.common.ModuleInitializer.b(:com.google.android.gms.policy_payments@213380802@213380802065.395552306.395552306:2)
    at m.apa.onHandleIntent(:com.google.android.gms.policy_payments@213380802@213380802065.395552306.395552306:6)
    at com.google.android.chimera.IntentOperation.onHandleIntent(:com.google.android.gms@213017046@21.30.17 (150400-395706864):2)
    at sfq.onHandleIntent(:com.google.android.gms@213017046@21.30.17 (150400-395706864):4)
    at eka.run(:com.google.android.gms@213017046@21.30.17 (150400-395706864):5)
    at ejz.run(:com.google.android.gms@213017046@21.30.17 (150400-395706864):11)
    at bwof.run(:com.google.android.gms@213017046@21.30.17 (150400-395706864):2)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:923)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:21135) …
Run Code Online (Sandbox Code Playgroud)

android google-play-services google-play-developer-api flutter google-play-console

9
推荐指数
1
解决办法
1831
查看次数

从google play developer api访问编辑方法

我成功通过google play developer rest api验证,我也得到了刷新令牌,但我可以弄清楚如何进行编辑请求.我在以下链接有方法签名:

https://developers.google.com/android-publisher/api-ref/edits/insert
Run Code Online (Sandbox Code Playgroud)

我添加了以下标题

Authorization:{{token_type}} {{access_token}}
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚包装名称的位置:

POST https://www.googleapis.com/androidpublisher/v2/applications/packageName/edits
Run Code Online (Sandbox Code Playgroud)

packageName像上面一样使用get和post作为参数推送,在这两种情况下我遇到"404 not found"错误.请帮忙.

java rest google-play-developer-api

8
推荐指数
1
解决办法
328
查看次数

如何获得访问 Google Play 开发者 API 的授权

我正在尝试访问 Google Play 开发者 API https://developers.google.com/android-publisher/为我的公司应用程序构建一个应用内购买产品。

我们必须获得授权才能对 Google Play 开发者 API 进行 GET 调用。https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

我遵循了此处介绍的步骤。https://developers.google.com/android-publisher/authorization

在此处输入图片说明

创建了一个 Oauth 客户端和服务帐户。我使用的 gmail 帐户是 play.google.com 控制台中“用户和权限”的一部分。

但是当我尝试访问 API 时,出现错误 在此处输入图片说明

当我开始搜索这个错误时,我了解到在 play.google.com 中还有一个叫做“API 访问”的东西。当我试图访问它时,我看到的只是 在此处输入图片说明

但是我在其他帖子中看到存在一个屏幕,其中包含诸如https://i.stack.imgur.com/Hdjjy.png 之类的详细信息

那么我该如何继续访问 API。我做了谷歌文档中提到的所有事情,但没有奏效。此外,我无权查看“API 访问”屏幕。

我也很困惑,如果您可以从“API 访问”屏幕和 console.developers.com 的“凭据”屏幕创建服务帐户,应该使用哪一个?

google-api in-app-purchase google-api-java-client google-play google-play-developer-api

8
推荐指数
1
解决办法
5359
查看次数

跟踪用户/google 执行的 Google Play 退款

我们希望存储 Google Play 购买退款何时给用户以进行数据分析。

根据文档,用户可以通过 3 种方式申请 google play 订阅退款: https://support.google.com/googleplay/answer/2479637?hl= en

如果用户向开发者(我们)请求退款,我们可以在我们的服务器上跟踪并在我们这边进行管理,没有问题。不过,用户也可以直接向谷歌要求退款。问题是我们找不到此类退款的文件。

查看订阅的 API 文档,它没有提供购买是否已退款: https: //developers.google.com/android-publisher/api-ref/purchases/subscriptions

还尝试研究实时开发人员通知系统。好像没有退款活动。 https://developer.android.com/google/play/billing/realtime_developer_notifications#json_specation

你知道如果谷歌最终退款会发生什么吗?

android subscription android-billing google-play-developer-api

8
推荐指数
1
解决办法
5586
查看次数

Expo EAS 提交,服务帐户密钥存储位置

我正在考虑使用 EAS(世博应用程序服务)向 Google Play 商店提交构建。根据文档,serviceAccountKeyPath需要 a:

https://docs.expo.dev/submit/eas-json/#serviceaccountkeypath

eas submit -p android我已通过运行并在出现提示时输入 JSON 服务帐户密钥的路径成功提交了构建。

由于这是敏感信息,我不希望将其添加到我的 git 存储库中。我应该将其添加到我的 .gitignore 中,还是有更好的方法,例如以某种方式将其存储在我的 expo 帐户中?

google-play-developer-api expo google-play-console

8
推荐指数
2
解决办法
5530
查看次数