เครื่องมือแก้ไขของ Unity มีการล็อกเวอร์ชันไว้กับ Gradle เวอร์ชันหนึ่งๆ Unity Editor เวอร์ชันเก่าใช้ Gradle เวอร์ชันเก่าซึ่งใช้ร่วมกับ Google Mobile Ads เวอร์ชันล่าสุดไม่ได้
ตารางต่อไปนี้แสดงเวอร์ชันปลั๊กอิน Google Mobile Ads ที่เข้ากันได้สูงสุดที่จะใช้ตาม Unity Editor
Unity Editor | เวอร์ชันปลั๊กอิน Unity ของ Google Mobile Ads |
---|---|
2023.1 ขึ้นไป | ล่าสุด |
2021.3.41f1 - 2022.3 | 9.1.0 |
2021.3.37f1 หรือเก่ากว่า | 8.5.3 |
คุณสามารถอัปเดต Gradle ด้วยตนเองเพื่อใช้ปลั๊กอิน Google Mobile Ads Unity เวอร์ชันล่าสุด รวมถึง Unity Editor เวอร์ชันเก่า หากต้องการสร้าง Android ให้เลือกเวอร์ชัน Unity Editor ที่ต้องการ
ข้อกำหนดเบื้องต้น
โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้ก่อนที่จะดำเนินการต่อ
- ไม่บังคับ: ดูรายละเอียดการสร้างสำหรับ Android ได้ที่เวอร์ชัน Java ในบิลด์ Android
เปิดใช้เทมเพลต Gradle ที่กําหนดเอง
ไปที่การตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าการเผยแพร่ > บิลด์ และเปิดใช้ Custom Main Gradle Template
และ Custom Gradle Properties Template

ตั้งค่าระดับ API เป้าหมายเป็น 34
จากเมนูหลัก ให้เปิดแก้ไข > การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > Android > การตั้งค่าอื่นๆ แล้วตั้งค่าระดับ API เป้าหมายเป็นระดับ API 34 ขึ้นไป

เรียกใช้โปรเจ็กต์ Android
จาก Android Studio ให้เรียกใช้การซิงค์ Gradle และเรียกใช้โปรเจ็กต์
ข้อกำหนดเบื้องต้น
โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้ก่อนที่จะดำเนินการต่อ
- ดาวน์โหลดและติดตั้ง Android Studio เวอร์ชันล่าสุดที่เสถียร
- ไม่บังคับ: ดูรายละเอียดการสร้างสำหรับ Android ได้ที่เวอร์ชัน Java ในบิลด์ Android
เปิดใช้เทมเพลต Gradle ที่กําหนดเอง
ไปที่การตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าการเผยแพร่ > บิลด์ และเปิดใช้ Custom Main Gradle Template
และ Custom Gradle Properties Template

ตั้งค่าระดับ API เป้าหมายเป็น 34
จากเมนูหลัก ให้เปิดแก้ไข > การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > Android > การตั้งค่าอื่นๆ แล้วตั้งค่าระดับ API เป้าหมายเป็นระดับ API 34 ขึ้นไป

ส่งออกไปยัง Android Studio
แก้ไขการตั้งค่าบิลด์ Android โดยเลือกไฟล์ (หรือ Unity Editor ใน MacOS) > การตั้งค่าบิลด์ แล้วเลือก "ส่งออกโปรเจ็กต์"

เปิด Android Studio
ส่วนนี้มีขั้นตอนที่ดำเนินการภายใน Android Studio
อัปเดตการกำหนดค่า JDK ของ Gradle
เปิดการตั้งค่า Gradle จากไฟล์ (หรือ Android Studio ใน MacOS) > การตั้งค่า > บิลด์ > การดำเนินการ > การปรับใช้งาน > เครื่องมือสร้าง > Gradle ค้นหาเมนูแบบเลื่อนลง Gradle JDK และตั้งค่า Gradle JDK ให้ใช้ JDK 17 ขึ้นไป

หากยังไม่ได้ติดตั้ง JDK 17 ให้เลือกตัวเลือกดาวน์โหลด JDK จากแถบเมนู Gradle JDK แล้วดาวน์โหลดเวอร์ชันที่เข้ากันได้ เราขอแนะนำให้ใช้ผู้ให้บริการรันไทม์ JetBrains ที่รองรับ aarch64 เพื่อให้ตรงกับสิ่งที่ Android Studio เผยแพร่
อัปเดต 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
เรียกใช้โปรเจ็กต์ Android
จาก Android Studio ให้เรียกใช้การซิงค์ Gradle และเรียกใช้โปรเจ็กต์
ข้อกำหนดเบื้องต้น
โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้ก่อนที่จะดำเนินการต่อ
- ดาวน์โหลดและติดตั้ง Android Studio เวอร์ชันล่าสุดที่เสถียร
- ไม่บังคับ: ดูรายละเอียดการสร้างสำหรับ Android ได้ที่เวอร์ชัน Java ในบิลด์ Android
เปิดใช้เทมเพลต Gradle ที่กําหนดเอง
ไปที่การตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าการเผยแพร่ > บิลด์ และเปิดใช้ Custom Main Gradle Template
และ Custom Gradle Properties Template

ตั้งค่าระดับ API เป้าหมายเป็น 34
จากเมนูหลัก ให้เปิดแก้ไข > การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > Android > การตั้งค่าอื่นๆ แล้วตั้งค่าระดับ API เป้าหมายเป็นระดับ API 34 ขึ้นไป

ส่งออกไปยัง Android Studio
แก้ไขการตั้งค่าบิลด์ Android โดยเลือกไฟล์ (หรือ Unity Editor ใน MacOS) > การตั้งค่าบิลด์ แล้วเลือก "ส่งออกโปรเจ็กต์"

หากคุณได้รับคำเตือนว่าไม่มี API แพลตฟอร์ม Android SDK ระดับ 34 ให้เลือกตัวเลือก "อัปเดต Android SDK"
เปิด Android Studio
ส่วนนี้มีขั้นตอนที่ดำเนินการภายใน Android Studio
อัปเดตการกำหนดค่า JDK ของ Gradle
เปิดการตั้งค่า Gradle จากไฟล์ (หรือ Android Studio ใน MacOS) > การตั้งค่า > บิลด์ > การดำเนินการ > การปรับใช้งาน > เครื่องมือสร้าง > Gradle ค้นหาเมนูแบบเลื่อนลง Gradle JDK และตั้งค่า Gradle JDK ให้ใช้ JDK 17 ขึ้นไป

หากยังไม่ได้ติดตั้ง JDK 17 ให้เลือกตัวเลือกดาวน์โหลด JDK จากแถบเมนู Gradle JDK แล้วดาวน์โหลดเวอร์ชันที่เข้ากันได้ เราขอแนะนำให้ใช้ผู้ให้บริการรันไทม์ JetBrains ที่รองรับ aarch64 เพื่อให้ตรงกับสิ่งที่ Android Studio เผยแพร่
อัปเดต 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
- ตั้งค่าแอตทริบิวต์
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
ระดับโปรเจ็กต์
ตั้งค่าส่วน 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: ['.jar'])
implementation fileTree(dir: 'libs', include: ['.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 และเรียกใช้โปรเจ็กต์