FullscreenInterstitial BuildPackage_Android - mkaji-geniee/Geniee-SDK-Unity-Plugin GitHub Wiki

Androidパッケージビルド手順

下記ビルド手順に従って作成してください。

  1. gradleでのライブラリ追加
    • Mavenでライブラリを導入する
    • 手動でのライブラリ追加
  2. AndroidManifest.xmlの編集
    1. GNSAdSDKにUnityのActivityのライフサイクルを繋ぎ込み
    2. 各種アドネットワークを追加
  3. ビルド手順
  4. 独自のActivityを使用している場合

1. gradleでのライブラリ追加

Mavenでライブラリを導入する(推奨)

  1. メニューバーのFile > Build Settings...を開き、以下を設定してください。

    • Platform: Android
    • Build System: Gradle
  2. 使用するファイルが Assets > Plugins > Android 直下に以下のライブラリが生成されていることを確認してください。

    • AndroidManifest.xml
    • GNSExtendsUnityPlayerActivity.jar
    • mainTemplate.gradle
  3. 使用する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
  4. 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
  5. 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については、営業担当者にご確認ください。

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>

各種アドネットワークを追加

追加したアドネットワークに応じて、以下を追加してください。

applovin

 <!-- 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

<!-- 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

 <!--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" />

3. ビルド手順

  1. メニューバーの File -> Build Settings の順に選択します。
  2. Platform の Android を選択します。
  3. BuildSystem: "Gradle"を選択します。
  4. Bundle Identifierなどを編集していない場合は、 Player Settings を押し、必要な設定項目を編集してください。
  5. Build & Runすることでパッケージビルドの確認が出来ます。

※ Unity Preferences -> External ToolsのSDKJDKのパスを記述していない場合は、記述してからパッケージを作成してください。

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();
  }
  • インターフェース名の設定
    // クラス名は例で定義しています。作成したインターフェース名に置き換えてください。
    GNSAdSDK.Android.Utils.LifecycleListenerClassName = "jp.co.geniee.utgnsrewardvideo.ExtendsUnityPlayerActivity$LifecycleListener";
⚠️ **GitHub.com Fallback** ⚠️