Unity SDK
Last updated
Was this helpful?
Was this helpful?
private void InitializeInterstitialAds() {
// Attach callbacks
MeticaAdsCallbacks.Interstitial.OnAdLoadSuccess += OnInterstitialLoadedEvent;
MeticaAdsCallbacks.Interstitial.OnAdLoadFailed += OnInterstitialFailedEvent;
MeticaAdsCallbacks.Interstitial.OnAdShowSuccess += OnInterstitialDisplayedEvent;
MeticaAdsCallbacks.Interstitial.OnAdShowFailed += InterstitialFailedToDisplayEvent;
MeticaAdsCallbacks.Interstitial.OnAdClicked += OnInterstitialClickedEvent;
MeticaAdsCallbacks.Interstitial.OnAdHidden += OnInterstitialDismissedEvent;
// Load the first interstitial
LoadInterstitial();
}
void LoadInterstitial() {
if (IsMeticaAdsEnabled)
{
MeticaAds.LoadInterstitial();
}
else
{
MaxSdk.LoadInterstitial(InterstitialAdUnitId);
}
}
private void OnInterstitialLoadedEvent(string adUnitId) {
// Interstitial ad is ready to be shown. MeticaAds.IsInterstitialReady() will now return 'true'
}
private void OnInterstitialFailedEvent(string adUnitId, string error) {
// Interstitial ad failed to load. We recommend retrying with exponentially higher delay.
}
private void OnInterstitialDisplayedEvent(string adUnitId) {
Debug.Log($"Interstitial shown {adUnitId}");
}
private void InterstitialFailedToDisplayEvent(string adUnitId, string error) {
// Interstitial ad failed to display. We recommend loading the next ad
Debug.Log("Interstitial failed to display: " + error);
LoadInterstitial();
}
private void OnInterstitialClickedEvent(string adUnitId) {
Debug.Log($"Interstitial clicked {adUnitId}");
}
private void OnInterstitialDismissedEvent(string adUnitId) {
// Interstitial ad is hidden. Pre-load the next ad
Debug.Log("Interstitial dismissed");
LoadInterstitial();
}void ShowInterstitial()
{
if (IsMeticaAdsEnabled) {
if (MeticaAds.IsInterstitialReady())
{
MeticaAds.ShowInterstitial();
}
else
{
interstitialStatusText.text = "Ad not ready";
}
}
else
{
if (MaxSdk.IsInterstitialReady(InterstitialAdUnitId))
{
intersitialStatusText.text = "Showing";
MaxSdk.ShowInterstitial(InterstitiaAdUnitId);
}
else
{
interstitialStatusText.text = "Ad not ready";
}
}
}
private void InitializeRewardedAds()
{
if (IsMeticaAdsEnabled)
{
MeticaAdsCallbacks.Rewarded.OnAdLoadSuccess += OnRewarderAdLoadedEvent;
MeticaAdsCallbacks.Rewarded.OnAdLoadFailed += OnRewardedAdFailedEvent;
MeticaAdsCallbacks.Rewarded.OnAdShowSuccess += OnRewardedAdDisplayedEvent;
MeticaAdsCallbacks.Rewarded.OnAdShowFailed += OnRewardedAdFailedToDisplayEvent;
MeticaAdsCallbacks.Rewarded.OnAdClicked += OnRewardedAdClickedEvent;
MeticaAdsCallbacks.Rewarded.OnAdHidden += OnRewardedAdDismissedEvent;
MeticaAdsCallbacks.Rewarded.OnAdRewarded += OnRewardedAdReceivedRewardEvent;
}
else
{
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += (adUnitId, adInfo) => OnRewardedAdLoadedEvent(adUnitId);
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += (adUnitId, errorInfo) => OnRewardedAdFailedEvent(adUnitId, errorInfo.Message);
MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += (adUnitId, errorInfo, adInfo) => OnRewardedAdFailedToDisplayEvent(adUnitId, errorInfo.Message);
MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent += (adUnitId, adInfo) => OnRewardedAdDisplayedEvent(adUnitId);
MaxSdkCallbacks.Rewarded.OnAdClickedEvent += (adUnitId, adInfo) => OnRewardedAdClickedEvent(adUnitId);
MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += (adUnitId, adInfo) => OnRewardedAdDismissedEvent(adUnitId);
MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += (adUnitId, reward, adInfo) => OnRewardedAdReceivedRewardEvent(adUnitId);
MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedAdRevenuePaidEvent;
}
// Load the first RewardedAd
LoadRewardedAd();
}
private void LoadRewardedAd()
{
rewardedStatusText.text = "Loading...";
if (IsMeticaAdsEnabled)
{
MeticaAds.LoadRewarded();
}
else
{
MaxSdk.LoadRewardedAd(RewardedAdUnitId);
}
}
private void OnRewardedAdLoadedEvent(string adUnitId)
{
Debug.Log("Rewarded ad loaded");
}
private void OnRewardedAdDisplayedEvent(string adUnitId)
{
Debug.Log($"Rewarded ad displayed {adUnitId}");
}
private void OnRewardedAdFailedToDisplayEvent(string adUnitId, string error)
{
// Rewarded ad failed to display
Debug.Log("Rewarded ad failed to display: " + error);
LoadRewardedAd();
}
private void OnRewardedAdClickedEvent(string adUnitId)
{
Debug.Log($"Rewarded ad clicked {adUnitId}");
}
private void OnRewardedAdDismissedEvent(string adUnitId)
{
// Rewarded ad is hidden Debug.Log("Rewarded ad dismissed");
LoadRewardedAd();
}
private void OnRewardedAdReceivedRewardEvent(string adUnitId)
{
// Rewarded ad was displayed and user should receive the reward Debug.Log("Rewarded ad received reward");
// Implement your reward logic here
}void ShowRewardedAd()
{
if (IsMeticaAdsEnabled)
{
if (MeticaAds.IsRewardedReady())
{
rewardedStatusText.text = "Showing";
MeticaAds.ShowRewarded();
}
else
{
rewardedStatusText.text = "Ad not ready";
}
}
else
{
if (MaxSdk.IsRewardedAdReady(RewardedAdUnitId))
{
rewardedStatusText.text = "Showing";
MaxSdk.ShowRewardedAd(RewardedAdUnitId);
}
else
{
rewardedSWtatusText.text = "Ad not ready";
}
}
}
void LogOfferPurchaseEventWithProductId(string productId, string currencyCode, double totalAmount, Dictionary<string, object> customPayload = null);