我们正在使用 Unity 2022.3.9f1 和 Unity IAP 4.11.0。IAP 系统在编辑器、iOS 和我们的 Android 测试设备中运行良好。但是,我们的应用在 Google Play 控制台修订版中被拒绝了。
我们使用的是 Unity 2022.3.9f1 和 Unity IAP 4.11.0。IAP 系统在编辑器、iOS 和我们的 Android 测试设备中运行良好。
然而,我们的应用在 Google Play Console 审核期间被拒绝,因为测试人员无法购买我们的任何 IAP 产品。经过调查,似乎在初始化过程中不会调用 OnInitialized 和 OnInitializeFailed。
这是我们的初始化代码:
public void Init(List<BundleShop> listBundle, List<ResourceShop> listResource)
{
builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
for (int i = 0; i < listBundle.Count; i++)
{
if (!string.IsNullOrEmpty(listBundle[i].iapKey))
{
builder.AddProduct(listBundle[i].iapKey, ProductType.Consumable);
listIapInfo.Add(new IapInfo(listBundle[i].shopId, listBundle[i].iapKey, false));
}
}
for (int i = 0; i < listResource.Count; i++)
{
if (!string.IsNullOrEmpty(listResource[i].iapKey))
{
builder.AddProduct(listResource[i].iapKey, ProductType.Consumable);
listIapInfo.Add(new IapInfo(listResource[i].shopId, listResource[i].iapKey, true));
}
}
UnityPurchasing.Initialize(this, builder);
}
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
storeController = controller;
storeExtension = extensions;
appleExtensions = extensions.GetExtension<IAppleExtensions>();
googleExtensions = extensions.GetExtension<IGooglePlayStoreExtensions>();
isReady = true;
Packet.instance.SendLogsIapStatus("OnInitialized");
}
public void OnInitializeFailed(InitializationFailureReason error, string message)
{
PopupMessage.instance.ShowPopupMessage("IAP: OnInitialized FAIL => " + error + " => " + message, "ERROR");
Packet.instance.SendLogsIapStatus("OnInitializeFailed", "message", message);
}
public void OnInitializeFailed(InitializationFailureReason error)
{
PopupMessage.instance.ShowPopupMessage("IAP: OnInitialized FAIL NO Message => " + error, "ERROR");
Packet.instance.SendLogsIapStatus("OnInitializeFailed", "no message");
}
我们已尝试过:
-
无需登录 Google API 即可在模拟器上运行 APK
-
在 Android 设备上运行未签名的 APK
-
在 Android 设备上运行已签名的 APK 在所有情况下,都会调用 OnInitialized 或 OnInitializeFailed。
Google Play 控制台中的任何设置是否会导致此问题?有没有人遇到过类似的问题或对如何解决该问题有任何建议?