Androidパッケージビルド手順
下記ビルド手順に従って作成してください。
- gradleでのライブラリ追加
- Mavenでライブラリを導入する
- 手動でのライブラリ追加
- AndroidManifest.xmlの編集
- GNSAdSDKにUnityのActivityのライフサイクルを繋ぎ込み
- 各種アドネットワークを追加
- ビルド手順
- 独自のActivityを使用している場合
1. gradleでのライブラリ追加
Mavenでライブラリを導入する(推奨)
メニューバーの
File > Build Settings...
を開き、以下を設定してください。- Platform:
Android
- Build System:
Gradle
- Platform:
使用するファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- AndroidManifest.xml
- GNSExtendsUnityPlayerActivity.jar
- mainTemplate.gradle
使用するAndroid Libraryファイルが
Assets/Plugins/Android/mainTemplate.gradle
に以下のライブラリが生成されていることを確認してください。
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.percentlayout:percentlayout:1.0.0'
implementation 'com.google.android.gms:play-services-gcm:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
2
3
4
5
6
7
PlayServicesResolver/Editor/GNDependencies
を開き、GNAdSDKを取得するために、以下を記述します。
<!-- GNAdSDK -->
<androidPackage spec="jp.co.geniee.gnadsdk:GNAdSDK:8.5.1">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
- 使用するGeniee SDKファイルが
Assets/Plugins/Android/mainTemplate.gradle
に以下のライブラリが生成されていることを確認してください。
implementation 'jp.co.geniee.gnadsdk:GNAdSDK:8.5.1'
2
PlayServicesResolver/Editor/GNDependencies
を開き、以下を追記することでGNSFullscreenInterstitialAdapter
を導入します。アドネットワークによって、記載を変更します。
全アドネットワークを一括で導入する場合
<!-- GNSFullscreenInterstitialAdapter All ADNW-->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter:4.3.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>
<repository>https://imobile-maio.github.io/maven/</repository>
<repository>https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master/</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
11
12
13
使用するGeniee SDKファイルが Assets/Plugins/Android/mainTemplate.gradle
に以下のライブラリが生成されていることを確認してください。
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-AppLovin:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Imobile:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Maio:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Nend:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Tapjoy:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-UnityAds:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Vungle:4.3.0'
implementation 'jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Zucks:4.3.0'
2
3
4
5
6
7
8
9
使用するアドネットワークSDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- net.zucks.zucks-ad-network-sdk-4.7.0.jar
- com.applovin.applovin-sdk-9.14.5.aar
- com.maio.android-sdk-1.1.13.aar
- net.nend.android.nend-sdk-5.4.2.aar
- com.tapjoy.tapjoy-android-sdk-12.7.0.aar
- com.unity3d.ads.unity-ads-3.4.8.aar
- com.vungle.publisher-sdk-android-6.8.0.aar
Maioを導入する場合
<!-- GNSFullscreenInterstitialAdapter Maio -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Maio:4.3.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>
2
3
4
5
6
7
8
9
10
11
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Maio-4.3.0.aar
- com.maio.android-sdk-1.1.13.aar
AppLovinを導入する場合
<!-- GNSFullscreenInterstitialAdapter AppLovin -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-AppLovin:4.3.0">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-AppLovin-4.3.0.aar
- com.applovin.applovin-sdk-9.14.5.aar
Nendを導入する場合
<!-- GNSFullscreenInterstitialAdapter Nend -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Nend:4.3.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>
2
3
4
5
6
7
8
9
10
11
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Nend-4.3.0.aar
- net.nend.android.nend-sdk-5.4.2.aar
Zucksを導入する場合
<!-- GNSFullscreenInterstitialAdapter Zucks -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Zucks:4.3.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>
2
3
4
5
6
7
8
9
10
11
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Zucks-4.3.0.aar
- net.zucks.zucks-ad-network-sdk-4.7.0.jar
Tapjoyを導入する場合
<!-- GNSFullscreenInterstitialAdapter Tapjoy -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Tapjoy:4.3.0">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
11
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Tapjoy-4.3.0.aar
- com.tapjoy.tapjoy-android-sdk-12.7.0.aar
UnityAdsを導入する場合
<!-- GNSFullscreenInterstitialAdapter UnityAds -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-UnityAds:4.3.0">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-UnityAds-4.3.0.aar
- com.unity3d.ads.unity-ads-3.4.8.aar
Vungleを導入する場合
<!-- GNSFullscreenInterstitialAdapter Vungle -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Vungle:4.3.0">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Vungle-4.3.0.aar
- com.vungle.publisher-sdk-android-6.8.0.aar
Imobileを導入する場合
<!-- GNSFullscreenInterstitialAdapter Imobile -->
<androidPackage spec="jp.co.geniee.gnsfullscreeninterstitialadapter:GNSFullscreenInterstitialAdapter-Imobile:4.3.0">
<androidSdkPackageIds>
<androidSdkPackageId>extra-geniee-repository</androidSdkPackageId>
</androidSdkPackageIds>
<repositories>
<repository>https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository</repository>
</repositories>
</androidPackage>
2
3
4
5
6
7
8
9
10
使用するGeniss SDKファイルが Assets/Plugins/Android 直下に以下のライブラリが生成されていることを確認してください。
- jp.co.geniee.gnsfullscreeninterstitialadapter.GNSFullscreenInterstitialAdapter-Imobile-4.3.0.aar
FullscreenInterstitial-Adnws-Android-SDK
から使用するアドネットワークのライブラリを Assets/Plugins/Android 直下に追加してください。
imobileSdkAds_2.0.20
※
FullscreenInterstitial-Adnws-Android-SDK
については、営業担当者にご確認ください。
手動でライブラリを導入する
Mavenでライブラリを導入する
の手順を実行した場合、この手順は実行する必要はありません。
手動導入手順はこちら
以下SDKをAssets/Plugins/Android 直下に追加してください。
- GNAdSDK-8.5.1.jar
- GNSFullscreenInterstitialAdapter-AppLovin-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Zucks-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Nend-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Maio-4.3.0.jar
- GNSFullscreenInterstitialAdapter-UnityAds-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Tapjoy-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Vungle-4.3.0.jar
- GNSFullscreenInterstitialAdapter-Imobile-4.3.0.jar
FullscreenInterstitial-Adnws-Android-SDK
から使用するアドネットワークのライブラリを Assets/Plugins/Android 直下に追加してください。
- applovin-sdk-9.14.5.aar
- maio-1.1.13.aar
- nend-sdk-5.4.2.aar
- ZucksAdNetworkSDK-4.7.0.jar
- tapjoyconnectlibrary-12.7.0.jar
- publisher-sdk-android-6.8.0.jar
- unity-ads-3.4.8.aar
- imobileSdkAds_2.0.20.jar
※ FullscreenInterstitial-Adnws-Android-SDK
については、営業担当者にご確認ください。
2. AndroidManifest.xmlの編集
Assets -> Plugins -> Android -> AndroidManifest.xml を編集します。
GNSAdSDKにUnityのActivityのライフサイクルを繋ぎ込み
以下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>
2
3
4
5
6
7
8
9
10
各種アドネットワークを追加
追加したアドネットワークに応じて、以下を追加してください。
applovin
<!-- AppLovin -->
<meta-data
android:name="applovin.sdk.key"
android:value="YOUR_APPLOVIN_SDK_KEY_HERE" />
2
3
4
5
- AppLovinSDKキーを android:value に加えてください。
- Name: applovin.sdk.key
Applovin key
は営業担当者に確認してください。
tapjoy
<!-- 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.TJContentActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:hardwareAccelerated="true" />
2
3
4
5
6
7
8
9
10
11
12
vungle
<!--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" />
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
3. ビルド手順
- メニューバーの File -> Build Settings の順に選択します。
- Platform の Android を選択します。
- BuildSystem: "Gradle"を選択します。
- Bundle Identifierなどを編集していない場合は、
Player Settings
を押し、必要な設定項目を編集してください。 Build & Run
することでパッケージビルドの確認が出来ます。
※ Unity Preferences -> External ToolsのSDK
とJDK
のパスを記述していない場合は、記述してからパッケージを作成してください。
4. 独自のActivityを使用している場合
この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();
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- インターフェース名の設定
// クラス名は例で定義しています。作成したインターフェース名に置き換えてください。
GNSAdSDK.Android.Utils.LifecycleListenerClassName = "jp.co.geniee.utgnsrewardvideo.ExtendsUnityPlayerActivity$LifecycleListener";
2
3