我目前正在测试我的 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
我最近启用了 Google Play Console 的 Integrity API,但我不打算使用它,有办法禁用它吗?
在“设置”>“应用程序完整性”>“完整性 API”上似乎没有禁用它的选项 我尝试联系 Play 支持,但几个月来我还没有收到回复。
google-play google-play-services google-play-developer-api google-play-console google-play-core
鉴于用户(Google Play的帐户所有者)已使用正确的范围对我的应用程序(Google App Engine的服务帐户)进行了身份验证...
Google API中是否有返回dev_acc用于访问其Play商店开发者帐户的参数的端点?
具体我想检索它以访问https://play.google.com/apps/publish/?dev_acc=DEV_ACC_ID以gs://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
我想使用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
我正在使用 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 获取购买产品的价格?
在 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
我成功通过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"错误.请帮忙.
我正在尝试访问 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 控制台中“用户和权限”的一部分。
当我开始搜索这个错误时,我了解到在 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
我们希望存储 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
我正在考虑使用 EAS(世博应用程序服务)向 Google Play 商店提交构建。根据文档,serviceAccountKeyPath需要 a:
https://docs.expo.dev/submit/eas-json/#serviceaccountkeypath
eas submit -p android我已通过运行并在出现提示时输入 JSON 服务帐户密钥的路径成功提交了构建。
由于这是敏感信息,我不希望将其添加到我的 git 存储库中。我应该将其添加到我的 .gitignore 中,还是有更好的方法,例如以某种方式将其存储在我的 expo 帐户中?
google-play ×4
android ×3
c# ×1
expo ×1
firebase ×1
flutter ×1
google-api ×1
java ×1
node.js ×1
rest ×1
subscription ×1