Unity Editor, Gradle के किसी खास वर्शन के लिए लॉक होता है. Unity Editor के पुराने वर्शन, Gradle के पुराने वर्शन का इस्तेमाल करते हैं. ये Google Mobile Ads के नए वर्शन के साथ काम नहीं करते.
Android के लिए ऐप्लिकेशन बनाने के लिए, Unity Editor का अपना पसंदीदा वर्शन चुनें:
2023.1 या इसके बाद वाला वर्शन
Gradle बिल्ड पोस्ट प्रोसेसर चालू करना
Gradle बिल्ड पोस्ट प्रोसेसर, Unity Editor 2021.3.41f1 और इसके बाद के वर्शन में डिफ़ॉल्ट रूप से चालू होता है. प्रोसेसर, Unity Editor के पुराने वर्शन पर Google Mobile Ads SDK के नए वर्शन को सपोर्ट करने के लिए, सभी ज़रूरी Gradle और प्लेयर सेटिंग अपने-आप लागू करता है.
Android और Gradle की सेटिंग को मैन्युअल तरीके से कॉन्फ़िगर करना
कस्टम Gradle टेंप्लेट चालू करना
प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिशिंग सेटिंग > बिल्ड पर जाएं
और Custom Main Gradle Template
और Custom Gradle Properties Template
को चालू करें.

टारगेट एपीआई लेवल 34 सेट करना
मुख्य मेन्यू में जाकर, बदलाव करें > प्रोजेक्ट सेटिंग > प्लेयर > Android > अन्य सेटिंग खोलें. इसके बाद, टारगेट एपीआई लेवल को एपीआई लेवल 34 या इससे ज़्यादा पर सेट करें.

2021.3.41f1 - 2022.3
Gradle बिल्ड पोस्ट प्रोसेसर चालू करना
Gradle बिल्ड पोस्ट प्रोसेसर, Unity Editor 2021.3.41f1 और इसके बाद के वर्शन में डिफ़ॉल्ट रूप से चालू होता है. प्रोसेसर, Unity Editor के पुराने वर्शन पर Google Mobile Ads SDK के नए वर्शन को सपोर्ट करने के लिए, सभी ज़रूरी Gradle और प्लेयर सेटिंग अपने-आप लागू करता है.
Android और Gradle की सेटिंग को मैन्युअल तरीके से कॉन्फ़िगर करना
कस्टम Gradle टेंप्लेट चालू करना
प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिशिंग सेटिंग > बिल्ड पर जाएं
और Custom Main Gradle Template
और Custom Gradle Properties Template
को चालू करें.

टारगेट एपीआई लेवल 34 सेट करना
मुख्य मेन्यू में जाकर, बदलाव करें > प्रोजेक्ट सेटिंग > प्लेयर > Android > अन्य सेटिंग खोलें. इसके बाद, टारगेट एपीआई लेवल को एपीआई लेवल 34 या इससे ज़्यादा पर सेट करें.

`gradleTemplate.properties` में, Jetifier की अनदेखा करने की सूची जोड़ना
Assets/Plugins/Android/gradleTemplate.properties
में बदलाव करें
और यह लाइन जोड़ें:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
`AndroidManifest.xml` से `minSDKVersion` हटाएं
Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
में बदलाव करें
और uses-sdk
नोड से android:minSdkVersion="21"
हटाएं.
आपका 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 Studio का सबसे नया स्टेबल वर्शन डाउनलोड और इंस्टॉल करें.
- ज़रूरी नहीं: Android के लिए बिल्ड बनाने के बारे में ज़्यादा जानने के लिए, Android बिल्ड में Java के वर्शन लेख पढ़ें
कस्टम Gradle टेंप्लेट चालू करना
प्रोजेक्ट सेटिंग > प्लेयर > Android > पब्लिशिंग सेटिंग > बिल्ड पर जाएं
और Custom Main Gradle Template
और Custom Gradle Properties Template
को चालू करें.

टारगेट एपीआई लेवल 34 सेट करना
मुख्य मेन्यू में जाकर, बदलाव करें > प्रोजेक्ट सेटिंग > प्लेयर > Android > अन्य सेटिंग खोलें. इसके बाद, टारगेट एपीआई लेवल को एपीआई लेवल 34 या इससे ज़्यादा पर सेट करें.

Android Studio में एक्सपोर्ट करना
Android बिल्ड सेटिंग में बदलाव करने के लिए, File (या MacOS पर Unity Editor) > Build Settings चुनें. इसके बाद, Export Project पर सही का निशान लगाएं:

अगर आपको यह चेतावनी मिलती है कि Android SDK प्लैटफ़ॉर्म एपीआई लेवल 34 मौजूद नहीं है, तो 'Android SDK अपडेट करें' विकल्प चुनें.
Android Studio खोलना
इस सेक्शन में, Android Studio में किए गए चरणों के बारे में बताया गया है.
Gradle JDK कॉन्फ़िगरेशन अपडेट करना
Gradle की सेटिंग खोलने के लिए, फ़ाइल (या macOS पर Android Studio) > सेटिंग > बिल्ड > एक्ज़ीक्यूशन > डिप्लॉयमेंट > बिल्ड टूल > Gradle पर जाएं. Gradle JDK ड्रॉप-डाउन ढूंढें और Gradle JDK को JDK 17 या उसके बाद के वर्शन का इस्तेमाल करने के लिए सेट करें.

अगर आपने JDK 17 इंस्टॉल नहीं किया है, तो Gradle JDK मेन्यू बार से JDK डाउनलोड करें विकल्प चुनें और इसके साथ काम करने वाला वर्शन डाउनलोड करें. हमारा सुझाव है कि आप JetBrains runtime वेंडर का इस्तेमाल करें. यह Android Studio के साथ काम करता है और इसमें aarch64 आर्किटेक्चर के लिए सपोर्ट भी उपलब्ध है.
प्रोजेक्ट-लेवल की 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
को अपडेट करें
distributionUrl
को Gradle 8.1.1 या इसके बाद के वर्शन पर सेट करें.
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: ['<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 प्रोजेक्ट चलाना
Android Studio से, gradle sync चलाएं और प्रोजेक्ट चलाएं.