新的 Unity 应用内购买集成 (Android)
New Unity In-App Purchase integration (Android)
我正在尝试集成新的 Unity inapp 服务并遇到下一个问题:
我在 google play 上创建了项目(现在它只是在没有发布的 Alpha 测试中)并且我创建了用于购买的应用内内容。在 unity 编辑器中一切正常,但是当我尝试 运行 它在设备上的下一个:
*不可用产品 coins500 -**.coins500 OnInitializeFailed InitializationFailureReason:NoProductsAvailable*
Google 播放 builder.setPublicKey() 在代码中插入的 API 键和统一分析仪表板 该应用程序对 BILLING
有权限
为什么我无法从 GP 那里拿到产品?
编辑:刚找到这个主题:http://docs.unity3d.com/Manual/UnityIAPGooglePlay.html现在我正在尝试发布我的应用程序并再次测试 IAP。可能是这个问题。
Edit2:发布我的应用程序并没有帮助我解决我的问题。任何解决方案?仍然看到我的产品无法使用。 OnInitializeFailed InitializationFailureReason:NoProductsAvailable
好的,这是一个很棒的提示,
使用 google IAB,事实上,只有当您从 Playstore 下载 Beta 版后它才会工作,如果您只加载它 NOT .apk 本地。
这很烦人,但就是这样。
请注意 - 相反 - 当您使用 PlayGames(post 成就等)时,您 可以 其实只要把它作为apk加载到本地,成就就可以了。 (同样,实际的 IAB 不会起作用。)
您必须在 Playstore 上以测试版的形式获取它,然后以这种方式加载它。
AND 您必须是该应用在 Playstore 上的注册 Beta 测试员。
(还有!!!!!!!!! 别忘了,google 实际上会向你收费 当你测试它时,你真的需要你的信用卡/ paypal / 任何正在测试购买的东西。)(你可以立即获得退款,但你必须有信用卡才能在 playstore 上真正购买东西。)
注意对比
使用 Apple iOS IAP,可以从 Xcode 在本地构建、签名和加载 - 然后您可以通过这种方式测试 Apple IAP。您不必等待它在 TestFlight 上。但不是 Android!
所以在两个平台上是不一样的
好吧,不要放弃@JoeBlow 的回答,但其中有一些不好的信息,而且评论时间太长。
APK
您确实需要在 Alpha 或 Beta 发布渠道中拥有您的 APK,但您不需要下载它(就个人而言,我们使用 Alpha)。你可以侧载它没问题。唯一的问题是 APK 需要 "validated"(一两个小时,如果是新应用则稍长)并且您加载的版本必须相同 - 即如果您有 1.0 版.0 在 App Store 上,然后如果您的 phone 上有 1.0.1,您将无法购买任何东西,并显示 "Product unavailable" 消息。
因此,如果您上传基本 shell 以获得验证,您可以继续在本地开发和加载以正确实施。
测试人员
为了测试您的购买,您需要访问 Alpha/Beta 频道。您可以通过与他们共享特定的 link(开放式 Alpha 测试)或设置特定的 Google 群组并让他们通过访问特定的 URL(在形式 https://play.google.com/apps/testing/YOUR_APP_ID)。
他们只需要这样做一次。
您可以通过单击 Google Play 开发者控制台 "APK" 部分中的相关选项卡来选择要使用的系统。
顺便说一句,这也意味着如果他们启用了自动更新,那么他们将自动获取您推送到频道的任何更新的 APK - 如果您在尝试使用生产 APK 并且您在 Alpha
中有一个新版本
支付购买费用
您可以支付费用,并立即获得退款,购买时为什么可以免费获得? :)
在 Google Play Developer Console 上,左侧有 "All Applications"、"Game services"、"Reports"、"Settings" 等选项。单击"Settings",有一个名为 "Licence testing" 的部分。您可以在此处添加电子邮件地址,假设 "Licence Test Response" 是 "RESPOND_NORMALLY",他们不会因购买而被收取费用 - 您会在购买弹出窗口中看到消息 "This is a test order, you will not be charged",因此您知道它有效(添加或删除电子邮件地址可能需要几分钟才能更新)。
您仍会收到一封电子邮件,就像正常购买一样,但它们会显示 0.00 欧元的价格和非正常的交易 ID,大约 2 周后您会收到另一封电子邮件,说明您的付款已完成已取消。
您确实需要设置有效的支付选项。
正在签署您的申请
据我所知,您 需要在测试时构建签名 APK(即不是调试 APK)。我还没有真正测试过这一点,因为我们总是理所当然地构建签名,所以对它持保留态度。
陷阱
这个系统的缺点是您不能使用开发者帐户购买 - 所以如果您的 Google Play 帐户是 foo@gmail.com,您将不得不使用 bar @gmail.com 实际测试一下。这是 Google 做的那些烦人的事情之一。
还有最初的等待,因为 Google 并没有真正告诉您您的应用程序何时通过验证,因此您可能已经一切正常,但购买仍然不会通过,因为您APK 仍未就绪(无论是 shell 还是正式版)。最坏的情况,在你离开 work/go 睡觉之前上传它,早上应该没问题。
我正在尝试集成新的 Unity inapp 服务并遇到下一个问题:
我在 google play 上创建了项目(现在它只是在没有发布的 Alpha 测试中)并且我创建了用于购买的应用内内容。在 unity 编辑器中一切正常,但是当我尝试 运行 它在设备上的下一个:
*不可用产品 coins500 -**.coins500 OnInitializeFailed InitializationFailureReason:NoProductsAvailable*
Google 播放 builder.setPublicKey() 在代码中插入的 API 键和统一分析仪表板 该应用程序对 BILLING
有权限为什么我无法从 GP 那里拿到产品?
编辑:刚找到这个主题:http://docs.unity3d.com/Manual/UnityIAPGooglePlay.html现在我正在尝试发布我的应用程序并再次测试 IAP。可能是这个问题。
Edit2:发布我的应用程序并没有帮助我解决我的问题。任何解决方案?仍然看到我的产品无法使用。 OnInitializeFailed InitializationFailureReason:NoProductsAvailable
好的,这是一个很棒的提示,
使用 google IAB,事实上,只有当您从 Playstore 下载 Beta 版后它才会工作,如果您只加载它 NOT .apk 本地。
这很烦人,但就是这样。
请注意 - 相反 - 当您使用 PlayGames(post 成就等)时,您 可以 其实只要把它作为apk加载到本地,成就就可以了。 (同样,实际的 IAB 不会起作用。)
您必须在 Playstore 上以测试版的形式获取它,然后以这种方式加载它。
AND 您必须是该应用在 Playstore 上的注册 Beta 测试员。
(还有!!!!!!!!! 别忘了,google 实际上会向你收费 当你测试它时,你真的需要你的信用卡/ paypal / 任何正在测试购买的东西。)(你可以立即获得退款,但你必须有信用卡才能在 playstore 上真正购买东西。)
注意对比
使用 Apple iOS IAP,可以从 Xcode 在本地构建、签名和加载 - 然后您可以通过这种方式测试 Apple IAP。您不必等待它在 TestFlight 上。但不是 Android!
所以在两个平台上是不一样的
好吧,不要放弃@JoeBlow 的回答,但其中有一些不好的信息,而且评论时间太长。
APK
您确实需要在 Alpha 或 Beta 发布渠道中拥有您的 APK,但您不需要下载它(就个人而言,我们使用 Alpha)。你可以侧载它没问题。唯一的问题是 APK 需要 "validated"(一两个小时,如果是新应用则稍长)并且您加载的版本必须相同 - 即如果您有 1.0 版.0 在 App Store 上,然后如果您的 phone 上有 1.0.1,您将无法购买任何东西,并显示 "Product unavailable" 消息。
因此,如果您上传基本 shell 以获得验证,您可以继续在本地开发和加载以正确实施。
测试人员
为了测试您的购买,您需要访问 Alpha/Beta 频道。您可以通过与他们共享特定的 link(开放式 Alpha 测试)或设置特定的 Google 群组并让他们通过访问特定的 URL(在形式 https://play.google.com/apps/testing/YOUR_APP_ID)。
他们只需要这样做一次。
您可以通过单击 Google Play 开发者控制台 "APK" 部分中的相关选项卡来选择要使用的系统。
顺便说一句,这也意味着如果他们启用了自动更新,那么他们将自动获取您推送到频道的任何更新的 APK - 如果您在尝试使用生产 APK 并且您在 Alpha
中有一个新版本支付购买费用
您可以支付费用,并立即获得退款,购买时为什么可以免费获得? :)
在 Google Play Developer Console 上,左侧有 "All Applications"、"Game services"、"Reports"、"Settings" 等选项。单击"Settings",有一个名为 "Licence testing" 的部分。您可以在此处添加电子邮件地址,假设 "Licence Test Response" 是 "RESPOND_NORMALLY",他们不会因购买而被收取费用 - 您会在购买弹出窗口中看到消息 "This is a test order, you will not be charged",因此您知道它有效(添加或删除电子邮件地址可能需要几分钟才能更新)。
您仍会收到一封电子邮件,就像正常购买一样,但它们会显示 0.00 欧元的价格和非正常的交易 ID,大约 2 周后您会收到另一封电子邮件,说明您的付款已完成已取消。
您确实需要设置有效的支付选项。
正在签署您的申请
据我所知,您 需要在测试时构建签名 APK(即不是调试 APK)。我还没有真正测试过这一点,因为我们总是理所当然地构建签名,所以对它持保留态度。
陷阱
这个系统的缺点是您不能使用开发者帐户购买 - 所以如果您的 Google Play 帐户是 foo@gmail.com,您将不得不使用 bar @gmail.com 实际测试一下。这是 Google 做的那些烦人的事情之一。
还有最初的等待,因为 Google 并没有真正告诉您您的应用程序何时通过验证,因此您可能已经一切正常,但购买仍然不会通过,因为您APK 仍未就绪(无论是 shell 还是正式版)。最坏的情况,在你离开 work/go 睡觉之前上传它,早上应该没问题。