Skip to content

Commit

Permalink
New AdmobManager
Browse files Browse the repository at this point in the history
*New class abstract AdmobManager
*ExternalDependecyManager added
*Admob Unity Plugin
  • Loading branch information
AomineD committed Oct 1, 2022
1 parent 86c9a51 commit 25b368d
Show file tree
Hide file tree
Showing 166 changed files with 12,885 additions and 109 deletions.
8 changes: 8 additions & 0 deletions Assets/CUSDK/AdmobManager.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

68 changes: 68 additions & 0 deletions Assets/CUSDK/AdmobManager/AdListener.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
using GoogleMobileAds.Api;
using System;

public enum AdState
{
Error,
Loaded,
Closed,
Rewarded
}
public class AdListener
{
private string errorMsg = "";
private AdState adState = AdState.Error;
private Reward rewardArgs;

private AdListener(AdState state) {
adState = state;
}

// SIMPLE CONSTRUCTORS
public static AdListener error(string msg)
{
AdListener ls = new AdListener(AdState.Error);
ls.errorMsg = msg;
return ls;
}

public static AdListener loaded()
{
AdListener ls = new AdListener(AdState.Loaded);
return ls;
}

public static AdListener rewarded(Reward args)
{
AdListener ls = new AdListener(AdState.Rewarded);
ls.rewardArgs = args;
return ls;
}

public static AdListener closed()
{
AdListener ls = new AdListener(AdState.Closed);
return ls;
}

// GETTERS
public string getError()
{
return errorMsg;
}

public AdState getState()
{
return adState;
}

public Reward getArgs()
{
return rewardArgs;
}

public override string ToString()
{
return adState.ToString()+" - message - "+errorMsg.ToString();
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

90 changes: 90 additions & 0 deletions Assets/CUSDK/AdmobManager/AdSettings.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
using System;
using UnityEngine;

public class AdSettings
{
public enum AdType
{
BANNER,
INTERSTITIAL,
REWARD
}
private string androidBanner;
private string androidIntersticial;
private string androidReward;


private string iOSBanner;
private string iOSIntersticial;
private string iOSReward;



public static AdSettings simple(SimpleAdConfig adConfig)
{
AdSettings adSettings = new AdSettings();
adSettings.configureiOS(adConfig.iOSBanner, adConfig.iOSIntersticial, adConfig.iOSReward);
adSettings.configureAndroid(adConfig.androidBanner, adConfig.androidIntersticial, adConfig.androidReward);
return adSettings;
}


public void configureTest()
{
androidBanner = "ca-app-pub-3940256099942544/6300978111";
androidIntersticial = "ca-app-pub-3940256099942544/1033173712";
androidReward = "ca-app-pub-3940256099942544/5224354917";

iOSBanner = "ca-app-pub-3940256099942544/2934735716";
iOSIntersticial = "ca-app-pub-3940256099942544/4411468910";
iOSReward = "ca-app-pub-3940256099942544/1712485313";
}

public void configureAndroid(string bannerAd = "", string interstitialAd = "", string rewardAd = "")
{
androidBanner = bannerAd;
androidIntersticial = interstitialAd;
androidReward = rewardAd;
}

public void configureiOS(string bannerAd = "", string interstitialAd = "", string rewardAd = "")
{
iOSBanner = bannerAd;
iOSIntersticial = interstitialAd;
iOSReward = rewardAd;
}


public string getAndroidAd(AdType adType)
{
switch (adType)
{
case AdType.BANNER:
return androidBanner;
case AdType.INTERSTITIAL:
return androidIntersticial;
case AdType.REWARD:
return androidReward;
}

return "";
}

public string getiOSAd(AdType adType)
{
switch (adType)
{
case AdType.BANNER:
return iOSBanner;
case AdType.INTERSTITIAL:
return iOSIntersticial;
case AdType.REWARD:
return iOSReward;
}

return "";
}



}
11 changes: 11 additions & 0 deletions Assets/CUSDK/AdmobManager/AdSettings.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions Assets/CUSDK/AdmobManager/ExampleAdmobManager.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ExampleAdmobManager : GoogleAdmobManager
{
// You can use SimpleAdConfig to set all ID from inspector

public SimpleAdConfig adConfig = new SimpleAdConfig();
protected override void OnInitialize()
{
// Admob was successfully initialized
Invoke("loadAd", 2);
}

private void Start()
{
// SETT FROM Simple config
AdSettings adSettings = AdSettings.simple(adConfig);
// Configure test ads will replace your original ad units
adSettings.configureTest();
//You must initialize in Start() or Awake()
initialize(
protectGameObject: true, // dont destroy on load
adSettings: adSettings // set GENERAL settings if you want
);
}

// load intersticial test
void loadAd()
{
RequestAndShowInters((adListener) => StateListener(adListener));
}

private void StateListener(AdListener adListener)
{
Debug.Log(adListener.ToString());
}
}
11 changes: 11 additions & 0 deletions Assets/CUSDK/AdmobManager/ExampleAdmobManager.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 25b368d

Please sign in to comment.