Vungle激励广告接入——最白话,手把手教你做系列。

首先Vungle是个广告插件。好像暂时只支持视频激励广告。
然后,申请ID不在赘述,要注意的是Vungle需要申请两个ID。对应环境初始化的ID和”VunglePlacementID”。
开始接入Vungle的视频广告,仍然是两个步骤。
第一步:导入插件。下载地址
将你下载的VunglePlugin-x.x.x.unitypackage文件完全导入到你的项目中去。
出现以下文件。
这里写图片描述

第一步完成。

第二步,代码部分

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class VungleAd : MonoBehaviour {

    // Use this for initialization
    void Start()
    {
        Debug.Log("vungle init");
        //可添加多个"VunglePlacementID"
        Dictionary<string, bool> placements = new Dictionary<string, bool>
        {
             { "VunglePlacementID", false }
        };
        string[] array = new string[placements.Keys.Count];
        placements.Keys.CopyTo(array, 0);
        //广告实例化,一次即可。
        Vungle.init("VungleAndroidAppId", array);
        initializeEventHandlers();
    }

    // Update is called once per frame
    void Update () {

    }
    //广告对应事件。
    /* Setup EventHandlers for all available Vungle events */
    void initializeEventHandlers()
    {
        Vungle.adPlayableEvent += (placementID, adPlayable) => {
            if (placementID == "VunglePlacementID")
            {
               //判断广告是否加载完成
            }
        };
        //Event triggered during when an ad is about to be played
        Vungle.onAdStartedEvent += (placementID) => {
            Debug.Log("Ad " + placementID + " is starting!  Pause your game  animation or sound here.");
        };

        //Event is triggered when a Vungle ad finished and provides the entire information about this event
        //These can be used to determine how much of the video the user viewed, if they skipped the ad early, etc.
        Vungle.onAdFinishedEvent += (placementID, args) => {
            Debug.Log("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked + ", is completed view:"
                + args.IsCompletedView);
            if (args.IsCompletedView)
            {
                //完成观看,奖励逻辑
            }
        };

        //Event is triggered when the ad's playable state has been changed
        //It can be used to enable certain functionality only accessible when ad plays are available
        Vungle.adPlayableEvent += (placementID, adPlayable) => {
            Debug.Log("Ad's playable state has been changed! placementID " + placementID + ". Now: " + adPlayable);
            //placements[placementID] = adPlayable;
        };

        //Fired log event from sdk
        Vungle.onLogEvent += (log) => {
            Debug.Log("Log: " + log);
        };

        //Fired initialize event from sdk
        Vungle.onInitializeEvent += () => {
            //adInited = true;
            Debug.Log("SDK initialized");
            LoadRewardAd("VunglePlacementID");
        };


    }
    //加载方法adUnitId是填写对应的"VunglePlacementID"
    public void LoadRewardAd(string adUnitId)
    {
        Vungle.loadAd(adUnitId);
    }
    //显示激励广告
    public void ShowRewardAd(string adUnitId)
    {
        //Vungle.isAdvertAvailable(adUnitId)判断对应ID广告是否可显示。
        if (Vungle.isAdvertAvailable(adUnitId))
        {
            Vungle.playAd(adUnitId);
        }

    }
}

新手的话将以上代码对应环境初始化的ID(”VungleAndroidAppId”)和”VunglePlacementID”替换成你自己的ID即可。
代码部分完成。
通过LoadRewardAd(string adUnitId)方法请求广告
通过ShowRewardAd(string adUnitId)方法显示广告即可。
老鸟的话可参考Vungle官方文档入门指南来优化自己的代码。
以上。

发布了27 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_39860954/article/details/78911043