Version: 2021.1
Receipt validation
Cross-store installation issues with Android in-app purchase stores

Store Extensions

Stores may offer unique functionality that does not fit into the normal cross-platform purchase flow. This extended functionality is accessed via the IExtensionProvider which is provided to your application when Unity IAPAbbreviation of Unity In App Purchase
See in Glossary
initializes successfully.

It is not necessary to use platform-dependent compilation when using extensions; each extension comes with a fake no-op implementation which is used when running on a platform that does not offer the extended functionality.

For example, the following snippet accesses the RefreshReceipt mechanism Apple offers to fetch a refreshed App Receipt from Apple’s servers. It can be compiled on any Unity IAP platform, and if you were to run it on a non Apple platform such as Android it would have no effect; the supplied lambda would never be invoked.

/// <summary>
/// Called when Unity IAP is ready to make purchases.
/// </summary>
public void OnInitialized (IStoreController controller, IExtensionProvider extensions)
{
    extensions.GetExtension<IAppleExtensions> ().RefreshAppReceipt (result => {
        if (result) {
            // Refresh finished successfully.
        } else {
            // Refresh failed.
        }
    });
}
Receipt validation
Cross-store installation issues with Android in-app purchase stores
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961