Version: 2017.1
public T GetExtension ();

Returns

T The Extension type.

Description

Get the store-specific extension of specified type.

Sample class using GetExtension to restore previously completed purchase transactions:

using UnityEngine;
using UnityEngine.Purchasing;

public class MyStoreClass : MonoBehaviour, IStoreListener { IExtensionProvider m_ExtensionProvider; void Awake() { ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); builder.AddProduct("levelpackfoo", ProductType.NonConsumable); UnityPurchasing.Initialize(this, builder); }

public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { m_ExtensionProvider = extensions; }

public void OnInitializeFailed(InitializationFailureReason error) {} public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { return PurchaseProcessingResult.Complete; } public void OnPurchaseFailed(Product item, PurchaseFailureReason r) {} public void RestoreTransactions() { if (m_ExtensionProvider != null) { // NOTICE: No need here for Application.platform tests. Move platform tests to UI. // Extensions are designed in a way to work regardless of which platform they are // run on. For the UI, only when on Apple platforms display a "Restore Purchases" // button, per Apple's In-App Purchase Programming Guide. IAppleExtensions apple = m_ExtensionProvider.GetExtension<IAppleExtensions>(); apple.RestoreTransactions((result) => { // Restore purchases initiated. See ProcessPurchase for any restored transactions. }); } } }