首页 > 应用开发 > IT综合 > Admob Unity插件介绍及接入教程
Admob Unity插件提供了一种将admob广告集成到Unity3D Game和u3d应用中的方法。您可以将其用于具有相同c#或js代码的Unity iOS和Android App。
是Unity3d的Admob SDK插件,此插件使js和c#开发人员更容易在Unity3d游戏中添加Google广告,支持iOS和Android,支持admob插页式广告和横幅
Google移动广告SDK是Google移动广告中最新一代的产品,具有完善的广告格式和简化的API,可访问移动广告网络和广告解决方案。该SDK使Unity移动应用程序开发人员能够最大程度地利用本机移动应用程序获利。
该存储库包含Google Mobile Ads Unity插件的源代码。该插件使Unity开发人员可以轻松地在Android和iOS应用上投放Google移动广告,而无需编写Java或Objective-C代码。该插件提供了一个C#接口,用于请求Unity项目中C#脚本使用的广告。
一个插件支持的平台:
广告类型:
需要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
您可以通过下载文件安装并将文件夹 插件中的文件直接复制到Unity3d项目中,
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

创建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);
这是显示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指定要显示的女巫尺寸横幅
默认情况下,横幅是可见的。要隐藏横幅,请致电:
Admob.Instance().removeBanner();
这是创建插页式广告的最少代码。
Admob.Instance().loadInterstitial("Your admob interstitial unit id");
与横幅广告不同,插页式广告需要明确显示。在应用程序的适当停止点,在显示插页式广告之前检查其是否准备就绪:
if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); }
除了 AdSize上的常量 之外,您还可以创建自定义尺寸:
//Create a 250x250 banner. AdSize adSize = new AdSize(250, 250); Admob.Instance().showBannerAbsolute("Your admob banner id",adSize,0,30,"bannerName");
这是创建admob视频的最少代码。
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
与插页式视频类似的视频需要在您应用中的适当停止点明确显示,请在显示视频之前检查视频是否已准备就绪:
if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); }
这是显示admob标语所需的最少代码。这是通过Admob原生广告高级版(统一)实现的
Admob.Instance().showNativeBannerRelative("Your native banner id",new AdSize(360,100), AdPosition.BOTTOM_CENTER);
这两个 横幅和 间质性包含您可以注册相同的广告活动。在这里,我们将演示在插页式广告上设置广告事件,并在加载成功时显示插页式广告:
Admob.Instance().interstitialEventHandler += onInterstitialEvent; void onInterstitialEvent(string eventName, string msg) { Debug.Log("handler onAdmobEvent---" + eventName + " " + msg); if (eventName == AdmobEvent.onAdLoaded) { Admob.Instance().showInterstitial(); } }
您只需要注册您关心的事件。
将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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69966880/viewspace-2681229/ ,如需转载,请注明出处,否则将追究法律责任。