You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/MaxSdk/Scripts/MaxSdkCallbacks.cs

1738 lines
67 KiB
C#

/**
* This is is a global Unity object that is used to forward callbacks from native iOS / Android Max code to the application.
*/
using System;
using System.Collections.Generic;
using System.Globalization;
using UnityEngine;
using AppLovinMax.ThirdParty.MiniJson;
using AppLovinMax.Internal;
public static class MaxSdkCallbacks
{
// Fired when the SDK has finished initializing
private static Action<MaxSdkBase.SdkConfiguration> _onSdkInitializedEvent;
public static event Action<MaxSdkBase.SdkConfiguration> OnSdkInitializedEvent
{
add
{
LogSubscribedToEvent("OnSdkInitializedEvent");
_onSdkInitializedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnSdkInitializedEvent");
_onSdkInitializedEvent -= value;
}
}
// Fire when the Consent Dialog has been dismissed.
private static Action _onSdkConsentDialogDismissedEvent;
public static event Action OnSdkConsentDialogDismissedEvent
{
add
{
LogSubscribedToEvent("OnSdkConsentDialogDismissedEvent");
_onSdkConsentDialogDismissedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnSdkConsentDialogDismissedEvent");
_onSdkConsentDialogDismissedEvent -= value;
}
}
private static Action<bool> _onApplicationStateChangedEvent;
/// <summary>
/// Fired when the application is paused or resumed.
/// </summary>
public static event Action<bool> OnApplicationStateChangedEvent
{
add
{
LogSubscribedToEvent("OnApplicationStateChangedEvent");
_onApplicationStateChangedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnApplicationStateChangedEvent");
_onApplicationStateChangedEvent -= value;
}
}
private static Action<string, MaxSdkBase.AdInfo> _onInterstitialAdLoadedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo> _onInterstitialAdLoadFailedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onInterstitialAdDisplayedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> _onInterstitialAdFailedToDisplayEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onInterstitialAdClickedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onInterstitialAdRevenuePaidEvent;
private static Action<string, string, MaxSdkBase.AdInfo> _onInterstitialAdReviewCreativeIdGeneratedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onInterstitialAdHiddenEventV2;
public class Interstitial
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdLoadedEvent");
_onInterstitialAdLoadedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdLoadedEvent");
_onInterstitialAdLoadedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdLoadFailedEvent");
_onInterstitialAdLoadFailedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdLoadFailedEvent");
_onInterstitialAdLoadFailedEventV2 -= value;
}
}
/**
* Fired when an interstitial ad is displayed (may not be received by Unity until the interstitial ad closes).
*/
public static event Action<string, MaxSdkBase.AdInfo> OnAdDisplayedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdDisplayedEvent");
_onInterstitialAdDisplayedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdDisplayedEvent");
_onInterstitialAdDisplayedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> OnAdDisplayFailedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdDisplayFailedEvent");
_onInterstitialAdFailedToDisplayEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdDisplayFailedEvent");
_onInterstitialAdFailedToDisplayEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdClickedEvent");
_onInterstitialAdClickedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdClickedEvent");
_onInterstitialAdClickedEventV2 -= value;
}
}
/// <summary>
/// Fired when an interstitial ad impression was validated and revenue will be paid.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdRevenuePaidEvent");
_onInterstitialAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdRevenuePaidEvent");
_onInterstitialAdRevenuePaidEvent -= value;
}
}
/// <summary>
/// Fired when an Ad Review Creative ID has been generated.
/// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, string, MaxSdkBase.AdInfo> OnAdReviewCreativeIdGeneratedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdReviewCreativeIdGeneratedEvent");
_onInterstitialAdReviewCreativeIdGeneratedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdReviewCreativeIdGeneratedEvent");
_onInterstitialAdReviewCreativeIdGeneratedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdHiddenEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdHiddenEvent");
_onInterstitialAdHiddenEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdHiddenEvent");
_onInterstitialAdHiddenEventV2 -= value;
}
}
}
private static Action<string, MaxSdkBase.AdInfo> _onAppOpenAdLoadedEvent;
private static Action<string, MaxSdkBase.ErrorInfo> _onAppOpenAdLoadFailedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onAppOpenAdDisplayedEvent;
private static Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> _onAppOpenAdFailedToDisplayEvent;
private static Action<string, MaxSdkBase.AdInfo> _onAppOpenAdClickedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onAppOpenAdRevenuePaidEvent;
private static Action<string, MaxSdkBase.AdInfo> _onAppOpenAdHiddenEvent;
public class AppOpen
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdLoadedEvent");
_onAppOpenAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdLoadedEvent");
_onAppOpenAdLoadedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdLoadFailedEvent");
_onAppOpenAdLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdLoadFailedEvent");
_onAppOpenAdLoadFailedEvent -= value;
}
}
/**
* Fired when an app open ad is displayed (may not be received by Unity until the app open ad closes).
*/
public static event Action<string, MaxSdkBase.AdInfo> OnAdDisplayedEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdDisplayedEvent");
_onAppOpenAdDisplayedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdDisplayedEvent");
_onAppOpenAdDisplayedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> OnAdDisplayFailedEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdDisplayFailedEvent");
_onAppOpenAdFailedToDisplayEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdDisplayFailedEvent");
_onAppOpenAdFailedToDisplayEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdClickedEvent");
_onAppOpenAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdClickedEvent");
_onAppOpenAdClickedEvent -= value;
}
}
/// <summary>
/// Fired when an app open ad impression was validated and revenue will be paid.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdRevenuePaidEvent");
_onAppOpenAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdRevenuePaidEvent");
_onAppOpenAdRevenuePaidEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdHiddenEvent
{
add
{
LogSubscribedToEvent("OnAppOpenAdHiddenEvent");
_onAppOpenAdHiddenEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnAppOpenAdHiddenEvent");
_onAppOpenAdHiddenEvent -= value;
}
}
}
private static Action<string, MaxSdkBase.AdInfo> _onRewardedAdLoadedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo> _onRewardedAdLoadFailedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedAdDisplayedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> _onRewardedAdFailedToDisplayEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedAdClickedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedAdRevenuePaidEvent;
private static Action<string, string, MaxSdkBase.AdInfo> _onRewardedAdReviewCreativeIdGeneratedEvent;
private static Action<string, MaxSdkBase.Reward, MaxSdkBase.AdInfo> _onRewardedAdReceivedRewardEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedAdHiddenEventV2;
public class Rewarded
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdLoadedEvent");
_onRewardedAdLoadedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdLoadedEvent");
_onRewardedAdLoadedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdLoadFailedEvent");
_onRewardedAdLoadFailedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdLoadFailedEvent");
_onRewardedAdLoadFailedEventV2 -= value;
}
}
/**
* Fired when a rewarded ad is displayed (may not be received by Unity until the rewarded ad closes).
*/
public static event Action<string, MaxSdkBase.AdInfo> OnAdDisplayedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdDisplayedEvent");
_onRewardedAdDisplayedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdDisplayedEvent");
_onRewardedAdDisplayedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> OnAdDisplayFailedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdDisplayFailedEvent");
_onRewardedAdFailedToDisplayEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdDisplayFailedEvent");
_onRewardedAdFailedToDisplayEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdClickedEvent");
_onRewardedAdClickedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdClickedEvent");
_onRewardedAdClickedEventV2 -= value;
}
}
/// <summary>
/// Fired when a rewarded ad impression was validated and revenue will be paid.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdRevenuePaidEvent");
_onRewardedAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdRevenuePaidEvent");
_onRewardedAdRevenuePaidEvent -= value;
}
}
/// <summary>
/// Fired when an Ad Review Creative ID has been generated.
/// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, string, MaxSdkBase.AdInfo> OnAdReviewCreativeIdGeneratedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdReviewCreativeIdGeneratedEvent");
_onRewardedAdReviewCreativeIdGeneratedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdReviewCreativeIdGeneratedEvent");
_onRewardedAdReviewCreativeIdGeneratedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.Reward, MaxSdkBase.AdInfo> OnAdReceivedRewardEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdReceivedRewardEvent");
_onRewardedAdReceivedRewardEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdReceivedRewardEvent");
_onRewardedAdReceivedRewardEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdHiddenEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdHiddenEvent");
_onRewardedAdHiddenEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdHiddenEvent");
_onRewardedAdHiddenEventV2 -= value;
}
}
}
private static Action<string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdLoadedEvent;
private static Action<string, MaxSdkBase.ErrorInfo> _onRewardedInterstitialAdLoadFailedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdDisplayedEvent;
private static Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> _onRewardedInterstitialAdFailedToDisplayEvent;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdClickedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdRevenuePaidEvent;
private static Action<string, string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdReviewCreativeIdGeneratedEvent;
private static Action<string, MaxSdkBase.Reward, MaxSdkBase.AdInfo> _onRewardedInterstitialAdReceivedRewardEvent;
private static Action<string, MaxSdkBase.AdInfo> _onRewardedInterstitialAdHiddenEvent;
public class RewardedInterstitial
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdLoadedEvent");
_onRewardedInterstitialAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdLoadedEvent");
_onRewardedInterstitialAdLoadedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdLoadFailedEvent");
_onRewardedInterstitialAdLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdLoadFailedEvent");
_onRewardedInterstitialAdLoadFailedEvent -= value;
}
}
/**
* Fired when a rewarded interstitial ad is displayed (may not be received by Unity until
* the rewarded interstitial ad closes).
*/
public static event Action<string, MaxSdkBase.AdInfo> OnAdDisplayedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdDisplayedEvent");
_onRewardedInterstitialAdDisplayedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdDisplayedEvent");
_onRewardedInterstitialAdDisplayedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo, MaxSdkBase.AdInfo> OnAdDisplayFailedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdDisplayFailedEvent");
_onRewardedInterstitialAdFailedToDisplayEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdDisplayFailedEvent");
_onRewardedInterstitialAdFailedToDisplayEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdClickedEvent");
_onRewardedInterstitialAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdClickedEvent");
_onRewardedInterstitialAdClickedEvent -= value;
}
}
/// <summary>
/// Fired when a rewarded interstitial ad impression was validated and revenue will be paid.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdRevenuePaidEvent");
_onRewardedInterstitialAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdRevenuePaidEvent");
_onRewardedInterstitialAdRevenuePaidEvent -= value;
}
}
/// <summary>
/// Fired when an Ad Review Creative ID has been generated.
/// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order.
/// Executed on a background thread to avoid any delays in execution.
/// </summary>
public static event Action<string, string, MaxSdkBase.AdInfo> OnAdReviewCreativeIdGeneratedEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent");
_onRewardedInterstitialAdReviewCreativeIdGeneratedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent");
_onRewardedInterstitialAdReviewCreativeIdGeneratedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.Reward, MaxSdkBase.AdInfo> OnAdReceivedRewardEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdReceivedRewardEvent");
_onRewardedInterstitialAdReceivedRewardEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdReceivedRewardEvent");
_onRewardedInterstitialAdReceivedRewardEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdHiddenEvent
{
add
{
LogSubscribedToEvent("OnRewardedInterstitialAdHiddenEvent");
_onRewardedInterstitialAdHiddenEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedInterstitialAdHiddenEvent");
_onRewardedInterstitialAdHiddenEvent -= value;
}
}
}
private static Action<string, MaxSdkBase.AdInfo> _onBannerAdLoadedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo> _onBannerAdLoadFailedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onBannerAdClickedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onBannerAdRevenuePaidEvent;
private static Action<string, string, MaxSdkBase.AdInfo> _onBannerAdReviewCreativeIdGeneratedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onBannerAdExpandedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onBannerAdCollapsedEventV2;
public class Banner
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdLoadedEvent");
_onBannerAdLoadedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdLoadedEvent");
_onBannerAdLoadedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdLoadFailedEvent");
_onBannerAdLoadFailedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdLoadFailedEvent");
_onBannerAdLoadFailedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdClickedEvent");
_onBannerAdClickedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdClickedEvent");
_onBannerAdClickedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnBannerAdRevenuePaidEvent");
_onBannerAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdRevenuePaidEvent");
_onBannerAdRevenuePaidEvent -= value;
}
}
/// <summary>
/// Fired when an Ad Review Creative ID has been generated.
/// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order.
/// </summary>
public static event Action<string, string, MaxSdkBase.AdInfo> OnAdReviewCreativeIdGeneratedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdReviewCreativeIdGeneratedEvent");
_onBannerAdReviewCreativeIdGeneratedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdReviewCreativeIdGeneratedEvent");
_onBannerAdReviewCreativeIdGeneratedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdExpandedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdExpandedEvent");
_onBannerAdExpandedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdExpandedEvent");
_onBannerAdExpandedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdCollapsedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdCollapsedEvent");
_onBannerAdCollapsedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdCollapsedEvent");
_onBannerAdCollapsedEventV2 -= value;
}
}
}
private static Action<string, MaxSdkBase.AdInfo> _onMRecAdLoadedEventV2;
private static Action<string, MaxSdkBase.ErrorInfo> _onMRecAdLoadFailedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onMRecAdClickedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onMRecAdRevenuePaidEvent;
private static Action<string, string, MaxSdkBase.AdInfo> _onMRecAdReviewCreativeIdGeneratedEvent;
private static Action<string, MaxSdkBase.AdInfo> _onMRecAdExpandedEventV2;
private static Action<string, MaxSdkBase.AdInfo> _onMRecAdCollapsedEventV2;
public class MRec
{
public static event Action<string, MaxSdkBase.AdInfo> OnAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdLoadedEvent");
_onMRecAdLoadedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdLoadedEvent");
_onMRecAdLoadedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.ErrorInfo> OnAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdLoadFailedEvent");
_onMRecAdLoadFailedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdLoadFailedEvent");
_onMRecAdLoadFailedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdClickedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdClickedEvent");
_onMRecAdClickedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdClickedEvent");
_onMRecAdClickedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdRevenuePaidEvent
{
add
{
LogSubscribedToEvent("OnMRecAdRevenuePaidEvent");
_onMRecAdRevenuePaidEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdRevenuePaidEvent");
_onMRecAdRevenuePaidEvent -= value;
}
}
/// <summary>
/// Fired when an Ad Review Creative ID has been generated.
/// The parameters returned are the adUnitIdentifier, adReviewCreativeId, and adInfo in that respective order.
/// </summary>
public static event Action<string, string, MaxSdkBase.AdInfo> OnAdReviewCreativeIdGeneratedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdReviewCreativeIdGeneratedEvent");
_onMRecAdReviewCreativeIdGeneratedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdReviewCreativeIdGeneratedEvent");
_onMRecAdReviewCreativeIdGeneratedEvent -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdExpandedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdExpandedEvent");
_onMRecAdExpandedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdExpandedEvent");
_onMRecAdExpandedEventV2 -= value;
}
}
public static event Action<string, MaxSdkBase.AdInfo> OnAdCollapsedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdCollapsedEvent");
_onMRecAdCollapsedEventV2 += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdCollapsedEvent");
_onMRecAdCollapsedEventV2 -= value;
}
}
}
private static Action<string> _onBannerAdLoadedEvent;
private static Action<string, int> _onBannerAdLoadFailedEvent;
private static Action<string> _onBannerAdClickedEvent;
private static Action<string> _onBannerAdExpandedEvent;
private static Action<string> _onBannerAdCollapsedEvent;
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Banner.OnAdLoadedEvent` instead.")]
public static event Action<string> OnBannerAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdLoadedEvent");
_onBannerAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdLoadedEvent");
_onBannerAdLoadedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Banner.OnAdLoadFailedEvent` instead.")]
public static event Action<string, int> OnBannerAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdLoadFailedEvent");
_onBannerAdLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdLoadFailedEvent");
_onBannerAdLoadFailedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Banner.OnAdClickedEvent` instead.")]
public static event Action<string> OnBannerAdClickedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdClickedEvent");
_onBannerAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdClickedEvent");
_onBannerAdClickedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Banner.OnAdExpandedEvent` instead.")]
public static event Action<string> OnBannerAdExpandedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdExpandedEvent");
_onBannerAdExpandedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdExpandedEvent");
_onBannerAdExpandedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Banner.OnAdCollapsedEvent` instead.")]
public static event Action<string> OnBannerAdCollapsedEvent
{
add
{
LogSubscribedToEvent("OnBannerAdCollapsedEvent");
_onBannerAdCollapsedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnBannerAdCollapsedEvent");
_onBannerAdCollapsedEvent -= value;
}
}
private static Action<string> _onMRecAdLoadedEvent;
private static Action<string, int> _onMRecAdLoadFailedEvent;
private static Action<string> _onMRecAdClickedEvent;
private static Action<string> _onMRecAdExpandedEvent;
private static Action<string> _onMRecAdCollapsedEvent;
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.MRec.OnAdLoadedEvent` instead.")]
public static event Action<string> OnMRecAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdLoadedEvent");
_onMRecAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdLoadedEvent");
_onMRecAdLoadedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.MRec.OnAdLoadFailedEvent` instead.")]
public static event Action<string, int> OnMRecAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdLoadFailedEvent");
_onMRecAdLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdLoadFailedEvent");
_onMRecAdLoadFailedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.MRec.OnAdClickedEvent` instead.")]
public static event Action<string> OnMRecAdClickedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdClickedEvent");
_onMRecAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdClickedEvent");
_onMRecAdClickedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.MRec.OnAdExpandedEvent` instead.")]
public static event Action<string> OnMRecAdExpandedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdExpandedEvent");
_onMRecAdExpandedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdExpandedEvent");
_onMRecAdExpandedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.MRec.OnAdCollapsedEvent` instead.")]
public static event Action<string> OnMRecAdCollapsedEvent
{
add
{
LogSubscribedToEvent("OnMRecAdCollapsedEvent");
_onMRecAdCollapsedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnMRecAdCollapsedEvent");
_onMRecAdCollapsedEvent -= value;
}
}
private static Action<string> _onInterstitialAdLoadedEvent;
private static Action<string, int> _onInterstitialLoadFailedEvent;
private static Action<string> _onInterstitialAdDisplayedEvent;
private static Action<string, int> _onInterstitialAdFailedToDisplayEvent;
private static Action<string> _onInterstitialAdClickedEvent;
private static Action<string> _onInterstitialAdHiddenEvent;
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdLoadedEvent` instead.")]
public static event Action<string> OnInterstitialLoadedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialLoadedEvent");
_onInterstitialAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialLoadedEvent");
_onInterstitialAdLoadedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent` instead.")]
public static event Action<string, int> OnInterstitialLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialLoadFailedEvent");
_onInterstitialLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialLoadFailedEvent");
_onInterstitialLoadFailedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdHiddenEvent` instead.")]
public static event Action<string> OnInterstitialHiddenEvent
{
add
{
LogSubscribedToEvent("OnInterstitialHiddenEvent");
_onInterstitialAdHiddenEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialHiddenEvent");
_onInterstitialAdHiddenEvent -= value;
}
}
// Fired when an interstitial ad is displayed (may not be received by Unity until the interstitial closes)
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent` instead.")]
public static event Action<string> OnInterstitialDisplayedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialDisplayedEvent");
_onInterstitialAdDisplayedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialDisplayedEvent");
_onInterstitialAdDisplayedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent` instead.")]
public static event Action<string, int> OnInterstitialAdFailedToDisplayEvent
{
add
{
LogSubscribedToEvent("OnInterstitialAdFailedToDisplayEvent");
_onInterstitialAdFailedToDisplayEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialAdFailedToDisplayEvent");
_onInterstitialAdFailedToDisplayEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Interstitial.OnAdClickedEvent` instead.")]
public static event Action<string> OnInterstitialClickedEvent
{
add
{
LogSubscribedToEvent("OnInterstitialClickedEvent");
_onInterstitialAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnInterstitialClickedEvent");
_onInterstitialAdClickedEvent -= value;
}
}
private static Action<string> _onRewardedAdLoadedEvent;
private static Action<string, int> _onRewardedAdLoadFailedEvent;
private static Action<string> _onRewardedAdDisplayedEvent;
private static Action<string, int> _onRewardedAdFailedToDisplayEvent;
private static Action<string> _onRewardedAdClickedEvent;
private static Action<string, MaxSdkBase.Reward> _onRewardedAdReceivedRewardEvent;
private static Action<string> _onRewardedAdHiddenEvent;
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdLoadedEvent` instead.")]
public static event Action<string> OnRewardedAdLoadedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdLoadedEvent");
_onRewardedAdLoadedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdLoadedEvent");
_onRewardedAdLoadedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent` instead.")]
public static event Action<string, int> OnRewardedAdLoadFailedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdLoadFailedEvent");
_onRewardedAdLoadFailedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdLoadFailedEvent");
_onRewardedAdLoadFailedEvent -= value;
}
}
// Fired when an rewarded ad is displayed (may not be received by Unity until the rewarded ad closes)
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent` instead.")]
public static event Action<string> OnRewardedAdDisplayedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdDisplayedEvent");
_onRewardedAdDisplayedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdDisplayedEvent");
_onRewardedAdDisplayedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdHiddenEvent` instead.")]
public static event Action<string> OnRewardedAdHiddenEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdHiddenEvent");
_onRewardedAdHiddenEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdHiddenEvent");
_onRewardedAdHiddenEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdClickedEvent` instead.")]
public static event Action<string> OnRewardedAdClickedEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdClickedEvent");
_onRewardedAdClickedEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdClickedEvent");
_onRewardedAdClickedEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent` instead.")]
public static event Action<string, int> OnRewardedAdFailedToDisplayEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdFailedToDisplayEvent");
_onRewardedAdFailedToDisplayEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdFailedToDisplayEvent");
_onRewardedAdFailedToDisplayEvent -= value;
}
}
[Obsolete("This callback has been deprecated. Please use `MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent` instead.")]
public static event Action<string, MaxSdkBase.Reward> OnRewardedAdReceivedRewardEvent
{
add
{
LogSubscribedToEvent("OnRewardedAdReceivedRewardEvent");
_onRewardedAdReceivedRewardEvent += value;
}
remove
{
LogUnsubscribedToEvent("OnRewardedAdReceivedRewardEvent");
_onRewardedAdReceivedRewardEvent -= value;
}
}
public static void ForwardEvent(string eventPropsStr)
{
var eventProps = Json.Deserialize(eventPropsStr) as Dictionary<string, object>;
if (eventProps == null)
{
MaxSdkLogger.E("Failed to forward event due to invalid event data");
return;
}
var keepInBackground = MaxSdkUtils.GetBoolFromDictionary(eventProps, "keepInBackground", false);
var eventName = MaxSdkUtils.GetStringFromDictionary(eventProps, "name", "");
if (eventName == "OnInitialCallbackEvent")
{
MaxSdkLogger.D("Initial background callback.");
}
else if (eventName == "OnSdkInitializedEvent")
{
var sdkConfiguration = MaxSdkBase.SdkConfiguration.Create(eventProps);
InvokeEvent(_onSdkInitializedEvent, sdkConfiguration, eventName, keepInBackground);
}
else if (eventName == "OnSdkConsentDialogDismissedEvent")
{
InvokeEvent(_onSdkConsentDialogDismissedEvent, eventName, keepInBackground);
}
else if (eventName == "OnCmpCompletedEvent")
{
var errorProps = MaxSdkUtils.GetDictionaryFromDictionary(eventProps, "error");
MaxCmpService.NotifyCompletedIfNeeded(errorProps);
}
else if (eventName == "OnApplicationStateChanged")
{
var isPaused = MaxSdkUtils.GetBoolFromDictionary(eventProps, "isPaused");
InvokeEvent(_onApplicationStateChangedEvent, isPaused, eventName, keepInBackground);
}
// Ad Events
else
{
var adInfo = new MaxSdkBase.AdInfo(eventProps);
var adUnitIdentifier = MaxSdkUtils.GetStringFromDictionary(eventProps, "adUnitId", "");
if (eventName == "OnBannerAdLoadedEvent")
{
InvokeEvent(_onBannerAdLoadedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onBannerAdLoadedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdLoadFailedEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onBannerAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onBannerAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdClickedEvent")
{
InvokeEvent(_onBannerAdClickedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onBannerAdClickedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdRevenuePaidEvent")
{
InvokeEvent(_onBannerAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdReviewCreativeIdGeneratedEvent")
{
var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", "");
InvokeEvent(_onBannerAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdExpandedEvent")
{
InvokeEvent(_onBannerAdExpandedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onBannerAdExpandedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnBannerAdCollapsedEvent")
{
InvokeEvent(_onBannerAdCollapsedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onBannerAdCollapsedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdLoadedEvent")
{
InvokeEvent(_onMRecAdLoadedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onMRecAdLoadedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdLoadFailedEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onMRecAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onMRecAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdClickedEvent")
{
InvokeEvent(_onMRecAdClickedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onMRecAdClickedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdRevenuePaidEvent")
{
InvokeEvent(_onMRecAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdReviewCreativeIdGeneratedEvent")
{
var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", "");
InvokeEvent(_onMRecAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdExpandedEvent")
{
InvokeEvent(_onMRecAdExpandedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onMRecAdExpandedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnMRecAdCollapsedEvent")
{
InvokeEvent(_onMRecAdCollapsedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onMRecAdCollapsedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialLoadedEvent")
{
InvokeEvent(_onInterstitialAdLoadedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onInterstitialAdLoadedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialLoadFailedEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onInterstitialLoadFailedEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onInterstitialAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialHiddenEvent")
{
InvokeEvent(_onInterstitialAdHiddenEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onInterstitialAdHiddenEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialDisplayedEvent")
{
InvokeEvent(_onInterstitialAdDisplayedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onInterstitialAdDisplayedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialAdFailedToDisplayEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onInterstitialAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialClickedEvent")
{
InvokeEvent(_onInterstitialAdClickedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onInterstitialAdClickedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialAdRevenuePaidEvent")
{
InvokeEvent(_onInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnInterstitialAdReviewCreativeIdGeneratedEvent")
{
var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", "");
InvokeEvent(_onInterstitialAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdLoadedEvent")
{
InvokeEvent(_onAppOpenAdLoadedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdLoadFailedEvent")
{
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onAppOpenAdLoadFailedEvent, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdHiddenEvent")
{
InvokeEvent(_onAppOpenAdHiddenEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdDisplayedEvent")
{
InvokeEvent(_onAppOpenAdDisplayedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdFailedToDisplayEvent")
{
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onAppOpenAdFailedToDisplayEvent, adUnitIdentifier, errorInfo, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdClickedEvent")
{
InvokeEvent(_onAppOpenAdClickedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnAppOpenAdRevenuePaidEvent")
{
InvokeEvent(_onAppOpenAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdLoadedEvent")
{
InvokeEvent(_onRewardedAdLoadedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onRewardedAdLoadedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdLoadFailedEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onRewardedAdLoadFailedEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onRewardedAdLoadFailedEventV2, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdDisplayedEvent")
{
InvokeEvent(_onRewardedAdDisplayedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onRewardedAdDisplayedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdHiddenEvent")
{
InvokeEvent(_onRewardedAdHiddenEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onRewardedAdHiddenEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdClickedEvent")
{
InvokeEvent(_onRewardedAdClickedEvent, adUnitIdentifier, eventName, keepInBackground);
InvokeEvent(_onRewardedAdClickedEventV2, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdRevenuePaidEvent")
{
InvokeEvent(_onRewardedAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdReviewCreativeIdGeneratedEvent")
{
var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", "");
InvokeEvent(_onRewardedAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdFailedToDisplayEvent")
{
var errorCode = MaxSdkUtils.GetIntFromDictionary(eventProps, "errorCode", -1);
InvokeEvent(_onRewardedAdFailedToDisplayEvent, adUnitIdentifier, errorCode, eventName, keepInBackground);
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onRewardedAdFailedToDisplayEventV2, adUnitIdentifier, errorInfo, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedAdReceivedRewardEvent")
{
var reward = new MaxSdkBase.Reward
{
Label = MaxSdkUtils.GetStringFromDictionary(eventProps, "rewardLabel", ""),
Amount = MaxSdkUtils.GetIntFromDictionary(eventProps, "rewardAmount", 0)
};
InvokeEvent(_onRewardedAdReceivedRewardEvent, adUnitIdentifier, reward, eventName, keepInBackground);
InvokeEvent(_onRewardedAdReceivedRewardEventV2, adUnitIdentifier, reward, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdLoadedEvent")
{
InvokeEvent(_onRewardedInterstitialAdLoadedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdLoadFailedEvent")
{
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onRewardedInterstitialAdLoadFailedEvent, adUnitIdentifier, errorInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdDisplayedEvent")
{
InvokeEvent(_onRewardedInterstitialAdDisplayedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdHiddenEvent")
{
InvokeEvent(_onRewardedInterstitialAdHiddenEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdClickedEvent")
{
InvokeEvent(_onRewardedInterstitialAdClickedEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdRevenuePaidEvent")
{
InvokeEvent(_onRewardedInterstitialAdRevenuePaidEvent, adUnitIdentifier, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdReviewCreativeIdGeneratedEvent")
{
var adReviewCreativeId = MaxSdkUtils.GetStringFromDictionary(eventProps, "adReviewCreativeId", "");
InvokeEvent(_onRewardedInterstitialAdReviewCreativeIdGeneratedEvent, adUnitIdentifier, adReviewCreativeId, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdFailedToDisplayEvent")
{
var errorInfo = new MaxSdkBase.ErrorInfo(eventProps);
InvokeEvent(_onRewardedInterstitialAdFailedToDisplayEvent, adUnitIdentifier, errorInfo, adInfo, eventName, keepInBackground);
}
else if (eventName == "OnRewardedInterstitialAdReceivedRewardEvent")
{
var reward = new MaxSdkBase.Reward
{
Label = MaxSdkUtils.GetStringFromDictionary(eventProps, "rewardLabel", ""),
Amount = MaxSdkUtils.GetIntFromDictionary(eventProps, "rewardAmount", 0)
};
InvokeEvent(_onRewardedInterstitialAdReceivedRewardEvent, adUnitIdentifier, reward, adInfo, eventName, keepInBackground);
}
else
{
MaxSdkLogger.UserWarning("Unknown MAX Ads event fired: " + eventName);
}
}
}
#if UNITY_EDITOR
public static void EmitSdkInitializedEvent()
{
if (_onSdkInitializedEvent == null) return;
_onSdkInitializedEvent(MaxSdkBase.SdkConfiguration.CreateEmpty());
}
#endif
private static void InvokeEvent(Action evt, string eventName, bool keepInBackground)
{
if (!CanInvokeEvent(evt)) return;
MaxSdkLogger.UserDebug("Invoking event: " + eventName);
if (ShouldInvokeInBackground(keepInBackground))
{
try
{
evt();
}
catch (Exception exception)
{
MaxSdkLogger.UserError("Caught exception in publisher event: " + eventName + ", exception: " + exception);
Debug.LogException(exception);
}
}
else
{
MaxEventExecutor.ExecuteOnMainThread(evt, eventName);
}
}
private static void InvokeEvent<T>(Action<T> evt, T param, string eventName, bool keepInBackground)
{
if (!CanInvokeEvent(evt)) return;
MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Param: " + param);
if (ShouldInvokeInBackground(keepInBackground))
{
try
{
evt(param);
}
catch (Exception exception)
{
MaxSdkLogger.UserError("Caught exception in publisher event: " + eventName + ", exception: " + exception);
Debug.LogException(exception);
}
}
else
{
MaxEventExecutor.ExecuteOnMainThread(() => evt(param), eventName);
}
}
private static void InvokeEvent<T1, T2>(Action<T1, T2> evt, T1 param1, T2 param2, string eventName, bool keepInBackground)
{
if (!CanInvokeEvent(evt)) return;
MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Params: " + param1 + ", " + param2);
if (ShouldInvokeInBackground(keepInBackground))
{
try
{
evt(param1, param2);
}
catch (Exception exception)
{
MaxSdkLogger.UserError("Caught exception in publisher event: " + eventName + ", exception: " + exception);
Debug.LogException(exception);
}
}
else
{
MaxEventExecutor.ExecuteOnMainThread(() => evt(param1, param2), eventName);
}
}
private static void InvokeEvent<T1, T2, T3>(Action<T1, T2, T3> evt, T1 param1, T2 param2, T3 param3, string eventName, bool keepInBackground)
{
if (!CanInvokeEvent(evt)) return;
MaxSdkLogger.UserDebug("Invoking event: " + eventName + ". Params: " + param1 + ", " + param2 + ", " + param3);
if (ShouldInvokeInBackground(keepInBackground))
{
try
{
evt(param1, param2, param3);
}
catch (Exception exception)
{
MaxSdkLogger.UserError("Caught exception in publisher event: " + eventName + ", exception: " + exception);
Debug.LogException(exception);
}
}
else
{
MaxEventExecutor.ExecuteOnMainThread(() => evt(param1, param2, param3), eventName);
}
}
private static bool CanInvokeEvent(Delegate evt)
{
if (evt == null) return false;
// Check that publisher is not over-subscribing
if (evt.GetInvocationList().Length > 5)
{
MaxSdkLogger.UserWarning("Ads Event (" + evt + ") has over 5 subscribers. Please make sure you are properly un-subscribing to actions!!!");
}
return true;
}
private static bool ShouldInvokeInBackground(bool keepInBackground)
{
return MaxSdkBase.InvokeEventsOnUnityMainThread == null ? keepInBackground : !MaxSdkBase.InvokeEventsOnUnityMainThread.Value;
}
private static void LogSubscribedToEvent(string eventName)
{
MaxSdkLogger.D("Listener has been added to callback: " + eventName);
}
private static void LogUnsubscribedToEvent(string eventName)
{
MaxSdkLogger.D("Listener has been removed from callback: " + eventName);
}
#if UNITY_EDITOR && UNITY_2019_2_OR_NEWER
/// <summary>
/// Resets static event handlers so they still get reset even if Domain Reloading is disabled
/// </summary>
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
private static void ResetOnDomainReload()
{
_onSdkInitializedEvent = null;
_onSdkConsentDialogDismissedEvent = null;
_onInterstitialAdLoadedEventV2 = null;
_onInterstitialAdLoadFailedEventV2 = null;
_onInterstitialAdDisplayedEventV2 = null;
_onInterstitialAdFailedToDisplayEventV2 = null;
_onInterstitialAdClickedEventV2 = null;
_onInterstitialAdRevenuePaidEvent = null;
_onInterstitialAdReviewCreativeIdGeneratedEvent = null;
_onInterstitialAdHiddenEventV2 = null;
_onAppOpenAdLoadedEvent = null;
_onAppOpenAdLoadFailedEvent = null;
_onAppOpenAdDisplayedEvent = null;
_onAppOpenAdFailedToDisplayEvent = null;
_onAppOpenAdClickedEvent = null;
_onAppOpenAdRevenuePaidEvent = null;
_onAppOpenAdHiddenEvent = null;
_onRewardedAdLoadedEventV2 = null;
_onRewardedAdLoadFailedEventV2 = null;
_onRewardedAdDisplayedEventV2 = null;
_onRewardedAdFailedToDisplayEventV2 = null;
_onRewardedAdClickedEventV2 = null;
_onRewardedAdRevenuePaidEvent = null;
_onRewardedAdReviewCreativeIdGeneratedEvent = null;
_onRewardedAdReceivedRewardEventV2 = null;
_onRewardedAdHiddenEventV2 = null;
_onRewardedInterstitialAdLoadedEvent = null;
_onRewardedInterstitialAdLoadFailedEvent = null;
_onRewardedInterstitialAdDisplayedEvent = null;
_onRewardedInterstitialAdFailedToDisplayEvent = null;
_onRewardedInterstitialAdClickedEvent = null;
_onRewardedInterstitialAdRevenuePaidEvent = null;
_onRewardedInterstitialAdReviewCreativeIdGeneratedEvent = null;
_onRewardedInterstitialAdReceivedRewardEvent = null;
_onRewardedInterstitialAdHiddenEvent = null;
_onBannerAdLoadedEventV2 = null;
_onBannerAdLoadFailedEventV2 = null;
_onBannerAdClickedEventV2 = null;
_onBannerAdRevenuePaidEvent = null;
_onBannerAdReviewCreativeIdGeneratedEvent = null;
_onBannerAdExpandedEventV2 = null;
_onBannerAdCollapsedEventV2 = null;
_onMRecAdLoadedEventV2 = null;
_onMRecAdLoadFailedEventV2 = null;
_onMRecAdClickedEventV2 = null;
_onMRecAdRevenuePaidEvent = null;
_onMRecAdReviewCreativeIdGeneratedEvent = null;
_onMRecAdExpandedEventV2 = null;
_onMRecAdCollapsedEventV2 = null;
_onBannerAdLoadedEvent = null;
_onBannerAdLoadFailedEvent = null;
_onBannerAdClickedEvent = null;
_onBannerAdExpandedEvent = null;
_onBannerAdCollapsedEvent = null;
_onMRecAdLoadedEvent = null;
_onMRecAdLoadFailedEvent = null;
_onMRecAdClickedEvent = null;
_onMRecAdExpandedEvent = null;
_onMRecAdCollapsedEvent = null;
_onInterstitialAdLoadedEvent = null;
_onInterstitialLoadFailedEvent = null;
_onInterstitialAdDisplayedEvent = null;
_onInterstitialAdFailedToDisplayEvent = null;
_onInterstitialAdClickedEvent = null;
_onInterstitialAdHiddenEvent = null;
_onRewardedAdLoadedEvent = null;
_onRewardedAdLoadFailedEvent = null;
_onRewardedAdDisplayedEvent = null;
_onRewardedAdFailedToDisplayEvent = null;
_onRewardedAdClickedEvent = null;
_onRewardedAdReceivedRewardEvent = null;
_onRewardedAdHiddenEvent = null;
}
#endif
}