Unity Editor dikunci versinya ke versi Gradle tertentu. Versi Unity Editor yang lebih lama menggunakan versi Gradle yang lebih lama yang tidak kompatibel dengan Google Mobile Ads versi terbaru.
Untuk membuat Android, pilih versi Unity Editor yang Anda inginkan:
2023.1 atau yang lebih tinggi
Mengaktifkan pasca-pemroses build Gradle
Post-prosesor build Gradle diaktifkan secara default di Unity Editor 2021.3.41f1 dan yang lebih baru. Prosesor secara otomatis menerapkan semua setelan Gradle dan pemutar yang diperlukan untuk mendukung Google Mobile Ads SDK terbaru di Unity Editor versi sebelumnya.
Mengonfigurasi setelan Android dan Gradle secara manual
Mengaktifkan Template Gradle Kustom
Buka Project Settings > Player > Android > Publishing Settings > Build
dan aktifkan Custom Main Gradle Template
dan Custom Gradle Properties Template
.

Menetapkan Level API Target 34
Dari menu utama, buka Edit > Project Settings > Player > Android > Other Settings dan tetapkan Target API Level ke API Level 34 atau yang lebih tinggi.

2021.3.41f1 - 2022.3
Mengaktifkan pasca-pemroses build Gradle
Post-prosesor build Gradle diaktifkan secara default di Unity Editor 2021.3.41f1 dan yang lebih baru. Prosesor secara otomatis menerapkan semua setelan Gradle dan pemutar yang diperlukan untuk mendukung Google Mobile Ads SDK terbaru di Unity Editor versi sebelumnya.
Mengonfigurasi setelan Android dan Gradle secara manual
Mengaktifkan Template Gradle Kustom
Buka Project Settings > Player > Android > Publishing Settings > Build
dan aktifkan Custom Main Gradle Template
dan Custom Gradle Properties Template
.

Menetapkan Level API Target 34
Dari menu utama, buka Edit > Project Settings > Player > Android > Other Settings dan tetapkan Target API Level ke API Level 34 atau yang lebih tinggi.

Menambahkan daftar yang diabaikan jetifier ke `gradleTemplate.properties`
Edit Assets/Plugins/Android/gradleTemplate.properties
dan tambahkan baris berikut:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
Hapus `minSDKVersion` dari `AndroidManifest.xml`
Edit Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
dan hapus android:minSdkVersion="21"
dari node uses-sdk
.
AndroidManifest.xml
Anda akan terlihat seperti berikut:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads" android:versionName="1.0" android:versionCode="1"> <uses-sdk /> <application> <uses-library android:required="false" android:name="org.apache.http.legacy"/> </application> </manifest>
2019.4 - 2021.3.37f1
Prasyarat
Sebelum melanjutkan, pastikan Anda memiliki hal berikut:
- Download dan instal Android Studio versi stabil terbaru.
- Opsional: Untuk mengetahui detail tentang membangun untuk Android, lihat Versi Java dalam build Android
Mengaktifkan Template Gradle Kustom
Buka Project Settings > Player > Android > Publishing Settings > Build
dan aktifkan Custom Main Gradle Template
dan Custom Gradle Properties Template
.

Menetapkan Level API Target 34
Dari menu utama, buka Edit > Project Settings > Player > Android > Other Settings dan tetapkan Target API Level ke API Level 34 atau yang lebih tinggi.

Mengekspor ke Android Studio
Ubah setelan build Android dengan memilih File (atau Unity Editor di MacOS) > Build Settings dan centang Export Project:

Jika Anda menerima peringatan bahwa API level 34 platform Android SDK tidak ada, pilih opsi 'Update Android SDK'.
Membuka Android Studio
Bagian ini berisi langkah-langkah yang dilakukan dalam Android Studio.
Memperbarui konfigurasi JDK Gradle
Buka setelan Gradle dari File (atau Android Studio di MacOS) > Settings > Build > Execution > Deployment > Build Tools > Gradle. Cari drop-down Gradle JDK dan tetapkan Gradle JDK untuk menggunakan JDK 17 atau yang lebih baru.

Jika Anda belum menginstal JDK 17, pilih opsi Download JDK dari panel menu Gradle JDK, lalu download versi yang kompatibel. Sebaiknya gunakan vendor JetBrains runtime dengan dukungan aarch64, agar sesuai dengan yang didistribusikan Android Studio.
Perbarui build.gradle level project
Tetapkan versi alat Gradle ke 8.1.1
atau yang lebih baru.
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 }
Perbarui /gradle/gradle-wrapper.properties
Tetapkan distributionUrl
untuk menggunakan Gradle 8.1.1 atau yang lebih baru.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Perbarui launcher/build.gradle
- Tetapkan atribut
namespace
menggunakan nilai atributpackage
darilauncher/AndroidManifest.xml
- Tetapkan
sourceCompatibility
dantargetCompatibility
ke 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'
Memperbarui settings.gradle
tingkat project
Tetapkan bagian pluginManagement
dan 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" } } }
Perbarui unityLibrary/build.gradle
- Tetapkan
namespace
dengan nilai"com.unity3d.player"
- Tetapkan
sourceCompatibility
dantargetCompatibility
keJavaVersion.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' }
Perbarui unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle
Tetapkan atribut namespace
dengan nilai "com.google.unity.ads"
.
apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['<em>.jar']) implementation fileTree(dir: 'libs', include: ['</em>.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 } }
Menjalankan Project Android
Dari Android Studio, jalankan sinkronisasi gradle, dan jalankan project.