GSM AdsInhouse
Mục đích để quảng cáo chéo giữa các game của công ty đang phát triển
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 AdsControllerTạ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>AdsImplement các method của
IAdsInterface
Sau đó Add Script
IronSourceAdsController
cho GameObjectIronSourceAdsController
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.
Các dự án cũ thường lấy code AdsController từ: https://gitlab.com/cscmobistudios/csc_ads_wrapper_mediation
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ànhprotected override void Start()
Thêm
base.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ùngIAdsInterface
trong GSM-SDK
Last updated