如何在启用Google Play App Signing功能时测试应用内付款?

Ily*_*lya 21 android in-app-billing google-play

我想测试应用内付款,并启用了Google Play App Signing(GPAS).

为了测试付款,我需要一个用真实密钥签名的apk(根据GPAS签名密钥).

但我没有私钥签署证书.它由Google生成并存储在Google Play中.

每次我想测试应用内付款时,如何避免将apk上传到Google Play?

如何在某处下载签名私钥?

Llu*_*art 5

我在Alpha通道中启用了应用并启用了"Google Play App Signing",并且我已经能够使用一些测试人员帐户测试应用内结算而不会出现重大问题.

在Google Dev Console >>发布管理>>应用程序发布>>管理Alpha >>管理测试人员中,您可以创建测试人员帐户列表,然后向他们传递可以安装和测试应用程序的Web链接.

发布商(开发人员)帐户无法购买商品,但我创建了另一个帐户,用于我在模拟器(Genymotion + Gapps)中使用的测试没有问题.

发现的唯一不幸事件是,有些测试人员在购买产品时系统会要求他们支付真实费用!他们不应该按照Google文档说的那样收费,我已经通过在控制台中为他们创建了一些促销代码来解决这个问题.

也许你的问题是你已经有生产中的应用程序,而不是alpha或beta?

希望它会有所帮助.

更新:

你在另一个回答中说道:"但是每次我对我的申请做出任何改变时,我都不想等几个小时.这就是重点."

你不需要在每次做出改变,你可以继续通过USB或与Play商店安装模拟器调试你的应用时,上传其他版本,只要调试设备使用谷歌测试账号和她/他已经接受成为收到的网络链接的测试人员.

当然,这个测试人员可以使用谷歌帐户,而不是应用程序发布者之一

更新2

如果怀疑是由于认为应用程序内的计费购买是使用与应用程序相同的密钥签署的,那么它就不是真的.使用与应用程序不同的密钥对购买进行签名,您可以在开发工具>>服务和API中的开发人员控制台中获取Base64编码的RSA公钥

  • 没关系,调试或发布您正在使用的版本。我们正在谈论另一个问题。要进行应用内购买,您需要使用使用发布密钥签名的应用。但是您没有真正的发布密钥。它存储在Google Play中。使用真实密钥对应用程序进行签名的唯一方法是将其上传到Google Play。 (2认同)
  • 这看起来真的很奇怪,因为我不能对我的应用程序做同样的事情。如果应用程序签名错误,Google Play 会拒绝购买(阅读:与 Google Play 中的不同) (2认同)

Pie*_*ley 2

如果您需要测试真实交易,唯一的方法是至少公开您的应用程序的 alpha 版本,如此处所述

\n
\n

由于 Google Play 不允许您使用开发者帐户\n直接购买您自己创建的应用内产品,\n您需要在您的开发者帐户\n个人资料下创建测试帐户。要创建测试帐户,只需输入有效的 Google 电子邮件\n地址即可。然后,拥有这些测试帐户的用户将能够从您管理的已上传、未发布的应用程序进行\n应用程序计费购买。

\n

要使用您自己的\n产品 ID 测试您的应用内结算版本 3 应用程序:

\n

在 Play 管理中心中,将一个或多个测试人员帐户添加到您用于发布应用程序的开发者\n帐户中。使用您的开发者帐户登录\nPlay 管理中心。单击“设置”>“帐户\n详细信息”,然后在“许可证测试”部分中,添加\n测试人员帐户的 Google 电子邮件地址。为您的\n应用内结算应用程序构建签名的 APK 文件。要了解如何构建和签署 APK,\n请参阅构建要发布的应用程序。确保您已\n将应用的签名 APK 上传到 Play 管理中心,\n并将一个或多个应用内产品与您的应用相关联。您\n无需在 Google Play 上发布应用程序即可对其进行测试。\n警告:上传 APK 后,\nGoogle Play 可能需要最多 2-3 小时才能识别您更新的 APK 版本。如果您在 Google Play 识别您上传的 APK 之前\n尝试测试您的应用程序,您的应用程序将收到 \xe2\x80\x98 购买已取消\xe2\x80\x99 响应\n以及错误消息 \xe2\x80\x9c此版本应用程序的\n未启用应用内结算。\xe2\x80\x9d

\n

使用 adb\n工具将 APK 文件安装到物理测试设备。若要了解如何安装该应用程序,请参阅在设备上运行\n。确保您的测试设备运行的是 Android 2.2(API\n级别 8)或更高版本,并且安装了 Google Play 客户端版本\n3.9.16 或更高版本。使用测试人员帐户登录测试设备。通过购买一些商品来测试您的应用内结算应用程序,并\n解决您遇到的任何问题。若要详细了解\n如何对应用内结算应用执行大规模测试,请参阅测试\n购买(应用内结算沙盒)。

\n
\n

但是,如果您只需要检查付款流程是否正确,您可以使用静态请求,它允许您在不发布的情况下测试付款。

\n
\n

我们建议您首先使用 Google Play 的静态响应\n测试您的应用内结算实施。这使您能够验证\n您的应用程序是否正确\n处理主要 Google Play 响应。即使应用程序尚未发布,您也可以执行此操作。

\n
\n

另一种测试方法是草稿应用程序,但正如您可以在第二个链接中阅读的那样,

\n
\n

不再支持草稿应用程序

\n

以前,您可以发布\n应用程序的“草稿”版本以进行测试。不再支持此功能。\n 相反,您可以通过两种方法来测试预发布应用\n在 Google Play 商店中的运行情况:

\n

您可以将应用发布到 Alpha 或 Beta 分发渠道。\n这使得该应用可以在 Google Play 商店中使用,但仅限于\n您列入“白名单”的用户。

\n

在某些情况下,您可以使用未发布的应用来测试 Google\nPlay 功能。例如,您可以使用静态响应、始终返回特定结果的特殊保留产品 ID(如“已购买”或“已退款”)来测试\n未发布应用的应用内结算支持。

\n
\n

因此,简而言之......您可以static payments在整个应用程序中进行设置(以测试调用)并以这种方式检查它们是否有效。测试完成后,将静态请求替换为最终表单,并使用您的 alpha 版本对其进行测试。遗憾的是,没有其他可用的方法(官方),因为如上所述,google doesn\'t allow developer account to purchase your own products.

\n

Afaik,您无法从 google play 检索密钥库

\n