如今不少應用或小遊戲,都會在App裏嵌入了必定的廣告,如屏幕底部廣告、插屏廣告,更有的直接播放一段視頻廣告。之因此這樣作,是實現流量變現,每一個用戶只需輕輕點擊廣告,就能賺錢啦啦
https://github.com/unity-plugins/Unity-Admob
Admob Unity Plugin
Admob Unity Plugin provides a way to integrate admob ads in Unity3D Game and u3d app. You can use it for Unity iOS and Android App with the same c# or js code.html
Admob Unity3d Plugin Readme Contents
- Admob Unity Plugin Description
- Unity Admob Plugin Features
- Downloads Admob Unity Plugin
- Installation Admob Unity
- Unity Plugin Wiki and Documentation
- Quick Start
- Unity Admob Demo Usage
- Important Tips
- Screenshots
- License
Admob Unity Plugin Description
The Google Mobile Ads SDK is the latest generation in Google mobile advertising featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables Unity mobile app developers to maximize their monetization in native mobile apps.android
This repository contains the source code for the Google Mobile Ads Unity plugin. This plugin enables Unity developers to easily serve Google Mobile Ads on Android and iOS apps without having to write Java or Objective-C code. The plugin provides a C# interface for requesting ads that is used by C# scripts in your Unity project.git
Unity Admob Plugin Features
Platforms supported in one plugin :github
- Android, via SDK v18.3.0 (part of Google Play service platform)
- iOS, via SDK v7.53
- Support all native events
- AdRequest targeting methods,such as children target,test mode
- Not need change Android package name
- Very simple API
- Support non personalize ad
Ad Types:apache
- Banner(All Banner Type and Custom banner sizes)
- Interstitial (text, picture, video)
- Rewarded Video
- Advanced Native Ad
Downloads Admob Unity Plugin
AdmobPluginRes/GoogleMobileAds.framework and admob_unity_plugin.unitypackage is reqired
Download those files from Admob Unity3d Plugin Project Home https://github.com/unity-plugins/Unity-Admob
or Download all the Unity admob plugin project https://github.com/unity-plugins/Unity-Admob/archive/master.zipc#
Installation Admob Unity
- Open your project in the Unity editor.
- Navigate to Assets -> Import Package -> Custom Package.
- Select the admob_unity_plugin.unitypackage file.
- Import all of the files except admobdemo.cs(a example script) by selecting Import. Make sure to check for any conflicts with files.
You can install by download and copy files in folder Plugins to your Unity3d project directly,xcode
Unity Plugin Wiki and Documentation
Quick Start
Edit AndroidManifest.xml and config Admob APP ID
This configuration is reqired by admob from version 17.0,APP will crash if not config .Add a meta-data tag in application and set value to your admob appidapp
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxxxx~xxxxxxxxxxxx"/>
Sample codeide
<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>
Edit Info.plist ,add appidui
<key>GADApplicationIdentifier</key> <string>ca-app-pub-xxxxxxxxxxxxxxxxxxxxxx~xxxxxxxxxxxxxx</string>
Config exported Xcode project ,Build Settings->Other Linker Flags ,add flag -ObjC
1.Init Admob Unity Plugin
Create A C# script ,drag the script to a object on scene , add the follow code in the script file
using admob; Admob.Instance().initSDK(new AdProperties());//admob id configed in meta,not support in code any more
You can set admob properties as follow ,you need set properties you want to set
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.Add Admob Banner in Unity App
Here is the minimal code needed to show admob banner.
Admob.Instance().showBannerRelative("your admob banner unit id",AdSize.BANNER, AdPosition.BOTTOM_CENTER, 0);
or you can create another banner by set banner name
Admob.Instance().showBannerAbsolute("ca-app-pub-3940256099942544/6300978111",AdSize.BANNER, 20, 220,"mybanner");
The AdPosition class specifies where to place the banner. AdSize specifies witch size banner to show
3.Remove Banner
By default, banners are visible. To hide a banner, call:
Admob.Instance().removeBanner();
4.How to integrate Interstitial into Unity 3d app?
Here is the minimal code to create an interstitial.
Admob.Instance().loadInterstitial("Your admob interstitial unit id");
Unlike banners, interstitials need to be explicitly shown. At an appropriate stopping point in your app, check that the interstitail is ready before showing it:
if (Admob.Instance().isInterstitialReady()) { Admob.Instance().showInterstitial(); }
5.Custom Admob Banner Ad Sizes
In addition to constants on AdSize, you can also create a custom size:
//Create a 250x250 banner. AdSize adSize = new AdSize(250, 250); Admob.Instance().showBannerAbsolute("Your admob banner id",adSize,0,30,"bannerName");
6.How to integrate Admob Rewarded Video to Unity3d app?
Here is the minimal code to create an admob video.
Admob.Instance().loadRewardedVideo("ca-app-pub-3940256099942544/1712485313");
Simular with interstitial,video need to be explicitly shown at an appropriate stopping point in your app, check that the video is ready before showing it:
if (Admob.Instance().isRewardedVideoReady()) { Admob.Instance().showRewardedVideo(); }
7.Show Admob Native Advanced Ad in IOS and Android App
Here is the minimal code needed to show admob banner. This is implemented with Admob Native Ads Advanced (Unified)
Admob.Instance().showNativeBannerRelative("Your native banner id",new AdSize(360,100), AdPosition.BOTTOM_CENTER);
8.Ad Events
Both Banner and Interstitial contain the same ad events that you can register for. Here we'll demonstrate setting ad events on a interstitial,and show interstitial when load success:
Admob.Instance().interstitialEventHandler += onInterstitialEvent; void onInterstitialEvent(string eventName, string msg) { Debug.Log("handler onAdmobEvent---" + eventName + " " + msg); if (eventName == AdmobEvent.onAdLoaded) { Admob.Instance().showInterstitial(); } }
You only need to register for the events you care about.
Unity Admob Demo Usage
-
import AdmobUnityPlugin.unitypackage to your Unity project
-
copy admobdemo.cs from AdmobPluginRes to your unity project/assets dic
-
attach admobdemo.cs to the main camera
-
edit admob id in admobdemo.cs
-
build and run this in your device
-
add -ObjC flag in xcode Other Linker Flags 7 add meta app key in Xcode Info.plist
GADApplicationIdentifier ca-app-pub-xxxxxxxxxxxxxxxxxx~xxxxxxxxxx
Important Tips
- If you not config AndroidManifest.xml,app will crash
- If you not add -ObjC flag App will crash
- If you not add GADApplicationIdentifier in Info.plist ,App will crash
- Attach admob to Object on scene,init admob before call admob fun
Screenshots
License
Change Log
1.Update admob sdk,support admob 18.3