Interstitial Ads je reklama, ktorá sa zobrazi na celej obrazovke. Užívateľ na ňu buď klikne, alebo ju zatvorí a vráti sa k hre. Ak sa chcete dozvedieť viac o Interstitials kliknite sem.
Podmienky :
- Unity3D verzie 4.5 a viac
- Eclipse + ADT plugin
- Android SDK Tools
- Android Play Services plugin, ktorý stiahneme použitím Android SDK Manageru.
- Android SDK
1.Krok - Vytvorenie projektu
Otvoríme Eclipse a vytvoríme nový project. File -> New -> Project...

...vyberieme Android application project.

Okienko vyplníme podľa nasledujúceho obr:

Necháme zaškrtnuté iba Create Project in Workspace

2.Krok - Pridanie google-play-services.jar a UnityPlayer.jar
V menu vyberieme položku Project -> Properties a preklikneme sa do záložky Java Build Path

Kliknutim na tlačidlo Add External JARs pridáme
- C:\Program Files\Unity\Editor\Data\PlaybackEngines\androidplayer\development\bin\classes.jar
- C:\adt-bundle-windows-x86\sdk\extras\google\google_play_services\libproject\google-play-services_lib\libs\google-play-services.jar
Následne klikneme na OK. Do projektu pridáme súbor class do ktorého napíšeme nasledujúci kód (inšpirujeme sa podľa vzorového príkladu od googlu):
Kód v jave :
package com.projectikeu.admobplugin;
import com.google.android.gms.ads.*;
import com.google.android.gms.ads.doubleclick.PublisherAdRequest;
import com.google.android.gms.ads.doubleclick.PublisherInterstitialAd;
import com.unity3d.player.UnityPlayer;
import android.app.Activity;
public class Interstitial {
private Activity activity;
private PublisherInterstitialAd interstitial;
private boolean isLoaded = false;
public void DisplayInterstitial() {
activity.runOnUiThread(new Runnable() {
public void run(){
if (interstitial.isLoaded()) {
interstitial.show();
}
}
});
}
public boolean IsInterstitialLoaded() {
return isLoaded;
}
private void loadNewInterstitial(String TestDeviceID)
{
PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(TestDeviceID)
.build();
interstitial.loadAd(adRequest);
}
public Interstitial (final String PublisherID,final String TestDeviceID) {
activity = UnityPlayer.currentActivity;
activity.runOnUiThread(new Runnable() {
public void run(){
interstitial = new PublisherInterstitialAd(activity);
interstitial.setAdUnitId(PublisherID);
interstitial.setAdListener(new AdListener() {
public void onAdClosed() {
PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(TestDeviceID)
.build();
interstitial.loadAd(adRequest);
isLoaded = false;
}
public void onAdLoaded() {
isLoaded = true;
}
});
loadNewInterstitial(TestDeviceID);
}
});
}
}
3.Krok - Export wrapovacej dll
V menu vyberieme možnosť File -> Export a vyberieme Java -> JAR file .

4.Krok - Použitie v Unity3d
Kód v c# :
using UnityEngine;
using System;
public class ProjectikeuAdmob : MonoBehaviour {
private string msg="nic";
public string PublisherID = "YOUR_AD_UNIT_ID";
public string TestDeviceID = "";
private static AndroidJavaObject jo;
// Dont destroy on load and prevent duplicate
private static bool created = false;
void Awake()
{
try
{
if (!created)
{
DontDestroyOnLoad(this.gameObject);
created = true;
initializeInterstitial();
}
else
{
Destroy(this.gameObject);
}
}
catch (Exception ex)
{
msg = ex.Message;
}
}
void OnGUI()
{
GUI.Label(new Rect(10, 10, 100, 100), msg);
}
void initializeInterstitial()
{
#if UNITY_ANDROID
jo = new AndroidJavaObject("com.projectikeu.admobplugin.Interstitial", PublisherID, TestDeviceID);
#endif
}
/// <summary>
/// Load and show the interstitial.
/// </summary>
public static void ShowInterstitial()
{
#if UNITY_ANDROID
jo.Call("DisplayInterstitial");
#endif
}
}
Súbor AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<application
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:debuggable="true">
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
<activity android:name="com.unity3d.player.VideoPlayer"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
Umiestenie v unity 3d:
- Assets\plugins\android\com.projectikeu.admob.jar
- Assets\plugins\android\google-play-services.jar
- Assets\plugins\android\AndroidManifest.xml
Version:
ver 2.0 google_play_services_version 7095000







