Unity Editor, belirli bir Gradle sürümüne kilitlenmiştir. Unity Editor'ın önceki sürümlerinde, Google Mobile Ads'in en son sürümüyle uyumlu olmayan Gradle'ın önceki sürümleri kullanılır.
Android'i oluşturmak için tercih ettiğiniz Unity Editor sürümünü seçin:
2023.1 veya sonraki sürümler
Gradle derleme sonrası işlemcisini etkinleştirme
Gradle derleme sonrası işlemcisi, Unity Editor 2021.3.41f1 ve sonraki sürümlerde varsayılan olarak etkindir. İşlemci, Unity Editor'ın önceki sürümlerinde en yeni Google Mobile Ads SDK'sını desteklemek için gereken tüm Gradle ve oynatıcı ayarlarını otomatik olarak uygular.
Android ve Gradle ayarlarını manuel olarak yapılandırma
Özel Gradle Şablonlarını Etkinleştirme
Project Settings > Player > Android > Publishing Settings > Build'e (Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme) gidin
ve Custom Main Gradle Template
ile Custom Gradle Properties Template
'ü etkinleştirin.

Hedef API düzeyi 34'ü ayarlama
Ana menüden Düzenle > Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar'ı açın ve Hedef API Seviyesi'ni API Seviyesi 34 veya daha yüksek bir seviyeye ayarlayın.

2021.3.41f1 - 2022.3
Gradle derleme sonrası işlemcisini etkinleştirme
Gradle derleme sonrası işlemcisi, Unity Editor 2021.3.41f1 ve sonraki sürümlerde varsayılan olarak etkindir. İşlemci, Unity Editor'ın önceki sürümlerinde en yeni Google Mobile Ads SDK'sını desteklemek için gereken tüm Gradle ve oynatıcı ayarlarını otomatik olarak uygular.
Android ve Gradle ayarlarını manuel olarak yapılandırma
Özel Gradle Şablonlarını Etkinleştirme
Project Settings > Player > Android > Publishing Settings > Build'e (Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme) gidin
ve Custom Main Gradle Template
ile Custom Gradle Properties Template
'ü etkinleştirin.

Hedef API düzeyi 34'ü ayarlama
Ana menüden Düzenle > Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar'ı açın ve Hedef API Seviyesi'ni API Seviyesi 34 veya daha yüksek bir seviyeye ayarlayın.

`gradleTemplate.properties` dosyasına Jetifier yoksayılanlar listesini ekleyin.
Assets/Plugins/Android/gradleTemplate.properties
dosyasını düzenleyin
ve aşağıdaki satırı ekleyin:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
`AndroidManifest.xml` dosyasından `minSDKVersion` öğesini kaldırın.
Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
öğesini düzenleyin
ve uses-sdk
düğümünden android:minSdkVersion="21"
öğesini kaldırın.
AndroidManifest.xml
öğeniz aşağıdaki gibi görünmelidir:
<?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
Ön koşullar
Devam etmeden önce aşağıdakilere sahip olduğunuzdan emin olun:
- Android Studio'nun en son kararlı sürümünü indirip yükleyin.
- İsteğe bağlı: Android için derleme hakkında ayrıntılı bilgi edinmek istiyorsanız Android derlemelerindeki Java sürümleri başlıklı makaleyi inceleyin.
Özel Gradle Şablonlarını Etkinleştirme
Project Settings > Player > Android > Publishing Settings > Build'e (Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme) gidin
ve Custom Main Gradle Template
ile Custom Gradle Properties Template
'ü etkinleştirin.

Hedef API düzeyi 34'ü ayarlama
Ana menüden Düzenle > Proje Ayarları > Oynatıcı > Android > Diğer Ayarlar'ı açın ve Hedef API Seviyesi'ni API Seviyesi 34 veya daha yüksek bir seviyeye ayarlayın.

Android Studio'ya aktarma
File (veya MacOS'te Unity Editor) > Build Settings'i seçerek Android derleme ayarlarını değiştirin ve Export Project'i işaretleyin:

Android SDK platform API düzeyi 34'ün eksik olduğuna dair bir uyarı alırsanız "Android SDK'yı güncelle" seçeneğini belirleyin.
Android Studio'yu açın.
Bu bölümde, Android Studio'da gerçekleştirilen adımlar yer almaktadır.
Gradle JDK yapılandırmasını güncelleme
Gradle ayarlarını File (veya MacOS'te Android Studio) > Settings > Build > Execution > Deployment > Build Tools > Gradle'dan açın. Gradle JDK açılır listesini bulun ve Gradle JDK'yı JDK 17 veya sonraki sürümleri kullanacak şekilde ayarlayın.

JDK 17 yüklü değilse Gradle JDK menü çubuğundan Download JDK (JDK'yı İndir) seçeneğini belirleyip uyumlu bir sürümü indirin. Android Studio'nun dağıttığıyla eşleşmesi için aarch64 desteği olan JetBrains çalışma zamanı tedarikçisini öneririz.
Proje düzeyindeki build.gradle dosyasını güncelleyin.
Gradle araçları sürümünü 8.1.1
veya daha yeni bir sürüme ayarlayın.
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
adresini güncelleyin
Gradle 8.1.1 veya daha yeni bir sürümü kullanmak için distributionUrl
öğesini ayarlayın.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
launcher/build.gradle
adresini güncelleyin
namespace
özelliğini,launcher/AndroidManifest.xml
'dekipackage
özelliğinin değerini kullanarak ayarlayın.sourceCompatibility
vetargetCompatibility
öğelerini Java 17 olarak ayarlayın.
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'
Proje düzeyindeki settings.gradle
ayarlarını güncelleme
pluginManagement
ve dependencyResolutionManagement
bölümlerini ayarlayın.
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 dosyasını güncelleme
namespace
değerini"com.unity3d.player"
olarak ayarlayın.sourceCompatibility
vetargetCompatibility
değerleriniJavaVersion.VERSION_17
olarak ayarlayın.
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 dosyasını güncelleyin.
namespace
özelliğini "com.google.unity.ads"
değeriyle ayarlayın.
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 } }
Android projesini çalıştırma
Android Studio'da gradle senkronizasyonunu çalıştırın ve projeyi çalıştırın.