products | Products to add. |
ConfigurationBuilder The referenced instance. Suitable for chaining.
Add a collection of ProductDefinitions.
Assumes store-specific id is identical across platforms; provides no store name configuration mechanism.
Here is an example adding products inside a Store class.
#pragma strict public class MyStoreClass extends MonoBehaviour { function Start() { var builder: ConfigurationBuilder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); var productSet: HashSet.<ProductDefinition> = new HashSet.<ProductDefinition>(); var productCollection: ReadOnlyCollection.<ProductDefinition> = new ReadOnlyCollection.<ProductDefinition>(productSet.ToList()); builder.AddProducts(productCollection); UnityPurchasing.Initialize(this, builder); } public function OnInitialized(controller: IStoreController, extensions: IExtensionProvider) { } public function OnInitializeFailed(error: InitializationFailureReason) { } public function ProcessPurchase(e: PurchaseEventArgs) { return PurchaseProcessingResult.Complete; } public function OnPurchaseFailed(item: Product, r: PurchaseFailureReason) { } }
using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using UnityEngine; using UnityEngine.Purchasing;
public class MyStoreClass : MonoBehaviour, IStoreListener { void Start() { ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); HashSet<ProductDefinition> productSet = new HashSet<ProductDefinition>() { new ProductDefinition("virtualcurrency_100", "com.unity3d.purchasing.virtualcurrency_100", ProductType.Consumable), new ProductDefinition("levelpackfoo", "com.unity3d.purchasing.levelpackfoo", ProductType.NonConsumable), }; ReadOnlyCollection<ProductDefinition> productCollection = new ReadOnlyCollection<ProductDefinition> (productSet.ToList()); builder.AddProducts(productCollection); UnityPurchasing.Initialize(this,builder); } public void OnInitialized(IStoreController controller, IExtensionProvider extensions) {} public void OnInitializeFailed(InitializationFailureReason error) {} public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { return PurchaseProcessingResult.Complete; } public void OnPurchaseFailed(Product item, PurchaseFailureReason r) {} }