Unity エディタは、特定のバージョンの Gradle にバージョンロックされています。以前のバージョンの Unity エディタでは、以前のバージョンの Gradle が使用されていますが、これは最新バージョンの Google Mobile Ads と互換性がありません。
次の表に、Unity Editor に基づいて使用できる Google Mobile Ads プラグインの最大互換バージョンを示します。
Unity エディタ | Google モバイル広告 Unity プラグインのバージョン |
---|---|
2023.1 以降 | 最新 |
2021.3.41f1 - 2022.3 | 9.1.0 |
2021.3.37f1 以前 | 8.5.3 |
古い Unity Editor でも、最新の Google Mobile Ads Unity プラグインを使用するように Gradle を手動で更新できます。Android をビルドするには、使用する Unity エディタのバージョンを選択します。
2023.1 以降
前提条件
続行する前に、次の準備をしてください。
- 省略可: Android 用にビルドする方法については、Android ビルドの Java バージョンをご覧ください。
カスタム Gradle テンプレートを有効にする
[プロジェクト設定] > [プレーヤー] > [Android] > [公開設定] > [ビルド] に移動し、Custom Main Gradle Template
と Custom Gradle Properties Template
を有効にします。
![カスタム Gradle テンプレートを有効にする](https://developers.google.cn/static/admob/images/unity_projectsettings_gradle.png?hl=ja)
対象 API レベル 34 を設定する
メインメニューから [Edit] > [Project Settings] > [Player] > [Android] > [Other Settings] を開き、[Target API Level] を API Level 34 以上に設定します。
![対象 API レベルを設定する](https://developers.google.cn/static/admob/images/unity_projectsettings_apilevel.png?hl=ja)
Android プロジェクトを実行する
Android Studio で Gradle の同期を実行し、プロジェクトを実行します。
2021.3.4f1 - 2022.3
前提条件
続行する前に、次の準備をしてください。
- Android Studio の最新の安定版をダウンロードしてインストールします。
- 省略可: Android 用にビルドする方法については、Android ビルドの Java バージョンをご覧ください。
カスタム Gradle テンプレートを有効にする
[プロジェクト設定] > [プレーヤー] > [Android] > [公開設定] > [ビルド] に移動し、Custom Main Gradle Template
と Custom Gradle Properties Template
を有効にします。
![カスタム Gradle テンプレートを有効にする](https://developers.google.cn/static/admob/images/unity_projectsettings_gradle.png?hl=ja)
対象 API レベル 34 を設定する
メインメニューから [Edit] > [Project Settings] > [Player] > [Android] > [Other Settings] を開き、[Target API Level] を API Level 34 以上に設定します。
![対象 API レベルを設定する](https://developers.google.cn/static/admob/images/unity_projectsettings_apilevel.png?hl=ja)
Android Studio にエクスポートする
[File](macOS の場合は [Unity Editor])> [Build Settings] を選択して、[Export Project] をオンにして、Android ビルド設定を変更します。
![プロジェクトをエクスポートする](https://developers.google.cn/static/admob/images/unity_projectsettings_export.png?hl=ja)
Android Studio を開く
このセクションでは、Android Studio 内で行う手順について説明します。
Gradle JDK 構成を更新する
[File](または macOS の場合は [Android Studio])> [Settings] > [Build] > [Execution] > [Deployment] > [Build Tools] > [Gradle] で Gradle 設定を開きます。[Gradle JDK] プルダウンを見つけて、JDK 17 以降を使用するように Gradle JDK を設定します。
![Gradle JDK 構成を更新する](https://developers.google.cn/static/admob/images/unity_projectsettings_jdk.png?hl=ja)
JDK 17 がインストールされていない場合は、Gradle JDK のメニューバーから [Download JDK] オプションを選択し、互換性のあるバージョンをダウンロードします。Android Studio が配布するものと一致するように、aarch64 をサポートする JetBrains ランタイム ベンダーをおすすめします。
プロジェクト レベルの build.gradle を更新する
Gradle ツールのバージョンを 8.1.1
以降に設定します。
plugins {
id 'com.android.application' version '8.1.1' apply false
id 'com.android.library' version '8.1.1' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
/gradle/gradle-wrapper.properties
の更新
Gradle 8.1.1 以降を使用するように distributionUrl
を設定します。
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Android プロジェクトを実行する
Android Studio で Gradle の同期を実行し、プロジェクトを実行します。
2021.3.37f1 - 2019.4
前提条件
続行する前に、次の準備をしてください。
- Android Studio の最新の安定版をダウンロードしてインストールします。
- 省略可: Android 用にビルドする方法については、Android ビルドの Java バージョンをご覧ください。
カスタム Gradle テンプレートを有効にする
[プロジェクト設定] > [プレーヤー] > [Android] > [公開設定] > [ビルド] に移動し、Custom Main Gradle Template
と Custom Gradle Properties Template
を有効にします。
![カスタム Gradle テンプレートを有効にする](https://developers.google.cn/static/admob/images/unity_projectsettings_gradle.png?hl=ja)
対象 API レベル 34 を設定する
メインメニューから [Edit] > [Project Settings] > [Player] > [Android] > [Other Settings] を開き、[Target API Level] を API Level 34 以上に設定します。
![対象 API レベルを設定する](https://developers.google.cn/static/admob/images/unity_projectsettings_apilevel.png?hl=ja)
Android Studio にエクスポートする
[File](macOS の場合は [Unity Editor])> [Build Settings] を選択して、[Export Project] をオンにして、Android ビルド設定を変更します。
![プロジェクトをエクスポートする](https://developers.google.cn/static/admob/images/unity_projectsettings_export.png?hl=ja)
Android SDK Platform API レベル 34 が不足しているという警告が表示された場合は、[Update Android SDK] オプションを選択します。
Android Studio を開く
このセクションでは、Android Studio 内で行う手順について説明します。
Gradle JDK 構成を更新する
[File](または macOS の場合は [Android Studio])> [Settings] > [Build] > [Execution] > [Deployment] > [Build Tools] > [Gradle] で Gradle 設定を開きます。[Gradle JDK] プルダウンを見つけて、JDK 17 以降を使用するように Gradle JDK を設定します。
![Gradle JDK 構成を更新する](https://developers.google.cn/static/admob/images/unity_projectsettings_jdk.png?hl=ja)
JDK 17 がインストールされていない場合は、Gradle JDK のメニューバーから [Download JDK] オプションを選択し、互換性のあるバージョンをダウンロードします。Android Studio が配布するものと一致するように、aarch64 をサポートする JetBrains ランタイム ベンダーをおすすめします。
プロジェクト レベルの build.gradle を更新する
Gradle ツールのバージョンを 8.1.1
以降に設定します。
plugins {
id 'com.android.application' version '8.1.1' apply false
id 'com.android.library' version '8.1.1' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
/gradle/gradle-wrapper.properties
の更新
Gradle 8.1.1 以降を使用するように distributionUrl
を設定します。
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
launcher/build.gradle
の更新
launcher/AndroidManifest.xml
のpackage
属性の値を使用して、namespace
属性を設定します。sourceCompatibility
とtargetCompatibility
を Java 17 に設定する
apply plugin: 'com.android.application'
dependencies {
implementation project(':unityLibrary')
}
android {
namespace "com.google.android.gms.example"
compileSdkVersion 35
buildToolsVersion '35.0.0'
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
defaultConfig {
minSdkVersion 28
targetSdkVersion 35
applicationId 'com.google.android.gms.example'
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
versionCode 1
versionName '1.0'
}
aaptOptions {
noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp']
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
lintOptions {
abortOnError false
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.debug
jniDebuggable true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt')
signingConfig signingConfigs.debug
}
}
packagingOptions {
doNotStrip '*/armeabi-v7a/*.so'
doNotStrip '*/arm64-v8a/*.so'
doNotStrip '*/x86/*.so'
doNotStrip '*/x86_64/*.so'
jniLibs {
useLegacyPackaging true
}
}
bundle {
language {
enableSplit = false
}
density {
enableSplit = false
}
abi {
enableSplit = true
}
}
}
apply from: '../unityLibrary/GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'
プロジェクト レベルの settings.gradle
を更新する
pluginManagement
セクションと dependencyResolutionManagement
セクションを設定します。
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
include ':launcher', ':unityLibrary'
include 'unityLibrary:GoogleMobileAdsPlugin.androidlib'
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
}
unityLibrary/build.gradle を更新する
namespace
を値"com.unity3d.player"
に設定します。sourceCompatibility
とtargetCompatibility
をJavaVersion.VERSION_17
に設定する
apply plugin: 'com.android.library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.android.gms:play-services-ads:23.6.0'
implementation 'com.google.android.ump:user-messaging-platform:3.1.0'
// Android Resolver Dependencies End
implementation(name: 'googlemobileads-unity', ext:'aar')
implementation project('GoogleMobileAdsPlugin.androidlib')
}
// Android Resolver Exclusions Start
android {
packagingOptions {
exclude ('/lib/armeabi/*' + '*')
exclude ('/lib/mips/*' + '*')
exclude ('/lib/mips64/*' + '*')
exclude ('/lib/x86/*' + '*')
}
}
// Android Resolver Exclusions End
android {
namespace "com.unity3d.player"
compileSdkVersion 34
buildToolsVersion '30.0.2'
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
defaultConfig {
minSdkVersion 28
targetSdkVersion 34
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
}
versionCode 1
versionName '1.0'
consumerProguardFiles 'proguard-unity.txt'
}
lintOptions {
abortOnError false
}
aaptOptions {
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
packagingOptions {
doNotStrip '*/armeabi-v7a/*.so'
doNotStrip '*/arm64-v8a/*.so'
doNotStrip '*/x86_64/*.so'
}
}
apply from: 'GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'
gradle.projectsEvaluated { apply from: 'GoogleMobileAdsPlugin.androidlib/validate_dependencies.gradle' }
unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle を更新する
namespace
属性に値 "com.google.unity.ads"
を設定します。
apply plugin: 'android-library'
dependencies {
implementation fileTree(dir: 'bin', include: ['.jar'])
implementation fileTree(dir: 'libs', include: ['.jar'])
}
android {
namespace "com.google.unity.ads"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
//java.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
compileSdkVersion 34
buildToolsVersion '30.0.2'
defaultConfig {
targetSdkVersion 31
}
lintOptions {
abortOnError false
}
}
Android プロジェクトを実行する
Android Studio で Gradle の同期を実行し、プロジェクトを実行します。