ویرایشگر Unity نسخه ای است که روی نسخه خاصی از Gradle قفل شده است. نسخههای قبلی Unity Editor از نسخههای قبلی Gradle استفاده میکنند که با آخرین نسخه Google Mobile Ads سازگار نیست.
برای ساخت اندروید، نسخه Unity Editor مورد نظر خود را انتخاب کنید:
2023.1 یا بالاتر
پردازشگر پست ساخت Gradle را فعال کنید
پردازنده Gradle build post به طور پیش فرض در Unity Editor 2021.3.41f1 و نسخه های جدیدتر فعال است. پردازنده به طور خودکار تمام تنظیمات لازم Gradle و پخش کننده را برای پشتیبانی از آخرین SDK تبلیغات موبایل Google در نسخه های قبلی Unity Editor اعمال می کند.تنظیمات Android و Gradle را به صورت دستی پیکربندی کنید
قالب های سفارشی Gradle را فعال کنید
به Project Settings > Player > Android > Publishing Settings > Build و فعال کردن Custom Main Gradle Template
و Custom Gradle Properties Template
بروید.

سطح 34 API هدف را تنظیم کنید
از منوی اصلی Edit > Project Settings > Player > Android > Other Settings را باز کنید و Target API Level را روی API Level 34 یا بالاتر قرار دهید.

2021.3.41f1 - 2022.3
پردازشگر پست ساخت Gradle را فعال کنید
پردازنده Gradle build post به طور پیش فرض در Unity Editor 2021.3.41f1 و نسخه های جدیدتر فعال است. پردازنده به طور خودکار تمام تنظیمات لازم Gradle و پخش کننده را برای پشتیبانی از آخرین SDK تبلیغات موبایل Google در نسخه های قبلی Unity Editor اعمال می کند.تنظیمات Android و Gradle را به صورت دستی پیکربندی کنید
قالب های سفارشی Gradle را فعال کنید
به Project Settings > Player > Android > Publishing Settings > Build و فعال کردن Custom Main Gradle Template
و Custom Gradle Properties Template
بروید.

سطح 34 API هدف را تنظیم کنید
از منوی اصلی Edit > Project Settings > Player > Android > Other Settings را باز کنید و Target API Level را روی API Level 34 یا بالاتر قرار دهید.

لیست نادیده گرفتن jetifier را به `gradleTemplate.properties` اضافه کنید
Assets/Plugins/Android/gradleTemplate.properties
را ویرایش کنید و خط زیر را اضافه کنید:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
«minSDKVersion» را از «AndroidManifest.xml» حذف کنید
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>
2019.4 - 2021.3.37f1
پیش نیازها
قبل از ادامه، مطمئن شوید که موارد زیر را دارید:
- آخرین نسخه پایدار اندروید استودیو را دانلود و نصب کنید.
- اختیاری: برای جزئیات بیشتر در مورد ساخت برای Android، نسخههای جاوا را در نسخههای اندروید ببینید
قالب های سفارشی Gradle را فعال کنید
به Project Settings > Player > Android > Publishing Settings > Build و فعال کردن Custom Main Gradle Template
و Custom Gradle Properties Template
بروید.

Target API Level 34 را تنظیم کنید
از منوی اصلی Edit > Project Settings > Player > Android > Other Settings را باز کنید و Target API Level را روی API Level 34 یا بالاتر قرار دهید.

صادرات به Android Studio
تنظیمات ساخت اندروید را با انتخاب File (یا Unity Editor در MacOS) > Build Settings تغییر دهید و Export Project را بررسی کنید:

اگر هشداری دریافت کردید که سطح 34 API پلتفرم Android SDK وجود ندارد، گزینه «بهروزرسانی Android SDK» را انتخاب کنید.
اندروید استودیو را باز کنید
این بخش شامل مراحل انجام شده در Android Studio است.
پیکربندی Gradle JDK را به روز کنید
تنظیمات Gradle را از File (یا Android Studio در MacOS) > Settings > Build > Execution > Deployment > Build Tools > Gradle را باز کنید. منوی کشویی Gradle JDK را پیدا کنید و Gradle JDK را طوری تنظیم کنید که از JDK 17 یا بالاتر استفاده کند.

اگر JDK 17 را نصب نکردهاید، گزینههای Download JDK را از نوار منو Gradle JDK انتخاب کنید و نسخه سازگار را دانلود کنید. ما فروشنده زمان اجرا JetBrains با پشتیبانی aarch64 را توصیه می کنیم تا با آنچه Android Studio توزیع می کند مطابقت داشته باشد.
build.gradle در سطح پروژه را به روز کنید
نسخه Gradle tools را روی 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
distributionUrl
برای استفاده از Gradle 8.1.1 یا جدیدتر تنظیم کنید.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
به روز رسانی launcher/build.gradle
- ویژگی
namespace
با استفاده از مقدار ویژگیpackage
ازlauncher/AndroidManifest.xml
تنظیم کنید -
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
سطح پروژه را به روز کنید.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: ['<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 Studio، gradle sync را اجرا کنید و پروژه را اجرا کنید .