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

本文详细介绍了如何在Unity项目中集成谷歌AdMob广告,包括SDK导入、代码实现及事件处理逻辑。通过示例代码展示了如何初始化AdMob、设置广告ID及处理不同类型的广告事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仍然直奔主题,接入谷歌AdMob广告。申请广告ID这里不做赘述,需求的话我会在新的一篇详细介绍。
需求2个要素。
一,接入SDK
SDK有两种。
今天做第一种Unity-Admob
下载完插件,把插件里包含的admob_unity_plugin.unitypackage的文件导入你的项目。
第一步完成
导入项目后你的project里面会出现以下文件。
这里写图片描述
二,代码。
我们的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接入谷歌广告的方法。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值