facebook twitter hatena line email

Unity/課金/復元

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

googleとappleの復元機能

public class IAPDemo : IStoreListener
{
    private IStoreController m_Controller;
    private bool m_IsGooglePlayStoreSelected;
    private IAppleExtensions m_AppleExtensions;
    private IGooglePlayStoreExtensions m_GooglePlayStoreExtensions;

    public void Init()
    {
        var module = StandardPurchasingModule.Instance();
        m_IsGooglePlayStoreSelected =
            Application.platform == RuntimePlatform.Android && module.appStore == AppStore.GooglePlay;
    }

    /// <summary>
    /// This will be called when Unity IAP has finished initialising.
    /// </summary>
    public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
    {
        m_Controller = controller;
        m_AppleExtensions = extensions.GetExtension<IAppleExtensions>();
        m_GooglePlayStoreExtensions = extensions.GetExtension<IGooglePlayStoreExtensions>();
    }
    public void RestoreButtonClick()
    {
        if (m_IsGooglePlayStoreSelected)
        {
            m_GooglePlayStoreExtensions.RestoreTransactions(OnTransactionsRestored);
        }
        else
        {
            m_AppleExtensions.RestoreTransactions(OnTransactionsRestored);
        }
    }
    /// <summary>
    /// This will be called after a call to IAppleExtensions.RestoreTransactions().
    /// </summary>
    private void OnTransactionsRestored(bool success)
    {
        Debug.Log("Transactions restored." + success);
    }

公式のIAPDemo.csから抜粋