Version: 2017.1
public T GetExtension ();

返回

T 扩展类型。

描述

获取指定类型的特定于商店的扩展。

使用 GetExtension 恢复之前完成的购买交易的示例类:

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. }); } } }