Collapsible Banner

Là 1 plugin dùng để quy chuẩn cách thức Load, Show, Hide collapsible banner

1. Điều kiện bắt buộc

  • Trong Project phải có GoogleMobileAds: Xem hướng dẫn tại đây

  • Cần có MobileAds.RaiseAdEventsOnUnityMainThread = true; trước khi gọi MobileAds.Initialize(initStatus). Gọi lúc khi bắt đầu ứng dụng

  • Cần thực hiện MobileAds.Initialize(initStatus) để khởi tạo MobileAds. Gọi khi bắt đầu ứng dụng

  • Lưu ý: Biểu ngữ khi sổ ra có thể che content không bị tính là vi phạm, khi thu gọn lại không che content là được. Có thể khi gắn ID thật chưa có collapsible trả về đều, do google phân bổ, nếu không có collapsible họ sẽ trả về banner dạng thường, sau 1,2 ngày release thì collapsible sẽ về ổn định, đều hơn. Xem thêm

2. Download Plugin

3. Quick Start

3.1 Sử dụng Prefab AdmobCollapsibleBanner

  • Vào Assets => CSCMobiPlugin => AdmobMediation => CollapsibleBanner => Prefabs => AdmobCollapsibleBanner

  • Kéo AdmobCollapsibleBanner vào Scene đầu game. Thường là các Scene Splash

  • Thiết lập các thông tin ở Inspector:

    • Auto Load: là cờ bật tắt chế độ tự load banner khi Script bắt đầu start.

      • Nếu không bật chế độ này thì game phải chủ động gọi: AdmobCollapsibleBanner.Instance.LoadAd()

    • Position: Là vị trí hiển thị banner

      • Top: Là trên cùng màn hình

        • Bottom: Là vị trí dưới cùng màn hình

    • Ad Unit Id: là Id của Collapsible Banner có dạng: ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy

  • Mặc định ban đầu Banner sẽ bị ẩn khi start. Do đó muốn show lên thì cần gọi: AdmobCollapsibleBanner.Instance.ShowAd()

3.2 Các method

  • LoadAd(): Dùng để request mới 1 quảng cáo Collapsible Banner

  • HideAd(): Dùng để ẩn Banner

  • ShowAd(): Dùng để hiển thị Banner

  • Remove(): Dùng để Remove quảng cáo Collapsible Banner, thường dùng trong trường hợp user mua IAP để remove quảng cáo. Nếu user thuộc diện được remove quảng cáo thì cần call Remove ngay sau khi load dữ liệu của game. Sau khi call Remove thì sẽ không thể LoadAd, HideAd, ShowAd.

  • Restore(): Dùng để cho restore quảng cáo sau khi bị Remove.

Code mẫu:

AdmobCollapsibleBanner.Instance.LoadAd();

AdmobCollapsibleBanner.Instance.HideAd();

AdmobCollapsibleBanner.Instance.ShowAd();

AdmobCollapsibleBanner.Instance.Remove();

AdmobCollapsibleBanner.Instance.Restore();

3.3 Các sự kiện lắng nghe

AdmobCollapsibleBanner.Instance.onBannerAdLoaded = () =>
{
    //Quảng cáo đã được tải về thành công
    SetMessage("onBannerAdLoaded");
};

AdmobCollapsibleBanner.Instance.onBannerAdLoadFailed = (error) =>
{
    //Lỗi không tải được quảng cáo
    SetMessage($"onBannerAdLoadFailed: {error.GetMessage()}");
};

AdmobCollapsibleBanner.Instance.onAdPaid = (adValue) =>
{
    //Quảng cáo được tính tiền
    //Dùng để LogImpression lên GSM, Firebase, Adjust
    SetMessage("onAdPaid");
};

AdmobCollapsibleBanner.Instance.onAdImpressionRecorded = () =>
{
    //Quảng cáo được tính 1 lượt Impression
    SetMessage("onAdImpressionRecorded");
};

AdmobCollapsibleBanner.Instance.onAdFullScreenContentOpened = () =>
{
    //Quảng cáo Collapsible Banner bắt đầu được bật lên
    SetMessage("onAdFullScreenContentOpened");
};

AdmobCollapsibleBanner.Instance.onAdFullScreenContentClosed = () =>
{
    //Khi nhấn nút đóng quảng cáo Collapsible Banner
    SetMessage("onAdFullScreenContentClosed");
};

AdmobCollapsibleBanner.Instance.onAdRemoved = () =>
{
    //Khi method Remove() được gọi
    SetMessage("onAdRemoved");
};

4. Customize

  • Bạn có thể tùy biến kế thừa abstract class BaseCollapsibleBanner để thực hiện logic riêng

Code mẫu:

public class CollapsibleBannerDemo : BaseCollapsibleBanner
{
    [SerializeField] private string adUnitId;
    static CollapsibleBannerDemo _instance;
    public static CollapsibleBannerDemo Instance => _instance;
    protected virtual void Awake()
    {
        if (_instance != null)
        {
            //there is already an instance:
            Destroy(gameObject);
            return;
        }
        DontDestroyOnLoad(gameObject);

        _instance = this;
    }
    public override string GetAdUnitId()
    {
        //Trả về AdUnitId của collapsiblebanner
        return adUnitId;
    }

    protected override void OnAdPaid(AdValue adValue)
    {
        // thực hiện LogImpression lên GSM, Firebase, Adjust ...
    }
}

4.2 Các method

4.3 Các sự kiện lắng nghe

5. Sample

  • Bạn có thể xem ví dụ trong: Assets => CSCMobiPlugin => AdmobMediation => CollapsibleBanner => Samples

Last updated