Golf2D/Assets/Scripts/AdsManager.cs
2023-12-06 14:51:43 +05:30

161 lines
4.9 KiB
C#

using AppodealAds.Unity.Api;
using AppodealAds.Unity.Common;
using System;
using System.Collections;
using System.Collections.Generic;
//using GoogleMobileAds.Api;
using UnityEngine;
public class AdsManager : MonoBehaviour, IAppodealInitializationListener, IInterstitialAdListener, IRewardedVideoAdListener
{
// Start is called before the first frame update
public static AdsManager instance;
void Awake(){
if(instance!= null){Destroy(gameObject);}
instance = this;
}
const string intAdId = "ca-app-pub-3966734202864173/1197808629";
const string rewardedAdId = "ca-app-pub-3966734202864173/3725853326";
void Start()
{
DontDestroyOnLoad(gameObject);
// Initialize the Google Mobile Ads SDK.
// MobileAds.Initialize(initStatus => { Debug.Log("admob Init status : " + initStatus.ToString());});
int adTypes = Appodeal.INTERSTITIAL | Appodeal.REWARDED_VIDEO;
string appKey = "010153e7ddbb96a5639a058bce268953b4d74b1038e266d1";
Appodeal.initialize(appKey, adTypes,this);
Appodeal.setAutoCache(Appodeal.INTERSTITIAL, true);
Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, true);
}
public void onInitializationFinished(List<string> errors) { }
//private InterstitialAd interstitialAd;
public void ShowInterstitial()
{
if (Appodeal.isLoaded(Appodeal.INTERSTITIAL) && Appodeal.canShow(Appodeal.INTERSTITIAL, "interestitial"))
{
Appodeal.show(Appodeal.INTERSTITIAL, "interestitial");
}else if (!Appodeal.isAutoCacheEnabled(Appodeal.INTERSTITIAL))
{
Appodeal.cache(Appodeal.INTERSTITIAL);
Debug.Log("Caching INT");
}
}
public void ShowRewardedVideo()
{
if (Appodeal.isLoaded(Appodeal.REWARDED_VIDEO) && Appodeal.canShow(Appodeal.REWARDED_VIDEO, "Reward"))
{
Appodeal.show(Appodeal.REWARDED_VIDEO, "Reward");
}
else if (!Appodeal.isAutoCacheEnabled(Appodeal.REWARDED_VIDEO))
{
Appodeal.cache(Appodeal.REWARDED_VIDEO);
Debug.Log("Caching REWARD");
}
}
#region Interstitial callback handlers
// Called when interstitial was loaded (precache flag shows if the loaded ad is precache)
public void onInterstitialLoaded(bool isPrecache)
{
Debug.Log("Interstitial loaded");
}
// Called when interstitial failed to load
public void onInterstitialFailedToLoad()
{
Debug.Log("Interstitial failed to load");
}
// Called when interstitial was loaded, but cannot be shown (internal network errors, placement settings, etc.)
public void onInterstitialShowFailed()
{
Debug.Log("Interstitial show failed");
}
// Called when interstitial is shown
public void onInterstitialShown()
{
Debug.Log("Interstitial shown");
}
// Called when interstitial is closed
public void onInterstitialClosed()
{
Debug.Log("Interstitial closed");
}
// Called when interstitial is clicked
public void onInterstitialClicked()
{
Debug.Log("Interstitial clicked");
}
// Called when interstitial is expired and can not be shown
public void onInterstitialExpired()
{
Debug.Log("Interstitial expired");
}
#endregion
#region Rewarded Video callback handlers
//Called when rewarded video was loaded (precache flag shows if the loaded ad is precache).
public void onRewardedVideoLoaded(bool isPrecache)
{
Debug.Log("RewardedVideo loaded");
}
// Called when rewarded video failed to load
public void onRewardedVideoFailedToLoad()
{
Debug.Log("RewardedVideo failed to load");
}
// Called when rewarded video was loaded, but cannot be shown (internal network errors, placement settings, etc.)
public void onRewardedVideoShowFailed()
{
Debug.Log("RewardedVideo show failed");
}
// Called when rewarded video is shown
public void onRewardedVideoShown()
{
Debug.Log("RewardedVideo shown");
}
// Called when reward video is clicked
public void onRewardedVideoClicked()
{
Debug.Log("RewardedVideo clicked");
}
// Called when rewarded video is closed
public void onRewardedVideoClosed(bool finished)
{
Debug.Log("RewardedVideo closed");
}
// Called when rewarded video is viewed until the end
public void onRewardedVideoFinished(double amount, string name)
{
Debug.Log("RewardedVideo finished");
GameManager.AdWatched();
}
//Called when rewarded video is expired and can not be shown
public void onRewardedVideoExpired()
{
Debug.Log("RewardedVideo expired");
}
#endregion
}