Unity3D游戏接入小米广告SDK

本文主要介绍如何在Unity3D游戏中接入小米广告SDK,包括Banner横幅广告、插屏广告和激励视频广告的调用过程。在Android应用中初始化SDK,并通过Handler确保广告运行在游戏线程,不打断游戏体验。同时,提供了Unity端调用广告SDK接口的说明和Android端的接口设计,以及具体实现Banner和插屏广告的方法。

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

此文章只讲Unity与Android核心交互代码
详细接入可参考小米广告 SDK Android 集成指南

小米广告常用有四种,1.开屏广告、2.Banner横幅广告、3.插屏广告、4.激励视频广告。
其中开屏广告无需代码调用,广告后台配置是否展示即可,所以本文讲述后面三种广告类型的调用过程。

Unity端调用广告SDK接口

using UnityEngine;
public class AndroidPlatformUtil : MonoBehaviour
{
   
    static AndroidPlatformUtil _instance;
    public static AndroidPlatformUtil instance
    {
   
        get
        {
   
            if (_instance == null)
            {
   
                GameObject obj = new GameObject();
                Debug.Log("产生一个AndroidPlatformUtil");
                obj.name = "AndroidPlatformUtil";
                _instance = obj.AddComponent<AndroidPlatformUtil>();
                DontDestroyOnLoad(_instance.gameObject);
            }
            return _instance;
        }
    }
    
    public void Init(string config)
    {
   
        Debug.LogError("手机初始化...");
    }

    /// <summary>
    /// Android主Player
    /// </summary>
    public const string S_MainPlayer = "com.unity3d.player.UnityPlayer";
    /// <summary>
    /// Android主Activity
    /// </summary>
    public const string S_MainAct = "currentActivity";
    
    private AndroidJavaObject javaObject = null;

    public void CallAD(string methodName)
    {
   
        using (AndroidJavaClass jc = new AndroidJavaClass(S_MainPlayer))
        {
   
            using (AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>(S_MainAct))
            {
   
                javaObject = new AndroidJavaObject("com.game.mi.MainActivity");
                javaObject.Call(methodName, jo);
            }
        }
    }
    
	public void CallInitAd()
    {
   
        CallAD("Init");
    }
    
    public void CallBannerAd()
    {
   
        CallAD("CallBannerAd");
    }

    public void CallInterstialAd()
    {
   
        CallAD("CallInterstialAd");
    }

    public void CallVedioRewardAd()
    {
   
        CallAD("CallVedioRewardAd");
    }
    
	public void CallBackVedioRewardAd(string callBackArg)
    {
   
    	//激励视频广告回调,做奖励处理
    }

Android端调起广告方法
步骤一
1.Application中初始化广告SDK。
2.定义一个Handler,作用:使banner广告和插屏广告运行在游戏线程中,从而不会打断游戏正常运行。

package com.game.mi;

import com.miui.zeus.mimo.sdk.MimoSdk;
import com.miui.zeus.mimo.sdk.api.IMimoSdkListener;
import android.Manifest;
import android.app.Application;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Handler;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.widget.Toast;
import com.game.mi.R;

/**
 * 您可以参考本类中的代码来接入小米游戏广告SDK。在接入过程中,有如下事项需要注意:
 * 1.请将 APP_ID 值替换成您在小米开发者网站上申请的 AppID。
 */
public class AdApplication extends Application {
   
    // 请注意,千万要把以下的 APP_ID 替换成您在小米开发者网站上申请的 AppID。否则,可能会影响你的应用广告收益。
    private static final String APP_ID = "广告后台申请的APPID";
    // 以下两个没有的话就按照以下传入
    private static final String APP_KEY = "fake_app_key";
    private static final String APP_TOKEN = "fake_app_token";
    //
    public static Handler handler;

    @Override
    public void onCreate() {
   
        
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值