FullscreenInterstitial BuildPackage_Android - mkaji-geniee/Geniee-SDK-Unity-Plugin GitHub Wiki
下記ビルド手順に従って作成してください。
- gradleでのライブラリ追加
- Mavenでライブラリを導入する
- 手動でのライブラリ追加
- AndroidManifest.xmlの編集
- GNSAdSDKにUnityのActivityのライフサイクルを繋ぎ込み
- 各種アドネットワークを追加
- ビルド手順
- 独自のActivityを使用している場合
-
メニューバーの
File > Build Settings...を開き、以下を設定してください。- Platform:
Android - Build System:
Gradle
- Platform:
-
使用するファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- AndroidManifest.xml
- GNSExtendsUnityPlayerActivity.jar
- mainTemplate.gradle
-
使用するAndroid Supportファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- android.arch.core.common-1.1.0.jar
- android.arch.core.runtime-1.1.0.aar
- android.arch.lifecycle.common-1.1.0.jar
- android.arch.lifecycle.livedata-core-1.1.0.aar
- android.arch.lifecycle.runtime-1.1.0.aar
- android.arch.lifecycle.viewmodel-1.1.0.aar
- com.android.support.animated-vector-drawable-27.1.1.aar
- com.android.support.appcompat-v7-27.1.1.aar
- com.android.support.cardview-v7-27.1.1.aar
- com.android.support.constraint.constraint-layout-1.1.2.aar
- com.android.support.constraint.constraint-layout-solver-1.1.2.jar
- com.android.support.customtabs-27.1.1.aar
- com.android.support.percent-27.1.1.aar
- com.android.support.recyclerview-v7-27.1.1.aar
- com.android.support.support-annotations-27.1.1.jar
- com.android.support.support-compat-27.1.1.aar
- com.android.support.support-core-ui-27.1.1.aar
- com.android.support.support-core-utils-27.1.1.aar
- com.android.support.support-fragment-27.1.1.aar
- com.android.support.support-media-compat-27.1.1.aar
- com.android.support.support-v4-27.1.1.aar
- com.android.support.support-vector-drawable-27.1.1.aar
- com.google.android.gms.play-services-ads-15.0.1.aar
- com.google.android.gms.play-services-ads-base-15.0.1.aar
- com.google.android.gms.play-services-ads-identifier-15.0.1.aar
- com.google.android.gms.play-services-ads-lite-15.0.1.aar
- com.google.android.gms.play-services-base-15.0.1.aar
- com.google.android.gms.play-services-basement-15.0.1.aar
- com.google.android.gms.play-services-gass-15.0.1.aar
- com.google.android.gms.play-services-gcm-15.0.1.aar
- com.google.android.gms.play-services-iid-15.0.1.aar
- com.google.android.gms.play-services-location-15.0.1.aar
- com.google.android.gms.play-services-places-placereport-15.0.1.aar
- com.google.android.gms.play-services-stats-15.0.1.aar
- com.google.android.gms.play-services-tasks-15.0.1.aar
-
PlayServicesResolver > Editor > GNDependenciesを開き、GNAdSDKを取得するために、以下を記述します。<!-- GNAdSDK --> <androidPackage spec="jp.co.geniee.gnadsdk:GNAdSDK:5.1.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnadsdk.GNAdSDK-5.1.0.aar
-
PlayServicesResolver > Editor > GNDependenciesを開き、以下を追記することでGNSFullscreenInterstitialAdapterを導入します。アドネットワークによって、記載を変更します。全アドネットワークを一括で導入する場合
<!-- GNSFullscreenInterstitialAdapter All ADNW--> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> <repository>https://jitpack.io/</repository> <repository>http://fan-adn.github.io/nendSDK-Android-lib/library/</repository> <repository>https://imobile-maio.github.io/maven/</repository> <repository>https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master/</repository> <repository>https://jitpack.io/</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-AppLovin-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Maio-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Nend-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Zucks-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Tapjoy-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-UnityAds-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Vungle-2.0.0.aar
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Imobile-2.0.0.aar
使用するアドネットワークSDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- net.zucks.zucks-ad-network-sdk-4.6.1.jar
- com.applovin.applovin-sdk-8.1.0.jar
- com.maio.android-sdk-1.1.6.aar
- net.nend.android.nend-sdk-5.0.2.aar
- com.tapjoy.tapjoy-android-sdk-12.0.0.aar
- com.unity3d.ads.unity-ads-2.3.0.aar
- com.github.vungle.vungle-android-sdk-6.3.17.aar
Maioを導入する場合
<!-- GNSFullscreenInterstitialAdapter Maio --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Maio:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> <repository>https://imobile-maio.github.io/maven/</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Maio-1.0.0.aar
-
com.maio.android-sdk-1.1.6.aar
AppLovinを導入する場合
<!-- GNSFullscreenInterstitialAdapter AppLovin --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-AppLovin:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-AppLovin-1.0.0.aar
-
com.applovin.applovin-sdk-8.1.0.jar
Nendを導入する場合
<!-- GNSFullscreenInterstitialAdapter Nend --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Nend:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> <repository>http://fan-adn.github.io/nendSDK-Android-lib/library/</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Nend-1.0.0.aar
-
net.nend.android.nend-sdk-5.0.2.aar
Zucksを導入する場合
<!-- GNSFullscreenInterstitialAdapter Zucks --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Zucks:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> <repository>https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master/</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Zucks-1.0.0.aar
-
net.zucks.zucks-ad-network-sdk-4.6.1.jar
Tapjoyを導入する場合
<!-- GNSFullscreenInterstitialAdapter Tapjoy --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Tapjoy:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Tapjoy-2.0.0.aar
-
com.tapjoy.tapjoy-android-sdk-12.0.0.aar
UnityAdsを導入する場合
<!-- GNSFullscreenInterstitialAdapter UnityAds --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-UnityAds:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-UnityAds-2.0.0.aar
-
com.unity3d.ads.unity-ads-2.3.0.aar
Vungleを導入する場合
<!-- GNSFullscreenInterstitialAdapter Vungle --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Vungle:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> <repository>https://jitpack.io/</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
-
jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Vungle-2.0.0.aar
-
com.github.vungle.vungle-android-sdk-6.3.17.aar
Imobileを導入する場合
<!-- GNSFullscreenInterstitialAdapter Imobile --> <androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Imobile:2.0.0"> <androidSdkPackageIds> <androidSdkPackageId>extra-geniee-repository</androidSdkPackageId> </androidSdkPackageIds> <repositories> <repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository> </repositories> </androidPackage>使用するGeniss SDKファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Imobile-2.0.0.aar
FullscreenInterstitial-Adnws-Android-SDKから使用するアドネットワークのライブラリを Assets > Plugins > Android 直下に追加してください。- imobileSdkAds_2.0.20
※
FullscreenInterstitial-Adnws-Android-SDKについては、営業担当者にご確認ください。
Mavenでライブラリを導入するの手順を実行した場合、この手順は実行する必要はありません。
手動導入手順はこちら
以下SDKをAssets > Plugins > Android 直下に追加してください。
- GNAdSDK-X.X.X.jar
- GNSFullscreenInterstitialAdapter-AppLovin-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Zucks-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Nend-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Maio-2.0.0.jar
- GNSFullscreenInterstitialAdapter-UnityAds-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Tapjoy-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Vungle-2.0.0.jar
- GNSFullscreenInterstitialAdapter-Imobile-2.0.0.jar
FullscreenInterstitial-Adnws-Android-SDKから使用するアドネットワークのライブラリを Assets > Plugins > Android 直下に追加してください。
- applovin-sdk-8.1.0.jar
- maio-1.1.6.aar
- nend-sdk-5.0.2.aar
- ZucksAdNetworkSDK-4.6.1.jar
- tapjoyconnectlibrary-12.0.0.jar
- vungle-android-sdk-6.3.17.jar
- unity-ads-2.3.0.aar
- imobileSdkAds_2.0.20.jar
※ FullscreenInterstitial-Adnws-Android-SDKについては、営業担当者にご確認ください。
Assets -> Plugins -> Android -> AndroidManifest.xml を編集します。
以下Activityを追加してください。
<activity android:name="jp.co.geniee.utgnsrewardvideo.ExtendsUnityPlayerActivity"
android:label="@string/app_name"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
追加したアドネットワークに応じて、以下を追加してください。
<!-- AppLovin -->
<meta-data
android:name="applovin.sdk.key"
android:value="YOUR_APPLOVIN_SDK_KEY_HERE" />
- AppLovinSDKキーを android:value に加えてください。
- Name: applovin.sdk.key
-
Applovin keyは営業担当者に確認してください。
<!-- Tapjoy -->
<activity
android:name="com.tapjoy.TJAdUnitActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
android:name="com.tapjoy.mraid.view.ActionHandler"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity
android:name="com.tapjoy.mraid.view.Browser"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity
android:name="com.tapjoy.TJContentActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:hardwareAccelerated="true" />
<!--Vungle Activities-->
<activity
android:name="com.vungle.warren.ui.VungleActivity"
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity
android:name="com.vungle.warren.ui.VungleFlexViewActivity"
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!--Vungle Required Permissions-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--Optional Permissions-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- メニューバーの File -> Build Settings の順に選択します。
- Platform の Android を選択します。
- BuildSystem: "Gradle"を選択します。
- Bundle Identifierなどを編集していない場合は、
Player Settingsを押し、必要な設定項目を編集してください。 -
Build & Runすることでパッケージビルドの確認が出来ます。
※ Unity Preferences -> External ToolsのSDKとJDKのパスを記述していない場合は、記述してからパッケージを作成してください。
このUnityPluginは、Android LifecycleのOnStart、OnResume、OnPause時に広告の処理を行えるようにUnityPlayerActivityを継承したActivityを使用しています。
独自のActivityを使用したい場合は、下記メソッドとインターフェースを独自のActivityに追加してください。
そして、広告処理(広告のロードなど)を行う前にインターフェース名を設定してください。
- Activityに追加するメソッド、インターフェース
private LifecycleListener lifecycleListener;
// Listenerを設定するメソッド。メソッド名、仮引数は下記の通りにし、変更しないでください。
public void setLifecycleListener(LifecycleListener listener) {
this.lifecycleListener = listener;
}
// onStartで処理を行うために、リスナーの処理を追加してください。
@Override
protected void onStart() {
if (this.lifecycleListener != null) {
this.lifecycleListener.onStart();
}
super.onStart();
}
// onResumeで処理を行うために、リスナーの処理を追加してください。
@Override
protected void onResume() {
if (this.lifecycleListener != null) {
this.lifecycleListener.onResume();
}
super.onResume();
}
// onPauseで処理を行うために、リスナーの処理を追加してください。
@Override
protected void onPause() {
if (this.lifecycleListener != null) {
this.lifecycleListener.onPause();
}
super.onPause();
}
// onStopで処理を行うために、リスナーの処理を追加してください。
@Override
protected void onStop() {
if (this.lifecycleListener != null) {
this.lifecycleListener.onStop();
}
super.onStop();
}
// 下記メソッドが定義されているリスナーを作ってください。
public interface LifecycleListener {
void onStart();
void onResume();
void onPause();
void onStop();
}
- インターフェース名の設定
// クラス名は例で定義しています。作成したインターフェース名に置き換えてください。
GNSAdSDK.Android.Utils.LifecycleListenerClassName = "jp.co.geniee.utgnsrewardvideo.ExtendsUnityPlayerActivity$LifecycleListener";