此文章只讲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() {