b486678290
Library -Artifacts
75 lines
3.1 KiB
C#
75 lines
3.1 KiB
C#
#if UNITY_IOS
|
|
using System.Runtime.InteropServices;
|
|
using AOT;
|
|
|
|
namespace UnityEngine.Advertisements.Purchasing
|
|
{
|
|
public class PurchasingPlatform : IPurchasingEventSender
|
|
{
|
|
private static PurchasingPlatform Instance { get; set; }
|
|
|
|
delegate void unityAdsPurchasingDidInitiatePurchasingCommand(string eventString);
|
|
delegate void unityAdsPurchasingGetProductCatalog();
|
|
delegate void unityAdsPurchasingGetPurchasingVersion();
|
|
delegate void unityAdsPurchasingInitialize();
|
|
|
|
[DllImport("__Internal")]
|
|
static extern void UnityAdsPurchasingDispatchReturnEvent(long eventType, string payload);
|
|
|
|
[DllImport("__Internal")]
|
|
static extern void UnityAdsSetDidInitiatePurchasingCommandCallback(unityAdsPurchasingDidInitiatePurchasingCommand callback);
|
|
|
|
[DllImport("__Internal")]
|
|
static extern void UnityAdsSetGetProductCatalogCallback(unityAdsPurchasingGetProductCatalog callback);
|
|
|
|
[DllImport("__Internal")]
|
|
static extern void UnityAdsSetGetVersionCallback(unityAdsPurchasingGetPurchasingVersion callback);
|
|
|
|
[DllImport("__Internal")]
|
|
static extern void UnityAdsSetInitializePurchasingCallback(unityAdsPurchasingInitialize callback);
|
|
|
|
[MonoPInvokeCallback(typeof(unityAdsPurchasingDidInitiatePurchasingCommand))]
|
|
static void UnityAdsDidInitiatePurchasingCommand(string eventString)
|
|
{
|
|
string result = Purchasing.InitiatePurchasingCommand(eventString).ToString();
|
|
UnityAdsPurchasingDispatchReturnEvent((long)PurchasingEvent.COMMAND, result);
|
|
}
|
|
|
|
[MonoPInvokeCallback(typeof(unityAdsPurchasingGetProductCatalog))]
|
|
static void UnityAdsPurchasingGetProductCatalog()
|
|
{
|
|
string result = Purchasing.GetPurchasingCatalog();
|
|
UnityAdsPurchasingDispatchReturnEvent((long)PurchasingEvent.CATALOG, result);
|
|
}
|
|
|
|
[MonoPInvokeCallback(typeof(unityAdsPurchasingGetPurchasingVersion))]
|
|
static void UnityAdsPurchasingGetPurchasingVersion()
|
|
{
|
|
string result = Purchasing.GetPromoVersion();
|
|
UnityAdsPurchasingDispatchReturnEvent((long)PurchasingEvent.VERSION, result);
|
|
}
|
|
|
|
[MonoPInvokeCallback(typeof(unityAdsPurchasingInitialize))]
|
|
static void UnityAdsPurchasingInitialize()
|
|
{
|
|
string result = Purchasing.Initialize(Instance).ToString();
|
|
UnityAdsPurchasingDispatchReturnEvent((long)PurchasingEvent.INITIALIZATION, result);
|
|
}
|
|
|
|
public void Initialize()
|
|
{
|
|
Instance = this;
|
|
UnityAdsSetDidInitiatePurchasingCommandCallback(UnityAdsDidInitiatePurchasingCommand);
|
|
UnityAdsSetGetProductCatalogCallback(UnityAdsPurchasingGetProductCatalog);
|
|
UnityAdsSetGetVersionCallback(UnityAdsPurchasingGetPurchasingVersion);
|
|
UnityAdsSetInitializePurchasingCallback(UnityAdsPurchasingInitialize);
|
|
}
|
|
|
|
public void SendPurchasingEvent(string payload)
|
|
{
|
|
UnityAdsPurchasingDispatchReturnEvent((long)PurchasingEvent.EVENT, payload);
|
|
}
|
|
}
|
|
}
|
|
#endif
|