Admob Unity插件简介
Admob Unity插件提供了一种将admob广告集成到Unity3D Game和u3d应用中的方法。您可以将其用于具有相同c#或js代码的Unity iOS和Android App。
是Unity3d的Admob SDK插件,此插件使js和c#开发人员更容易在Unity3d游戏中添加Google广告,支持iOS和Android,支持admob插页式广告和横幅
Admob Unity插件说明
Google移动广告SDK是Google移动广告中最新一代的产品,具有完善的广告格式和简化的API,可访问移动广告网络和广告解决方案。该SDK使Unity移动应用程序开发人员能够最大程度地利用本机移动应用程序获利。
该存储库包含Google Mobile Ads Unity插件的源代码。该插件使Unity开发人员可以轻松地在Android和iOS应用上投放Google移动广告,而无需编写Java或Objective-C代码。该插件提供了一个C#接口,用于请求Unity项目中C#脚本使用的广告。
Unity Admob插件功能
一个插件支持的平台:
Android,通过SDK v18.3.0(Google Play服务平台的一部分)
iOS,通过SDK v7.53
支持所有本地事件
AdRequest定位方法,例如子级定位,测试模式
不需要更改Android包名称
非常简单的API
扫描二维码关注公众号,回复: 9908063 查看本文章支持非个性化广告
广告类型:
标语(所有标语类型和自定义标语尺寸)
插页式广告(文字,图片,视频)
奖励视频
进阶原生广告
下载Admob Unity插件
需要AdmobPluginRes / GoogleMobileAds.framework和admob_unity_plugin.unitypackage。请
从Admob Unity3d插件项目主页https://github.com/unity-plugins/Unity-Admob 下载这些文件,
或者下载所有Unity的admob插件项目https://github.com /unity-plugins/Unity-Admob/archive/master.zip
安装Admob Unity
在Unity编辑器中打开您的项目。
导航到Assets-> Import Package-> Custom Package。
选择admob_unity_plugin.unitypackage文件。
通过选择Import导入 admobdemo.cs(示例脚本)以外的所有文件。确保检查与文件的任何冲突。
您可以通过下载文件安装并将文件夹插件中的文件直接复制到Unity3d项目中,
Unity插件Wiki和文档
快速开始
编辑AndroidManifest.xml并配置Admob APP ID
admob从17.0版开始要求此配置,如果未配置,APP将会崩溃。在应用中添加元数据标记并将值设置为admob appid
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxxxx~xxxxxxxxxxxx"/>
样例代码
<application android:theme="@style/UnityThemeSelector" android:icon="@drawable/app_icon" android:label="@string/app_name" > <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/> </application>
编辑Info.plist,添加appid
<key>GADApplicationIdentifier</key> <string>ca-app-pub-xxxxxxxxxxxxxxxxxxxxxx~xxxxxxxxxxxxxx</string>
配置导出的Xcode项目,构建设置->其他链接器标志,添加标志-ObjC
1.Init Admob Unity插件
创建AC#脚本,将脚本拖放到场景中的对象上,在脚本文件中添加以下代码
using admob; Admob.Instance().initSDK(new AdProperties());//admob id configed in meta,not support in code any more
您可以按如下设置admob属性,您需要设置要设置的属性
AdProperties adProperties = new AdProperties(); adProperties.isTesting(true);//true for test ads adProperties.isAppMuted(true); adProperties.isUnderAgeOfConsent(false); adProperties.appVolume(100); adProperties.maxAdContentRating(AdProperties.maxAdContentRating_G); string[] keywords = { "key1", "key2", "key3" }; adProperties.keyworks(keywords);
2.在Unity App中添加Admob Banner
这是显示admob标语所需的最少代码。
Admob.Instance().showBannerRelative("your admob banner unit id",AdSize.BANNER, AdPosition.BOTTOM_CENTER, 0);
或者您可以通过设置横幅名称来创建另一个横幅
Admob.Instance().showBannerAbsolute("ca-app-pub-3940256099942544/6300978111",AdSize.BANNER, 20, 220,"mybanner");
AdPosition类指定放置横幅的位置。AdSize指定要显示的女巫尺寸横幅
3.删除横幅
默认情况下,横幅是可见的。要隐藏横幅,请致电:
Admob.Instance().removeBanner();
4.如何将非页内广告整合到Unity 3d应用中?
这是创建插页式广告的最少代码。
Admob.Instance().loadInterstitial("Your admob interstitial unit id");
与横幅广告不同,插页式广告需要明确显示。在应用程序的适当停止点,在显示插页式广告之前检查其是否准备就绪:
if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); }
5,自定义Admob标语广告尺寸
除了AdSize上的常量之外,您还可以创建自定义尺寸:
//Create a 250x250 banner. AdSize adSize = new AdSize(250, 250); Admob.Instance().showBannerAbsolute("Your admob banner id",adSize,0,30,"bannerName");
6.如何将Admob奖励视频集成到Unity3d应用中?
这是创建admob视频的最少代码。
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
与插页式视频类似的视频需要在您应用中的适当停止点明确显示,请在显示视频之前检查视频是否已准备就绪:
if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); }
7,在iOS和Android App中显示Admob原生高级广告
这是显示admob标语所需的最少代码。这是通过Admob原生广告高级版(统一)实现的
Admob.Instance().showNativeBannerRelative("Your native banner id",new AdSize(360,100), AdPosition.BOTTOM_CENTER);
8.广告活动
这两个横幅和间质性包含您可以注册相同的广告活动。在这里,我们将演示在插页式广告上设置广告事件,并在加载成功时显示插页式广告:
Admob.Instance().interstitialEventHandler += onInterstitialEvent; void onInterstitialEvent(string eventName, string msg) { Debug.Log("handler onAdmobEvent---" + eventName + " " + msg); if (eventName == AdmobEvent.onAdLoaded) { Admob.Instance().showInterstitial(); } }
您只需要注册您关心的事件。
Unity Admob演示用法
将AdmobUnityPlugin.unitypackage导入到您的Unity项目中
将Admobdemo.cs从AdmobPluginRes复制到您的统一项目/资产dic
将admobdemo.cs附加到主摄像头
在admobdemo.cs中编辑admob ID
在您的设备中构建并运行
在xcode中添加-ObjC标志其他链接器标志7在Xcode Info.plist中添加meta应用程序密钥
GADApplicationIdentifier ca-app-pub-xxxxxxxxxxxxxxxxxx〜xxxxxxxxxx
重要提示
如果您未配置AndroidManifest.xml,则应用将崩溃
如果不添加-ObjC标志,应用程序将崩溃
如果您未在Info.plist中添加GADApplicationIdentifier,则应用程序将崩溃
将admob附加到场景中的对象,在调用admob fun之前初始化admob