在Unity App中实现订阅:Apple沙盒环境中测试卡的问题

问题描述 投票:0回答:1

我正在将订阅模型集成到我的 Unity 应用程序中,并希望在 Apple 沙盒环境中使用测试卡来测试其功能。

我正在使用 UnityPurchasing 插件。启动时,将执行以下代码:

var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct("vip", ProductType.Subscription);
UnityPurchasing.Initialize(this, builder);

但是,我遇到了一个问题,如以下日志所示:

Unavailable product vip-vip
UnityEngine.Purchasing.PurchasingManager:HasAvailableProductsToPurchase(Boolean)
UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
UnityEngine.Purchasing.AppleStoreImpl:OnProductsRetrieved(String)
UnityEngine.Purchasing.Extension.UnityUtil:Update()

Purchasing failed to initialize. Reason: NoProductsAvailable.
Samples.Purchasing.Core.BuyingSubscription.BuyingSubscription:OnInitializeFailed(InitializationFailureReason, String)

我主要关心的是为什么产品“vip”被解释为“vip-vip”,这是问题的根源吗?

这是我到目前为止所做的:

使用电子邮件“admin”创建一个 Apple 帐户。 注意:我使用两个电子邮件地址 - “admin”用于具有管理员权限的帐户,“inapptester”用于 App Store Connect 中的沙盒测试。 “admin”无法添加到沙箱测试人员中。

建立一个名为“vip”的应用程序和应用内购买(IAP),此阶段仅提供价格和地区等基本信息。我还没有添加屏幕截图或其他详细信息。

在 App Store Connect 中向沙盒用户添加了“inapptester”电子邮件。

添加“admin”电子邮件作为内部测试人员,向 TestFlight 发送邀请并接受。

在“管理”设备上从 TestFlight 下载构建版本,启动它,并尝试 IAP,但它们不起作用。

进入设备上的“设置”->“应用程序商店”,我在其中找到了一个带有“管理员”电子邮件的“沙盒”字段。

将沙盒电子邮件更改为“inappTester”。

进行此更改后再次进入应用程序。 IAP 不起作用。

删除了应用程序并直接通过 Xcode 上传了新版本 - IAP 不起作用。

我没有额外注册任何东西,也没有发送它以供批准(这可能是问题所在吗?)。我的目标纯粹是内部测试。我做错了什么?

ios unity-game-engine in-app-purchase
1个回答
0
投票

这真的很简单。问题出在文书工作上,而不是在编程上。 Apple 并没有真正告诉我们这一点(可能会有错误消息,但 Unity 似乎没有正确显示它)。您只需前往 https://appstoreconnect.apple.com/agreements/#/ 并同意销售付费应用程序的条款。

他们会要求提供更多信息,例如护照和税务信息以及其他详细信息。之后,需要几天时间才能获得批准。

然后,您的应用内购买将开始工作。即使没有 TestFlight,仅使用 Xcode 中的构建也会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.