版本:Unity 6 (6000.0)
语言:English
处理购买失败
购买收据

恢复交易

当用户重新安装您的应用程序时,应授予他们已拥有的任何非消耗性或可续订订阅产品。应用商店会永久保存每个用户非消耗性和可续订订阅产品的记录,Unity IAPUnity 应用内购买的缩写
参见 术语表
可以检索这些记录。Apple 平台上的非续订订阅无法恢复。如果您在 Apple 平台上使用非续订订阅产品,则您需要自行保存活动订阅的记录,并在设备之间同步订阅。

在支持此功能的平台(例如 Google Play 和通用 Windows 应用程序)上,Unity IAP 会在重新安装后的第一次初始化期间自动恢复用户拥有的任何产品;IStoreListenerProcessPurchase 方法将为每个已拥有项目调用。

在 Apple 平台上,用户必须输入其密码才能检索以前的交易,因此您的应用程序必须为用户提供一个按钮让他们执行此操作。在此过程中,IStoreListenerProcessPurchase 方法将为用户已拥有的任何项目调用。

/// <summary>
/// Your IStoreListener implementation of OnInitialized.
/// </summary>
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
    extensions.GetExtension<IAppleExtensions> ().RestoreTransactions (result => {
        if (result) {
            // This does not mean anything was restored,
            // merely that the restoration process succeeded.
        } else {
            // Restoration failed.
        }
    });
}
处理购买失败
购买收据