Unity 的 IAP - 迁移到 Google 计费版本 3 后初始化失败
Unity's IAP - initialization failure after migration to Google Billing version 3
昨天我通过开发者控制台将我游戏的新版本推送到 Google Play 商店。捆绑传输成功后,我收到一条警告消息,提示我使用的是旧版本的应用内计费模块,建议迁移到当前版本 (v3)。因此,我已将所有 packages/IAP Unity 服务更新到最新版本(Unity ver:2019.4.18f1(64 位),IAP 包:In App Purchasing 2.2.2,Unity Services IN-APP PURCHASING“up to日期").
我现在遇到的问题发生在以不可预测的方式工作的初始化过程中。它时不时地正确工作,从而导致正确的 inap 行为 - 初始化以及产品的购买工作得很好。不幸的是,初始化过程经常失败,并显示以下消息 logcat:
I/Unity: UnityIAP Version: 2.2.6
W/Unity: Unavailable product test-test
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
// etc...
在我的项目中,Unity 的计费模块被包装在一个单例中 class,它在第一次使用时执行 Unity 的 IAP 的初始化(单例的使用和可能的初始化:IAPManager.Instance
)。
为了初始化模块,我使用了以下代码 - IAPManager.Instance.Init()
结果是在 IAPManager.Instance
中第一次触发了 Init()
,在 [=11= 中第二次触发了 Init()
].因此,Unity 的 IAP 初始化有两次折叠执行,不幸的是失败并显示 Products unavailable logcat 消息。
触发 Unity 的 IAP 初始化一次只解决了这个问题。
昨天我通过开发者控制台将我游戏的新版本推送到 Google Play 商店。捆绑传输成功后,我收到一条警告消息,提示我使用的是旧版本的应用内计费模块,建议迁移到当前版本 (v3)。因此,我已将所有 packages/IAP Unity 服务更新到最新版本(Unity ver:2019.4.18f1(64 位),IAP 包:In App Purchasing 2.2.2,Unity Services IN-APP PURCHASING“up to日期").
我现在遇到的问题发生在以不可预测的方式工作的初始化过程中。它时不时地正确工作,从而导致正确的 inap 行为 - 初始化以及产品的购买工作得很好。不幸的是,初始化过程经常失败,并显示以下消息 logcat:
I/Unity: UnityIAP Version: 2.2.6
W/Unity: Unavailable product test-test
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
// etc...
在我的项目中,Unity 的计费模块被包装在一个单例中 class,它在第一次使用时执行 Unity 的 IAP 的初始化(单例的使用和可能的初始化:IAPManager.Instance
)。
为了初始化模块,我使用了以下代码 - IAPManager.Instance.Init()
结果是在 IAPManager.Instance
中第一次触发了 Init()
,在 [=11= 中第二次触发了 Init()
].因此,Unity 的 IAP 初始化有两次折叠执行,不幸的是失败并显示 Products unavailable logcat 消息。
触发 Unity 的 IAP 初始化一次只解决了这个问题。