Skip to main content

Initialization

After configuring, the Xsolla SDK for Unity needs to be initialized and connected to Xsolla services.

tip

On how to install Unity IAP, follow the official installation guide here ↗ (https://docs.unity3d.com/Packages/com.unity.purchasing@4.5/manual/UnityIAPInitialization.html).

info

There are currently no plans to support In-App Purchasing Unity 5.0.0 due to potential compatibility risks that may impact the overall integration experience. We will continue to monitor developments and reassess support based on future updates and demand.

public class App : MonoBehaviour, IStoreListener
{
private IStoreController _storeController;

void Start()
{
var module = XsollaPurchasingModule.Builder.Create()
.SetConfiguration(configuration)
.Build();

var configurationBuilder = ConfigurationBuilder
.Instance(module)
.AddProduct("product1", ProductType.Consumable)
.AddProduct("product2", ProductType.Consumable)
.AddProduct("product3", ProductType.Consumable)
.AddProduct("product4", ProductType.Consumable);

UnityPurchasing.Initialize(this, configurationBuilder);
}

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

// handle initialized
}

public void OnInitializeFailed(InitializationFailureReason error)
{
// handle initialization failed
}

public void OnInitializeFailed(InitializationFailureReason error, string message)
{
// handle initialization failed
}

public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent)
{
// implement purchase flow

return PurchaseProcessingResult.Complete;
}

public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
{
// handle purchase failed
}

public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
{
// handle purchase failed
}
}