L'éditeur Unity est verrouillé sur une version spécifique de Gradle. Les versions antérieures de l'éditeur Unity utilisent des versions antérieures de Gradle, qui sont incompatibles avec la dernière version de Google Mobile Ads.
Pour créer Android, sélectionnez la version de l'éditeur Unity de votre choix :
2023.1 ou version ultérieure
Activer le post-processeur de compilation Gradle
Le post-processeur de compilation Gradle est activé par défaut dans l'éditeur Unity 2021.3.41f1 et versions ultérieures. Le processeur applique automatiquement tous les paramètres Gradle et du lecteur nécessaires pour prendre en charge la dernière version du SDK Google Mobile Ads sur les versions antérieures de l'éditeur Unity.
Configurer manuellement les paramètres Android et Gradle
Activer les modèles Gradle personnalisés
Accédez à Project Settings > Player > Android > Publishing Settings > Build (Paramètres du projet > Lecteur > Android > Paramètres de publication > Créer) et activez Custom Main Gradle Template
et Custom Gradle Properties Template
.

Définir le niveau d'API cible sur 34
Dans le menu principal, ouvrez Edit > Project Settings > Player > Android > Other Settings (Modifier > Paramètres du projet > Lecteur > Android > Autres paramètres), puis définissez le niveau d'API cible sur niveau d'API 34 ou supérieur.

2021.3.41f1 - 2022.3
Activer le post-processeur de compilation Gradle
Le post-processeur de compilation Gradle est activé par défaut dans l'éditeur Unity 2021.3.41f1 et versions ultérieures. Le processeur applique automatiquement tous les paramètres Gradle et du lecteur nécessaires pour prendre en charge la dernière version du SDK Google Mobile Ads sur les versions antérieures de l'éditeur Unity.
Configurer manuellement les paramètres Android et Gradle
Activer les modèles Gradle personnalisés
Accédez à Project Settings > Player > Android > Publishing Settings > Build (Paramètres du projet > Lecteur > Android > Paramètres de publication > Créer) et activez Custom Main Gradle Template
et Custom Gradle Properties Template
.

Définir le niveau d'API cible sur 34
Dans le menu principal, ouvrez Edit > Project Settings > Player > Android > Other Settings (Modifier > Paramètres du projet > Lecteur > Android > Autres paramètres), puis définissez le niveau d'API cible sur niveau d'API 34 ou supérieur.

Ajouter la liste des éléments à ignorer de Jetifier à `gradleTemplate.properties`
Modifiez Assets/Plugins/Android/gradleTemplate.properties
et ajoutez la ligne suivante :
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
Supprimer `minSDKVersion` de `AndroidManifest.xml`
Modifiez Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
et supprimez android:minSdkVersion="21"
du nœud uses-sdk
.
Votre AndroidManifest.xml
devrait se présenter comme suit :
<?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
Prérequis
Avant de continuer, assurez-vous de disposer des éléments suivants :
- Téléchargez et installez la dernière version stable d'Android Studio.
- Facultatif : Pour en savoir plus sur la création de builds pour Android, consultez Versions de Java dans les builds Android.
Activer les modèles Gradle personnalisés
Accédez à Project Settings > Player > Android > Publishing Settings > Build (Paramètres du projet > Lecteur > Android > Paramètres de publication > Créer) et activez Custom Main Gradle Template
et Custom Gradle Properties Template
.

Définir le niveau d'API cible sur 34
Dans le menu principal, ouvrez Edit > Project Settings > Player > Android > Other Settings (Modifier > Paramètres du projet > Lecteur > Android > Autres paramètres), puis définissez le niveau d'API cible sur niveau d'API 34 ou supérieur.

Exporter vers Android Studio
Modifiez les paramètres de compilation Android en sélectionnant File (ou Unity Editor sur MacOS) > Build Settings (Fichier (ou Unity Editor sur MacOS) > Paramètres de compilation), puis cochez la case "Export Project" (Exporter le projet) :

Si vous recevez un avertissement indiquant que le niveau d'API 34 de la plate-forme Android SDK est manquant, sélectionnez l'option Mettre à jour Android SDK.
Ouvrir Android Studio
Cette section contient les étapes à effectuer dans Android Studio.
Mettre à jour la configuration JDK de Gradle
Ouvrez les paramètres Gradle en accédant à File (ou Android Studio sous macOS) > Settings > Build > Execution > Deployment > Build Tools > Gradle. Localisez le menu déroulant Gradle JDK et définissez le JDK Gradle pour qu'il utilise JDK 17 ou une version ultérieure.

Si vous n'avez pas installé JDK 17, sélectionnez les options Download JDK (Télécharger JDK) dans la barre de menu Gradle JDK et téléchargez une version compatible. Nous vous recommandons le fournisseur JetBrains Runtime avec prise en charge d'aarch64, pour correspondre à ce qu'Android Studio distribue.
Mettre à jour le fichier build.gradle au niveau du projet
Définissez la version des outils Gradle sur 8.1.1
ou une version ultérieure.
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 }
Mettre à jour /gradle/gradle-wrapper.properties
Définissez distributionUrl
pour utiliser Gradle 8.1.1 ou version ultérieure.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Mettre à jour launcher/build.gradle
- Définissez l'attribut
namespace
en utilisant la valeur de l'attributpackage
delauncher/AndroidManifest.xml
. - Définissez
sourceCompatibility
ettargetCompatibility
sur 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'
Mettre à jour settings.gradle
au niveau du projet
Définissez les sections pluginManagement
et 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" } } }
Mettre à jour unityLibrary/build.gradle
- Définissez
namespace
sur la valeur"com.unity3d.player"
. - Définissez
sourceCompatibility
ettargetCompatibility
surJavaVersion.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' }
Mettre à jour unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle
Définissez l'attribut namespace
sur la valeur "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 } }
Exécuter le projet Android
Dans Android Studio, exécutez la synchronisation Gradle, puis exécutez le projet.