ویرایشگر یونیتی به نسخه خاصی از Gradle قفل شده است. نسخههای قبلی ویرایشگر یونیتی از نسخههای قدیمیتر Gradle استفاده میکنند که با آخرین نسخه Google Mobile Ads سازگار نیستند.
برای ساخت اندروید، نسخه ویرایشگر یونیتی مورد نظر خود را انتخاب کنید:
به تنظیمات پروژه > پخشکننده > اندروید > تنظیمات انتشار > ساخت بروید و از منوی اصلی ، مسیر Edit > Project Settings > Player > Android > Other Settings را باز کنید و Target API Level را روی API Level 23 یا بالاتر تنظیم کنید. Custom Main Gradle Template و Custom Gradle Properties Template را فعال کنید.
به تنظیمات پروژه > پخشکننده > اندروید > تنظیمات انتشار > ساخت بروید و از منوی اصلی ، مسیر Edit > Project Settings > Player > Android > Other Settings را باز کنید و Target API Level را روی API Level 23 یا بالاتر تنظیم کنید. Custom Main Gradle Template و Custom Gradle Properties Template را فعال کنید. Assets/Plugins/Android/gradleTemplate.properties را ویرایش کرده و خط زیر را به آن اضافه کنید: android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml را ویرایش کنید و android:minSdkVersion="21" را از گره uses-sdk حذف کنید. AndroidManifest.xml شما باید به شکل زیر باشد:<?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>
قبل از ادامه، مطمئن شوید که موارد زیر را دارید: به تنظیمات پروژه > پخشکننده > اندروید > تنظیمات انتشار > ساخت بروید و از منوی اصلی ، مسیر Edit > Project Settings > Player > Android > Other Settings را باز کنید و سطح API هدف را روی API Level 35 یا بالاتر تنظیم کنید. تنظیمات ساخت اندروید را با انتخاب File (یا Unity Editor در MacOS) > Build Settings تغییر دهید و Export Project را تیک بزنید: اگر هشداری مبنی بر فقدان API سطح ۳۵ پلتفرم SDK اندروید دریافت کردید، گزینه «بهروزرسانی SDK اندروید» را انتخاب کنید. این بخش شامل مراحلی است که در اندروید استودیو انجام میشوند. تنظیمات Gradle را از مسیر File (یا Android Studio در MacOS) > Settings > Build > Execution > Deployment > Build Tools > Gradle باز کنید. منوی کشویی Gradle JDK را پیدا کنید و Gradle JDK را روی استفاده از JDK 17 یا بالاتر تنظیم کنید. اگر JDK 17 را نصب ندارید، گزینههای دانلود JDK را از نوار منوی Gradle JDK انتخاب کرده و یک نسخه سازگار را دانلود کنید. ما JetBrains runtime vendor با پشتیبانی aarch64 را توصیه میکنیم تا با آنچه اندروید استودیو توزیع میکند، مطابقت داشته باشد. نسخه ابزار Gradle را روی بخشهای ویژگی از اندروید استودیو، gradle sync را اجرا کنید و پروژه را اجرا کنید .Custom Main Gradle Template و Custom Gradle Properties Template را فعال کنید. 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.propertiesdistributionUrl طوری تنظیم کنید که از Gradle 8.1.1 یا جدیدتر استفاده کند.distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.ziplauncher/build.gradlenamespace را با استفاده از مقدار ویژگی package از launcher/AndroidManifest.xml تنظیم کنید.sourceCompatibility و targetCompatibility روی جاوا ۱۷ 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 سطح پروژه را بهروزرسانی کنید.gradlepluginManagement و 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"
}
}
}
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 35
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' }
namespace را با مقدار "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
}
}