2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								using  System ;  
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								using  System.Collections ;  
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								using  System.Collections.Generic ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								using  System.Runtime.InteropServices ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								using  AOT ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								using  UnityEngine ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								using  AppLovinMax.ThirdParty.MiniJson ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/// <summary>  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/// iOS AppLovin MAX Unity Plugin implementation  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/// </summary>  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								public  class  MaxSdkiOS  :  MaxSdkBase  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  delegate  void  ALUnityBackgroundCallback ( string  args ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    static  MaxSdkiOS ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        InitializeEventExecutor ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#if UNITY_IOS  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  MaxUserServiceiOS  UserService 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        get  {  return  MaxUserServiceiOS . Instance ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Initialization 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetSdkKey ( string  sdkKey ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set AppLovin SDK Key. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// This method must be called before any other SDK operation 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="sdkKey">AppLovin SDK key. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetSdkKey ( string  sdkKey ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetSdkKey ( sdkKey ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxInitializeSdk ( string  serializedAdUnitIds ,  string  serializedMetaData ,  ALUnityBackgroundCallback  backgroundCallback ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Initialize the default instance of AppLovin SDK. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Please make sure that application's Android manifest or Info.plist includes the AppLovin SDK key. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="adUnitIds"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// OPTIONAL: Set the MAX ad unit ids to be used for this instance of the SDK. 3rd-party SDKs will be initialized with the credentials configured for these ad unit ids. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// This should only be used if you have different sets of ad unit ids / credentials for the same package name.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  InitializeSdk ( string [ ]  adUnitIds  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  serializedAdUnitIds  =  ( adUnitIds  ! =  null )  ?  string . Join ( "," ,  adUnitIds )  :  "" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxInitializeSdk ( serializedAdUnitIds ,  GenerateMetaData ( ) ,  BackgroundCallback ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsInitialized ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if the SDK has been initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns>True if SDK has been initialized</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsInitialized ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsInitialized ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region User Info 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetUserId ( string  userId ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an identifier for the current user. This identifier will be tied to SDK events and our optional S2S postbacks. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ///  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// If you're using reward validation, you can optionally set an identifier to be included with currency validation postbacks. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// For example, a username or email. We'll include this in the postback when we ping your currency endpoint from our server. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ///  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="userId">The user identifier to be set. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetUserId ( string  userId ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetUserId ( userId ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// User segments allow us to serve ads using custom-defined rules based on which segment the user is in. For now, we only support a custom string 32 alphanumeric characters or less as the user segment. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  MaxUserSegment  UserSegment 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        get  {  return  SharedUserSegment ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// This class allows you to provide user or app data that will improve how we target ads. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  MaxTargetingData  TargetingData 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        get  {  return  SharedTargetingData ;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region MAX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetAvailableMediatedNetworks ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Returns the list of available mediation networks. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ///  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Please call this method after the SDK has initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  List < MaxSdkBase . MediatedNetworkInfo >  GetAvailableMediatedNetworks ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  serializedNetworks  =  _MaxGetAvailableMediatedNetworks ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  MaxSdkUtils . PropsStringsToList < MaxSdkBase . MediatedNetworkInfo > ( serializedNetworks ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowMediationDebugger ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present the mediation debugger UI. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// This debugger tool provides the status of your integration for each third-party ad network. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Please call this method after the SDK has initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowMediationDebugger ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxShowMediationDebugger ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowCreativeDebugger ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present the creative debugger UI. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// This debugger tool provides information for recently displayed ads. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Please call this method after the SDK has initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowCreativeDebugger ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxShowCreativeDebugger ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetAdValue ( string  adUnitIdentifier ,  string  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Returns the arbitrary ad value for a given ad unit identifier with key. Returns null if no ad is loaded. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier for which to get the ad value for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">Ad value key. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>Arbitrary ad value for a given key, or null if no ad is loaded.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  string  GetAdValue ( string  adUnitIdentifier ,  string  key ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  value  =  _MaxGetAdValue ( adUnitIdentifier ,  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( string . IsNullOrEmpty ( value ) )  return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Privacy 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Get the SDK configuration for this user. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Note: This method should be called only after SDK has been initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetSdkConfiguration ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  SdkConfiguration  GetSdkConfiguration ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  sdkConfigurationStr  =  _MaxGetSdkConfiguration ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  sdkConfigurationDict  =  Json . Deserialize ( sdkConfigurationStr )  as  Dictionary < string ,  object > ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  SdkConfiguration . Create ( sdkConfigurationDict ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetHasUserConsent ( bool  hasUserConsent ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set whether or not user has provided consent for information sharing with AppLovin and other providers. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="hasUserConsent"><c>true</c> if the user has provided consent for information sharing with AppLovin. <c>false</c> by default.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetHasUserConsent ( bool  hasUserConsent ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetHasUserConsent ( hasUserConsent ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxHasUserConsent ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if user has provided consent for information sharing with AppLovin and other providers. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if user has provided consent for information sharing. <c>false</c> if the user declined to share information or the consent value has not been set <see cref="IsUserConsentSet">.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  HasUserConsent ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxHasUserConsent ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsUserConsentSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if user has set consent for information sharing. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if user has set a value of consent for information sharing.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsUserConsentSet ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsUserConsentSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetIsAgeRestrictedUser ( bool  isAgeRestrictedUser ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Mark user as age restricted (i.e. under 16). 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="isAgeRestrictedUser"><c>true</c> if the user is age restricted (i.e. under 16).</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetIsAgeRestrictedUser ( bool  isAgeRestrictedUser ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetIsAgeRestrictedUser ( isAgeRestrictedUser ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsAgeRestrictedUser ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if user is age restricted. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if the user is age-restricted. <c>false</c> if the user is not age-restricted or the age-restriction has not been set<see cref="IsAgeRestrictedUserSet">.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsAgeRestrictedUser ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsAgeRestrictedUser ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsAgeRestrictedUserSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if user set its age restricted settings. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if user has set its age restricted settings.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsAgeRestrictedUserSet ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsAgeRestrictedUserSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetDoNotSell ( bool  doNotSell ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set whether or not user has opted out of the sale of their personal information. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="doNotSell"><c>true</c> if the user has opted out of the sale of their personal information.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetDoNotSell ( bool  doNotSell ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetDoNotSell ( doNotSell ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsDoNotSell ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if the user has opted out of the sale of their personal information. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if the user has opted out of the sale of their personal information. <c>false</c> if the user opted in to the sell of their personal information or the value has not been set <see cref="IsDoNotSellSet">.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsDoNotSell ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsDoNotSell ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsDoNotSellSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if the user has set the option to sell their personal information 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if user has chosen an option to sell their personal information.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsDoNotSellSet ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsDoNotSellSet ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Banners 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxCreateBanner ( string  adUnitIdentifier ,  string  bannerPosition ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Create a new banner. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to create. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="bannerPosition">Banner position. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  CreateBanner ( string  adUnitIdentifier ,  BannerPosition  bannerPosition ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "create banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxCreateBanner ( adUnitIdentifier ,  bannerPosition . ToSnakeCaseString ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxCreateBannerXY ( string  adUnitIdentifier ,  float  x ,  float  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Create a new banner with a custom position. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to create. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="x">The X coordinate (horizontal position) of the banner relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="y">The Y coordinate (vertical position) of the banner relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <seealso cref="GetBannerLayout"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The banner is placed within the safe area of the screen. You can use this to get the absolute position of the banner on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </seealso> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  CreateBanner ( string  adUnitIdentifier ,  float  x ,  float  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "create banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxCreateBannerXY ( adUnitIdentifier ,  x ,  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadBanner ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Load a new banner ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// NOTE: The <see cref="CreateBanner()"/> method loads the first banner ad and initiates an automated banner refresh process. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// You only need to call this method if you pause banner refresh. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadBanner ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadBanner ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerPlacement ( string  adUnitIdentifier ,  string  placement ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set the banner placement for an ad unit identifier to tie the future ad events to. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to set the placement for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">Placement to set</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerPlacement ( string  adUnitIdentifier ,  string  placement ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set banner placement" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetBannerPlacement ( adUnitIdentifier ,  placement ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxStartBannerAutoRefresh ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Starts or resumes auto-refreshing of the banner for the given ad unit identifier. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner for which to start auto-refresh. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  StartBannerAutoRefresh ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "start banner auto-refresh" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxStartBannerAutoRefresh ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxStopBannerAutoRefresh ( string  adUnitIdentifeir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Pauses auto-refreshing of the banner for the given ad unit identifier. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner for which to stop auto-refresh. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  StopBannerAutoRefresh ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "stop banner auto-refresh" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxStopBannerAutoRefresh ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxUpdateBannerPosition ( string  adUnitIdentifier ,  string  bannerPosition ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Updates the position of the banner to the new position provided. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">The ad unit identifier of the banner for which to update the position. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="bannerPosition">A new position for the banner. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  UpdateBannerPosition ( string  adUnitIdentifier ,  BannerPosition  bannerPosition ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "update banner position" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxUpdateBannerPosition ( adUnitIdentifier ,  bannerPosition . ToSnakeCaseString ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxUpdateBannerPositionXY ( string  adUnitIdentifier ,  float  x ,  float  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Updates the position of the banner to the new coordinates provided. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">The ad unit identifier of the banner for which to update the position. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="x">The X coordinate (horizontal position) of the banner relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="y">The Y coordinate (vertical position) of the banner relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <seealso cref="GetBannerLayout"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The banner is placed within the safe area of the screen. You can use this to get the absolute position of the banner on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </seealso> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  UpdateBannerPosition ( string  adUnitIdentifier ,  float  x ,  float  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "update banner position" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxUpdateBannerPositionXY ( adUnitIdentifier ,  x ,  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerWidth ( string  adUnitIdentifier ,  float  width ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Overrides the width of the banner in points. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">The ad unit identifier of the banner for which to override the width for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="width">The desired width of the banner in points</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerWidth ( string  adUnitIdentifier ,  float  width ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set banner width" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetBannerWidth ( adUnitIdentifier ,  width ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowBanner ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Show banner at a position determined by the 'CreateBanner' call. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to show. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowBanner ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxShowBanner ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxDestroyBanner ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Remove banner from the ad view and destroy it. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to destroy. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  DestroyBanner ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "destroy banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxDestroyBanner ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxHideBanner ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Hide banner. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to hide. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  HideBanner ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "hide banner" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxHideBanner ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerBackgroundColor ( string  adUnitIdentifier ,  string  hexColorCodeString ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set non-transparent background color for banners to be fully functional. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to set background color for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="color">A background color to set for the ad</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerBackgroundColor ( string  adUnitIdentifier ,  Color  color ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set background color" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetBannerBackgroundColor ( adUnitIdentifier ,  MaxSdkUtils . ParseColor ( color ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the banner ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set banner extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetBannerExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the banner ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set banner local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetBannerLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetBannerLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetBannerCustomData ( string  adUnitIdentifier ,  string  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The custom data to tie the showing banner ad to, for ILRD and rewarded postbacks via the <c>{CUSTOM_DATA}</c> macro. Maximum size is 8KB. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Banner ad unit identifier of the banner to set the custom data for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to be set.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetBannerCustomData ( string  adUnitIdentifier ,  string  customData ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set banner custom data" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetBannerCustomData ( adUnitIdentifier ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetBannerLayout ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The banner position on the screen. When setting the banner position via <see cref="CreateBanner(string, float, float)"/> or <see cref="UpdateBannerPosition(string, float, float)"/>, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// the banner is placed within the safe area of the screen. This returns the absolute position of the banner on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the banner for which to get the position on screen. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>A <see cref="Rect"/> representing the banner position on screen.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  Rect  GetBannerLayout ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "get banner layout" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  positionRect  =  _MaxGetBannerLayout ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  GetRectFromString ( positionRect ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region MRECs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxCreateMRec ( string  adUnitIdentifier ,  string  mrecPosition ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Create a new MREC. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to create. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="mrecPosition">MREC position. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  CreateMRec ( string  adUnitIdentifier ,  AdViewPosition  mrecPosition ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "create MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxCreateMRec ( adUnitIdentifier ,  mrecPosition . ToSnakeCaseString ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxCreateMRecXY ( string  adUnitIdentifier ,  float  x ,  float  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Create a new MREC with a custom position. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to create. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="x">The X coordinate (horizontal position) of the MREC relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="y">The Y coordinate (vertical position) of the MREC relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <seealso cref="GetMRecLayout"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The MREC is placed within the safe area of the screen. You can use this to get the absolute position Rect of the MREC on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </seealso> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  CreateMRec ( string  adUnitIdentifier ,  float  x ,  float  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "create MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxCreateMRecXY ( adUnitIdentifier ,  x ,  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadMRec ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Load a new MREC ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// NOTE: The <see cref="CreateMRec()"/> method loads the first MREC ad and initiates an automated MREC refresh process. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// You only need to call this method if you pause MREC refresh. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadMRec ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadMRec ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMRecPlacement ( string  adUnitIdentifier ,  string  placement ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set the MREC placement for an ad unit identifier to tie the future ad events to. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to set the placement for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">Placement to set</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetMRecPlacement ( string  adUnitIdentifier ,  string  placement ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set MREC placement" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetMRecPlacement ( adUnitIdentifier ,  placement ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxStartMRecAutoRefresh ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Starts or resumes auto-refreshing of the MREC for the given ad unit identifier. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC for which to start auto-refresh. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  StartMRecAutoRefresh ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "start MREC auto-refresh" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxStartMRecAutoRefresh ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxStopMRecAutoRefresh ( string  adUnitIdentifeir ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Pauses auto-refreshing of the MREC for the given ad unit identifier. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC for which to stop auto-refresh. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  StopMRecAutoRefresh ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "stop MREC auto-refresh" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxStopMRecAutoRefresh ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxUpdateMRecPosition ( string  adUnitIdentifier ,  string  mrecPosition ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Updates the position of the MREC to the new position provided. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">The ad unit identifier of the MREC for which to update the position. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="mrecPosition">A new position for the MREC. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  UpdateMRecPosition ( string  adUnitIdentifier ,  AdViewPosition  mrecPosition ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "update MREC position" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxUpdateMRecPosition ( adUnitIdentifier ,  mrecPosition . ToSnakeCaseString ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxUpdateMRecPositionXY ( string  adUnitIdentifier ,  float  x ,  float  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Updates the position of the MREC to the new coordinates provided. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">The ad unit identifier of the MREC for which to update the position. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="x">The X coordinate (horizontal position) of the MREC relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="y">The Y coordinate (vertical position) of the MREC relative to the top left corner of the screen.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <seealso cref="GetMRecLayout"> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The MREC is placed within the safe area of the screen. You can use this to get the absolute position Rect of the MREC on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </seealso> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  UpdateMRecPosition ( string  adUnitIdentifier ,  float  x ,  float  y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "update MREC position" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxUpdateMRecPositionXY ( adUnitIdentifier ,  x ,  y ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowMRec ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Show MREC at a position determined by the 'CreateMRec' call. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to show. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowMRec ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxShowMRec ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxDestroyMRec ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Remove MREC from the ad view and destroy it. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to destroy. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  DestroyMRec ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "destroy MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxDestroyMRec ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxHideMRec ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Hide MREC. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to hide. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  HideMRec ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "hide MREC" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxHideMRec ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMRecExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the MREC ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetMRecExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set MREC extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetMRecExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMRecLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMRecLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the MREC ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetMRecLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set MREC local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetMRecLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetMRecLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMRecCustomData ( string  adUnitIdentifier ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The custom data to tie the showing MREC ad to, for ILRD and rewarded postbacks via the <c>{CUSTOM_DATA}</c> macro. Maximum size is 8KB. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">MREC Ad unit identifier of the banner to set the custom data for. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to be set.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetMRecCustomData ( string  adUnitIdentifier ,  string  customData ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set MREC custom data" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetMRecCustomData ( adUnitIdentifier ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetMRecLayout ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// The MREC position on the screen. When setting the banner position via <see cref="CreateMRec(string, float, float)"/> or <see cref="UpdateMRecPosition(string, float, float)"/>, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// the banner is placed within the safe area of the screen. This returns the absolute position of the MREC on screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the MREC for which to get the position on screen. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>A <see cref="Rect"/> representing the banner position on screen.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  Rect  GetMRecLayout ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "get MREC layout" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  positionRect  =  _MaxGetMRecLayout ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  GetRectFromString ( positionRect ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Interstitials 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadInterstitial ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Start loading an interstitial. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadInterstitial ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load interstitial" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadInterstitial ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsInterstitialReady ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if interstitial ad is loaded and ready to be displayed. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial ad to check if it's ready to be displayed. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>True if the ad is ready to be displayed</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsInterstitialReady ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "check interstitial loaded" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsInterstitialReady ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowInterstitial ( string  adUnitIdentifier ,  string  placement ,  string  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present loaded interstitial for a given placement to tie ad events to. Note: if the interstitial is not ready to be displayed nothing will happen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">The placement to tie the showing ad's events to</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to tie the showing ad's events to. Maximum size is 8KB.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowInterstitial ( string  adUnitIdentifier ,  string  placement  =  null ,  string  customData  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show interstitial" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( IsInterstitialReady ( adUnitIdentifier ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxShowInterstitial ( adUnitIdentifier ,  placement ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserWarning ( "Not showing MAX Ads interstitial: ad not ready" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetInterstitialExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetInterstitialExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set interstitial extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetInterstitialExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetInterstitialLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetInterstitialLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetInterstitialLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set interstitial local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetInterstitialLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetInterstitialLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region App Open Ads 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadAppOpenAd ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Start loading an app open ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the app open ad to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadAppOpenAd ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load app open ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadAppOpenAd ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsAppOpenAdReady ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if app open ad ad is loaded and ready to be displayed. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the app open ad ad to check if it's ready to be displayed. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>True if the ad is ready to be displayed</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsAppOpenAdReady ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "check app open ad loaded" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsAppOpenAdReady ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowAppOpenAd ( string  adUnitIdentifier ,  string  placement ,  string  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present loaded app open ad for a given placement to tie ad events to. Note: if the app open ad is not ready to be displayed nothing will happen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the app open ad to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">The placement to tie the showing ad's events to</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to tie the showing ad's events to. Maximum size is 8KB.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowAppOpenAd ( string  adUnitIdentifier ,  string  placement  =  null ,  string  customData  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show app open ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( IsAppOpenAdReady ( adUnitIdentifier ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxShowAppOpenAd ( adUnitIdentifier ,  placement ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserWarning ( "Not showing MAX Ads app open ad: ad not ready" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetAppOpenAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the app open ad to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetAppOpenAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set app open ad extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetAppOpenAdExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetAppOpenAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetAppOpenAdLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the app open ad to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetAppOpenAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set app open ad local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetAppOpenAdLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetAppOpenAdLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Rewarded 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadRewardedAd ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Start loading an rewarded ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded ad to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadRewardedAd ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load rewarded ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadRewardedAd ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsRewardedAdReady ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if rewarded ad ad is loaded and ready to be displayed. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded ad to check if it's ready to be displayed. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>True if the ad is ready to be displayed</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsRewardedAdReady ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "check rewarded ad loaded" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsRewardedAdReady ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowRewardedAd ( string  adUnitIdentifier ,  string  placement ,  string  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present loaded rewarded ad for a given placement to tie ad events to. Note: if the rewarded ad is not ready to be displayed nothing will happen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the interstitial to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">The placement to tie the showing ad's events to</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to tie the showing ad's events to. Maximum size is 8KB.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowRewardedAd ( string  adUnitIdentifier ,  string  placement  =  null ,  string  customData  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show rewarded ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( IsRewardedAdReady ( adUnitIdentifier ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxShowRewardedAd ( adUnitIdentifier ,  placement ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserWarning ( "Not showing MAX Ads rewarded ad: ad not ready" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded ad to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetRewardedAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set rewarded extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetRewardedAdExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedAdLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded ad to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetRewardedAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set rewarded ad local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetRewardedAdLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetRewardedAdLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Rewarded Interstitials 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxLoadRewardedInterstitialAd ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Start loading an rewarded interstitial ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded interstitial ad to load. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  LoadRewardedInterstitialAd ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "load rewarded interstitial ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxLoadRewardedInterstitialAd ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsRewardedInterstitialAdReady ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Check if rewarded interstitial ad ad is loaded and ready to be displayed. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded interstitial ad to check if it's ready to be displayed. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <returns>True if the ad is ready to be displayed</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsRewardedInterstitialAdReady ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "check rewarded interstitial ad loaded" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsRewardedInterstitialAdReady ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxShowRewardedInterstitialAd ( string  adUnitIdentifier ,  string  placement ,  string  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Present loaded rewarded interstitial ad for a given placement to tie ad events to. Note: if the rewarded interstitial ad is not ready to be displayed nothing will happen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded interstitial to show. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="placement">The placement to tie the showing ad's events to</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="customData">The custom data to tie the showing ad's events to. Maximum size is 8KB.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  ShowRewardedInterstitialAd ( string  adUnitIdentifier ,  string  placement  =  null ,  string  customData  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "show rewarded interstitial ad" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( IsRewardedInterstitialAdReady ( adUnitIdentifier ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxShowRewardedInterstitialAd ( adUnitIdentifier ,  placement ,  customData ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserWarning ( "Not showing MAX Ads rewarded interstitial ad: ad not ready" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedInterstitialAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded interstitial ad to set the extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetRewardedInterstitialAdExtraParameter ( string  adUnitIdentifier ,  string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set rewarded interstitial extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetRewardedInterstitialAdExtraParameter ( adUnitIdentifier ,  key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedInterstitialAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  IntPtr  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetRewardedInterstitialAdLocalExtraParameterJSON ( string  adUnitIdentifier ,  string  key ,  string  json ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set a local extra parameter for the ad. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="adUnitIdentifier">Ad unit identifier of the rewarded interstitial ad to set the local extra parameter for. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the local extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="value">The value for the local extra parameter. Accepts the following types: <see cref="IntPtr"/>, <c>null</c>, <c>IList</c>, <c>IDictionary</c>, <c>string</c>, primitive types</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetRewardedInterstitialAdLocalExtraParameter ( string  adUnitIdentifier ,  string  key ,  object  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ValidateAdUnitIdentifier ( adUnitIdentifier ,  "set rewarded interstitial ad local extra parameter" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( value  = =  null  | |  value  is  IntPtr ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 04:24:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            var  intPtrValue  =  value  = =  null  ?  IntPtr . Zero  :  ( IntPtr )  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetRewardedInterstitialAdLocalExtraParameter ( adUnitIdentifier ,  key ,  intPtrValue ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            _MaxSetRewardedInterstitialAdLocalExtraParameterJSON ( adUnitIdentifier ,  key ,  SerializeLocalExtraParameterValue ( value ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Event Tracking 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxTrackEvent ( string  name ,  string  parameters ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Track an event using AppLovin. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /// <param name="name">An event from the list of pre-defined events may be found in MaxEvents.cs as part of the AppLovin SDK framework. Must not be null.</param> 
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    /// <param name="parameters">A dictionary containing key-value pairs further describing this event.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  TrackEvent ( string  name ,  IDictionary < string ,  string >  parameters  =  null ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxTrackEvent ( name ,  Json . Serialize ( parameters ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Settings 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetMuted ( bool  muted ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set whether to begin video ads in a muted state or not. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Please call this method after the SDK has initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="muted"><c>true</c> if video ads should being in muted state.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetMuted ( bool  muted ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetMuted ( muted ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsMuted ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Whether video ads begin in a muted state or not. Defaults to <c>false</c>. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Note: Returns <c>false</c> if the SDK is not initialized. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if video ads begin in muted state.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsMuted ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsMuted ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxSetVerboseLogging ( bool  enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Toggle verbose logging of AppLovin SDK. If enabled AppLovin messages will appear in standard application log accessible via console. All log messages will have "AppLovinSdk" tag. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="enabled"><c>true</c> if verbose logging should be enabled.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetVerboseLogging ( bool  enabled ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetVerboseLogging ( enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxIsVerboseLoggingEnabled ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ///  Whether or not verbose logging is enabled. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <returns><c>true</c> if verbose logging is enabled.</returns> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  bool  IsVerboseLoggingEnabled ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  _MaxIsVerboseLoggingEnabled ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxSetCreativeDebuggerEnabled ( bool  enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Whether the creative debugger will be displayed on fullscreen ads after flipping the device screen down twice. Defaults to true. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="enabled"><c>true</c> if the creative debugger should be enabled.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetCreativeDebuggerEnabled ( bool  enabled ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetCreativeDebuggerEnabled ( enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTestDeviceAdvertisingIdentifiers ( string [ ]  advertisingIdentifiers ,  int  size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Enable devices to receive test ads, by passing in the advertising identifier (IDFA/GAID) of each test device. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Refer to AppLovin logs for the IDFA/GAID of your current device. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="advertisingIdentifiers">String list of advertising identifiers from devices to receive test ads.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetTestDeviceAdvertisingIdentifiers ( string [ ]  advertisingIdentifiers ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( IsInitialized ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserError ( "Test Device Advertising Identifiers must be set before SDK initialization." ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTestDeviceAdvertisingIdentifiers ( advertisingIdentifiers ,  advertisingIdentifiers . Length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxSetExceptionHandlerEnabled ( bool  enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Whether or not the native AppLovin SDKs listen to exceptions. Defaults to <c>true</c>. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="enabled"><c>true</c> if the native AppLovin SDKs should not listen to exceptions.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetExceptionHandlerEnabled ( bool  enabled ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetExceptionHandlerEnabled ( enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxSetLocationCollectionEnabled ( bool  enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Whether or not AppLovin SDK will collect the device location if available. Defaults to <c>true</c>. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="enabled"><c>true</c> if AppLovin SDK should collect the device location if available.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetLocationCollectionEnabled ( bool  enabled ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetLocationCollectionEnabled ( enabled ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetExtraParameter ( string  key ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Set an extra parameter to pass to the AppLovin server. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="key">The key for the extra parameter. Must not be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <param name="value">The value for the extra parameter. May be null.</param> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  void  SetExtraParameter ( string  key ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetExtraParameter ( key ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-04-17 02:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  IntPtr  _MaxGetSafeAreaInsets ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// <summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// Get the native insets in pixels for the safe area. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// These insets are used to position ads within the safe area of the screen. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /// </summary> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  SafeAreaInsets  GetSafeAreaInsets ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        // Use an int array instead of json serialization for performance 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  insetsPtr  =  _MaxGetSafeAreaInsets ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  insets  =  new  int [ 4 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Marshal . Copy ( insetsPtr ,  insets ,  0 ,  4 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        // Convert from points to pixels 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  screenDensity  =  MaxSdkUtils . GetScreenDensity ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  ( var  i  =  0 ;  i  <  insets . Length ;  i + + ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            insets [ i ]  * =  ( int )  screenDensity ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  new  SafeAreaInsets ( insets ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-12-26 03:47:44 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Private 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  bool  _MaxSetUserSegmentField ( string  name ,  string  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetUserSegmentField ( string  name ,  string  value ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetUserSegmentField ( name ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataYearOfBirth ( int  yearOfBirth ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataYearOfBirth ( int  yearOfBirth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataYearOfBirth ( yearOfBirth ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataGender ( String  gender ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataGender ( String  gender ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataGender ( gender ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataMaximumAdContentRating ( int  maximumAdContentRating ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataMaximumAdContentRating ( int  maximumAdContentRating ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataMaximumAdContentRating ( maximumAdContentRating ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataEmail ( string  email ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataEmail ( string  email ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataEmail ( email ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataPhoneNumber ( string  phoneNumber ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataPhoneNumber ( string  phoneNumber ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataPhoneNumber ( phoneNumber ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataKeywords ( string [ ]  keywords ,  int  size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataKeywords ( string [ ]  keywords ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataKeywords ( keywords ,  keywords  = =  null  ?  0  :  keywords . Length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxSetTargetingDataInterests ( string [ ]  interests ,  int  size ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  SetTargetingDataInterests ( string [ ]  interests ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxSetTargetingDataInterests ( interests ,  interests  = =  null  ?  0  :  interests . Length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  void  _MaxClearAllTargetingData ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  ClearAllTargetingData ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _MaxClearAllTargetingData ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [MonoPInvokeCallback(typeof(ALUnityBackgroundCallback))]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    internal  static  void  BackgroundCallback ( string  propsStr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        HandleBackgroundCallback ( propsStr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #region Obsolete 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  int  _MaxConsentDialogState ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [Obsolete("This method has been deprecated. Please use `GetSdkConfiguration().ConsentDialogState`")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  ConsentDialogState  GetConsentDialogState ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! IsInitialized ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            MaxSdkLogger . UserWarning ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                "MAX Ads SDK has not been initialized yet. GetConsentDialogState() may return ConsentDialogState.Unknown" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ( ConsentDialogState )  _MaxConsentDialogState ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [DllImport("__Internal")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    private  static  extern  string  _MaxGetAdInfo ( string  adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [Obsolete("This method has been deprecated. The AdInfo object is returned with ad callbacks.")]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  static  AdInfo  GetAdInfo ( string  adUnitIdentifier ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  adInfoString  =  _MaxGetAdInfo ( adUnitIdentifier ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( string . IsNullOrEmpty ( adInfoString ) )  return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  adInfoDictionary  =  Json . Deserialize ( adInfoString )  as  Dictionary < string ,  object > ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  new  AdInfo ( adInfoDictionary ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # endregion 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}