1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #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
|