I. Cách tích hợp mới
Ví dụ demo ở Scene: Plugins> GSM-SDK > Sample > SampleAdsScene
1.1 Tạo Game Object AdsController
1.1.1 Kéo Prefab GSMAdInhouse vào trong Game Object AdsController
1.1.2 Tạo class AdsController
Code mẫu:
using System;
public class AdsController : GSMAdManager
{
private static AdsController instance;
public static AdsController Instance { get { return instance; } }
protected override void Start()
{
base.Start();
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
}
else
Destroy(gameObject);
}
public override bool CanShowAds(string adsName)
{
// Tùy biến cho phép show Ads theo setting
return base.CanShowAds(adsName);
}
public override bool IsInterstitialReady()
{
return base.IsInterstitialReady();
}
public override bool IsRewardVideoAdsReady()
{
return base.IsRewardVideoAdsReady();
}
public override void ShowInterstitial(Action OnShowCompleted = null, Action onAdClosed = null)
{
base.ShowInterstitial(OnShowCompleted, onAdClosed);
}
public override void ShowVideoAds(Action onUserEarnedReward = null, Action onAdClosed = null)
{
base.ShowVideoAds(onUserEarnedReward, onAdClosed);
}
}
1.1.3 Add Script AdsController vào GameObject AdsController
Thuộc tính: AdInhouseController thì sử dụng GSMAdInhouse ở mục 1.1.1
1.1.4 Thêm các network quảng cáo khác nếu có
Ví dụ: Sử dụng Ironsource
Tạo GameObject IronSourceAdsController
là con của AdsController
Tạo class IronSourceAdsController
Cần implement Interface IAdsInterface
Nếu đã có IAdsInterface
khác trong project thì xóa bỏ, chỉ sử dụng trong GSM-SDK>Ads
Implement các method của IAdsInterface
Sau đó Add Script IronSourceAdsController
cho GameObject IronSourceAdsController
Code mẫu:
using GSM.Ads;
using System;
using UnityEngine;
public class SampleIronSourceAdsController : MonoBehaviour, IAdsInterface
{
public bool IsInterstitialAdsReady()
{
//Implement IsInterstitialAdsReady Code
return false;
}
public bool IsVideoRewardAdsReady()
{
//Implement IsVideoRewardAdsReady Code
return false;
}
public void LoadInterstitial()
{
//Implement LoadInterstitial Code
}
public void LoadRewardedVideo()
{
//Implement LoadRewardedVideo Code
}
public void ShowInterstitial(Action onAdClosed)
{
//Implement ShowInterstitial Code
}
public void ShowVideoAds(Action onUserEarnedReward, Action onAdClosed)
{
//Implement ShowVideoAds Code
}
}
II. Cách sửa AdsController đã có
Đây là trường hợp mà các game đã có AdsController từ code cũ ngày xưa.
Với trường hợp này thì cách chuyển đổi sẽ như sau:
1. Sửa class AdsController kế thừa từ class GSMAdManager
Code mẫu:
2. Sửa method Start
Xóa bỏ private List adsController;
Sửa private void Start()
thành protected override void Start()
Code Mẫu: Bên trái là code cũ, bên phải là code mới
3. Overide method CanShowAds
Code mẫu: Bên trái là code cũ, bên phải là code mới
4. Overide method IsRewardVideoAdsReady
Code mẫu: Bên trái là code cũ, bên phải là code mới
5. Sửa method ShowVideoReward
Code mẫu: Bên trái là code cũ, bên phải là code mới
6. Overide method IsInterstitialReady
Code mẫu: Bên trái là code cũ, bên phải là code mới
7. Sửa method ShowInterstitial
Code mẫu: Bên trái là code cũ, bên phải là code mới
III. Notes
Chú ý:
Nếu trong code đã có sẵn interface IAdsInterface
thì xóa bỏ, chỉ dùng IAdsInterface
trong GSM-SDK