谷歌AdMob广告接入——最白话,手把手教你做系列。

仍然直奔主题,接入谷歌AdMob广告。申请广告ID这里不做赘述,需求的话我会在新的一篇详细介绍。
需求2个要素。
一,接入SDK
SDK有两种。
今天做第一种Unity-Admob。
下载完插件,把插件里包含的admob_unity_plugin.unitypackage的文件导入你的项目。
第一步完成
导入项目后你的project里面会出现以下文件。
谷歌AdMob广告接入——最白话,手把手教你做系列。_第1张图片
二,代码。
我们的project里包含了一个adomobdemo的文件。我们可以直接修改然后挂到自己的场景中去就可以了。
那么怎么修改呢

using UnityEngine;
using System.Collections;
using admob;
    //这里把类名也做了修改
public class addadmobdemo : MonoBehaviour {
    //谷歌广告 插屏,视频广告修改版
    void Start()
    {
        Debug.Log("start unity demo-------------");
        //初始化Admob
        initAdmob();
    }
    void Update()
    {
        if (Input.GetKeyUp(KeyCode.Escape))
        {
            Debug.Log(KeyCode.Escape + "-----------------");
        }
    }
    //具体初始化逻辑 ca-app-pub-xxxx为各种类型广告ID(字符串格式)
    void initAdmob()
    {   //添加Banner事件,以下事件根据自己需求添加即可
        ad.bannerEventHandler += onBannerEvent;
        //添加插屏广告事件
        ad.interstitialEventHandler += onInterstitialEvent;
        //添加视频广告事件
        ad.rewardedVideoEventHandler += onRewardedVideoEvent;
        //添加Banner广告ID(左),插屏广告(右)  
        Admob.Instance().initAdmob("ca-app-pub-3940256099942544/2934735716", "ca-app-pub-7816725853485153/4608868394");                                                                                            //ad.setTesting(true);//show test ad
        Admob.Instance().setGender(AdmobGender.MALE);
        string[] keywords = { "game", "crash", "male game" };
        //  ad.setKeywords(keywords);//set keywords for ad
        Debug.Log("admob inited -------------");
    }
    //Banner广告事件处理逻辑
    void onBannerEvent(string eventName, string msg)
    {
        Debug.Log("handler onAdmobBannerEvent---" + eventName + "   " + msg);
    }
    //插屏广告事件处理逻辑
    void onInterstitialEvent(string eventName, string msg)
    {
        Debug.Log("handler onAdmobEvent---" + eventName + "   " + msg);

    }

    //视频广告事件处理逻辑,以视频逻辑为例,简单的事件处理
    void onRewardedVideoEvent(string eventName, string msg)
    {
        //加载失败重新加载
        if (eventName == AdmobEvent.onAdFailedToLoad)
        {
            Admob.Instance().loadRewardedVideo("ca-app-pub-7816725853485153/8074482445");
        }
        //视频关闭重新加载
        if (eventName == AdmobEvent.onAdClosed)
        {
            Admob.Instance().loadRewardedVideo("ca-app-pub-7816725853485153/8074482445");
        }
        //视频奖励逻辑
        if (eventName == AdmobEvent.onRewarded)
        {
           //激励视频奖励逻辑可在此处添加
        }

        Debug.Log("handler onRewardedVideoEvent---" + eventName + "  rewarded: " + msg);
    }
    public void ShowInter()//插屏广告调用方法(如果已请求到广告,调用即显示广告,否则回重新请求,在下一次调用是继续此逻辑)
    {

        if (Admob.Instance().isInterstitialReady())
        {
            Admob.Instance().showInterstitial();
        }
        else
        {
            Admob.Instance().loadInterstitial();
        }
    }
    public void ShowAedioAds()//视频广告调用方法
    {

        if (Admob.Instance().isRewardedVideoReady())
        {
            Admob.Instance().showRewardedVideo();
        }

    }
    public void ShowBannerAds()//Banner广告调用方法
    {

        Admob.Instance().showBannerRelative(AdSize.SmartBanner, AdPosition.BOTTOM_CENTER, 0);

    }
}

以上代码是我做出的修改,新手的话可直接覆用,只需要将对应的广告ID修改成自己的即可。一般挂在项目中不销毁的对象上即可。
下篇会简单介绍另外一种官方的SDK接入谷歌广告的方法。

你可能感兴趣的:(unity3d)