1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #if UNITY_IOS
- using System;
- using System.Runtime.InteropServices;
- namespace UnityEngine.Monetization
- {
- public class IosNativePromoAdapter : INativePromoAdapter
- {
- [DllImport("__Internal")]
- static extern IntPtr UnityMonetizationCreateNativePromoAdapter(IntPtr pPlacementContent);
- [DllImport("__Internal")]
- static extern void UnityMonetizationReleaseNativePromoAdapter(IntPtr pNativePromoAdapter);
- [DllImport("__Internal")]
- static extern void UnityMonetizationNativePromoAdapterOnShown(IntPtr pNativePromoAdapter, int showType);
- [DllImport("__Internal")]
- static extern void UnityMonetizationNativePromoAdapterOnClicked(IntPtr pNativePromoAdapter);
- [DllImport("__Internal")]
- static extern void UnityMonetizationNativePromoAdapterOnClosed(IntPtr pNativePromoAdapter);
- private PromoAdPlacementContent placementContent { get; }
- private IntPtr nativePromoAdapter { get; }
- public IosNativePromoAdapter(PromoAdPlacementContent placementContent)
- {
- metadata = placementContent.metadata;
- var operations = placementContent.placementContentOperations as IosPlacementContentOperations;
- if (operations != null)
- {
- var ptr = operations.placementContentPtr;
- this.placementContent = placementContent;
- nativePromoAdapter = UnityMonetizationCreateNativePromoAdapter(ptr);
- }
- }
- ~IosNativePromoAdapter()
- {
- UnityMonetizationReleaseNativePromoAdapter(nativePromoAdapter);
- }
- public PromoMetadata metadata { get; }
- public void OnShown()
- {
- OnShown(PromoShowType.Full);
- }
- public void OnShown(PromoShowType type)
- {
- UnityMonetizationNativePromoAdapterOnShown(nativePromoAdapter, (int)type);
- }
- public void OnClosed()
- {
- UnityMonetizationNativePromoAdapterOnClosed(nativePromoAdapter);
- }
- public void OnClicked()
- {
- UnityMonetizationNativePromoAdapterOnClicked(nativePromoAdapter);
- }
- }
- }
- #endif
|