การผสานรวม GMA Next-Gen SDK เข้ากับแอปเป็นขั้นตอนแรกสู่การแสดงโฆษณา และสร้างรายได้ เมื่อผสานรวม SDK แล้ว คุณสามารถเลือกรูปแบบโฆษณา (เช่น โฆษณาเนทีฟหรือโฆษณาวิดีโอที่มีการให้รางวัล) และทำตามขั้นตอนเพื่อนำไปใช้
ก่อนเริ่มต้น
ทำตามขั้นตอนในส่วนต่อไปนี้เพื่อเตรียมแอป
ข้อกำหนดเบื้องต้นของแอป
ตรวจสอบว่าไฟล์ Build ของแอปใช้ค่าต่อไปนี้
- SDK เวอร์ชันต่ำสุด
24ขึ้นไป - SDK เวอร์ชันที่คอมไพล์
35ขึ้นไป
- SDK เวอร์ชันต่ำสุด
- สำหรับแอป Kotlin ให้ใช้ Kotlin เวอร์ชันต่ำสุด 1.9
ตั้งค่าแอปในบัญชี AdMob
ลงทะเบียนแอปเป็นแอป AdMob โดยทำตามขั้นตอนต่อไปนี้
ลงทะเบียนแอปกับ AdMob ขั้นตอนนี้จะสร้างแอป AdMob ที่มีรหัสแอป AdMob ที่ไม่ซ้ำกัน ซึ่งจำเป็นต้องใช้ในภายหลังใน คู่มือนี้
กำหนดค่าแอป
ในไฟล์การตั้งค่า Gradle ให้ใส่ ที่เก็บ Maven ของ Google และ ที่เก็บ Maven Central ดังนี้
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include(":app")
Groovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app'
เพิ่มทรัพยากร Dependency สำหรับ GMA Next-Gen SDK ลงในไฟล์ Build ระดับแอป ดังนี้
Kotlin
dependencies { implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1") }
Groovy
dependencies { implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1' }
คลิก Sync Now ดูรายละเอียดเกี่ยวกับการซิงค์ได้ที่ ซิงค์โปรเจ็กต์กับไฟล์ Gradle
เริ่มต้น GMA Next-Gen SDK
เรียก
MobileAds.initialize()
เพื่อเริ่มต้น GMA Next-Gen SDK คุณต้องเรียกใช้เมธอดนี้ในเธรดเบื้องหลัง หากไม่ทำเช่นนั้นอาจทำให้เกิดข้อผิดพลาด "แอปพลิเคชันไม่ตอบสนอง" (ANR)
Kotlin
import com.google.android.libraries.ads.mobile.sdk.MobileAds import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val backgroundScope = CoroutineScope(Dispatchers.IO) backgroundScope.launch { // Initialize GMA Next-Gen SDK on a background thread. MobileAds.initialize( this@MainActivity, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } }
Java
import com.google.android.libraries.ads.mobile.sdk.MobileAds; import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread( () -> { // Initialize GMA Next-Gen SDK on a background thread. MobileAds.initialize( this, // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } }
เมธอดนี้จะเริ่มต้น SDK และเรียกใช้ Listener การดำเนินการให้เสร็จสมบูรณ์เมื่อการเริ่มต้นทั้ง GMA Next-Gen SDK และอะแดปเตอร์เสร็จสมบูรณ์ หรือหลังจากหมดเวลา 30 วินาที คุณต้องทำขั้นตอนนี้เพียงครั้งเดียว โดยควรทำเมื่อเปิดแอป
หากใช้การทําสื่อกลางของ AdMob ให้รอจนกว่าจะมีการเรียกใช้ Handler การดำเนินการให้เสร็จสมบูรณ์ก่อนที่จะโหลดโฆษณา ซึ่งจะช่วยให้มั่นใจได้ว่าอะแดปเตอร์การทําสื่อกลางทั้งหมดได้รับการเริ่มต้นแล้ว
GMA Next-Gen SDK หรือ SDK ของพาร์ทเนอร์การทําสื่อกลางGMA Next-Gen SDKอาจโหลดโฆษณาไว้ล่วงหน้า
เมื่อเริ่มต้น หากคุณต้องขอความยินยอมจากผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) ให้ตั้งค่าธงคำขอเฉพาะ เช่น
RequestConfiguration.TagForChildDirectedTreatment
หรือ
RequestConfiguration.TagForUnderAgeOfConsent,
หรือ
ดำเนินการอื่นๆ ก่อนโหลดโฆษณา โปรดตรวจสอบว่าได้ดำเนินการดังกล่าวแล้วก่อนที่จะเริ่มต้น
GMA Next-Gen SDK
เลือกรูปแบบโฆษณา
GMA Next-Gen SDK นำเข้าแล้ว และพร้อมที่จะนำโฆษณาไปใช้ AdMob มีโฆษณาหลากหลายรูปแบบให้คุณเลือกรูปแบบที่เหมาะกับประสบการณ์ของผู้ใช้ในแอปมากที่สุด
แบนเนอร์
หน่วยโฆษณาแบนเนอร์จะแสดงโฆษณาทรงสี่เหลี่ยมผืนผ้าซึ่งจะอยู่ในพื้นที่ส่วนหนึ่งของการจัดวางแอป หน่วยโฆษณานี้จะรีเฟรชโดยอัตโนมัติหลังจากช่วงเวลาที่ตั้งไว้ ซึ่งหมายความว่าผู้ใช้จะเห็นโฆษณาใหม่อยู่เรื่อยๆ แม้ว่าจะดูหน้าจอเดิมในแอปก็ตาม และยังเป็นรูปแบบโฆษณาที่นำไปใช้งานได้ง่ายที่สุดอีกด้วย
โฆษณาคั่นระหว่างหน้า
หน่วยโฆษณาคั่นระหว่างหน้าจะแสดงโฆษณาแบบเต็มหน้าในแอป วางหน่วยโฆษณาประเภทนี้ที่จุดพักและจุดเปลี่ยนแปลงตามธรรมชาติในอินเทอร์เฟซของแอป เช่น หลังจากเล่นเกมผ่านด่านในแอปเกม
เนทีฟ
โฆษณาเนทีฟคือโฆษณาที่คุณปรับแต่งวิธีแสดงชิ้นงาน เช่น บรรทัดแรกและคำกระตุ้นให้ดำเนินการในแอปได้ การจัดรูปแบบโฆษณาด้วยตนเองจะช่วยให้คุณสร้างโฆษณาที่แสดงได้อย่างเป็นธรรมชาติและไม่รบกวนการใช้งาน ซึ่งจะช่วยเสริมประสบการณ์ของผู้ใช้ให้ดียิ่งขึ้น
ได้รับรางวัลแล้ว
หน่วยโฆษณาที่มีการให้รางวัลช่วยให้ผู้ใช้เล่นเกม ทำแบบสำรวจ หรือดูวิดีโอเพื่อรับรางวัลในแอปได้ เช่น เหรียญ จำนวนชีวิตเพิ่มเติม หรือคะแนน คุณสามารถกำหนดรางวัลให้หน่วยโฆษณาแต่ละหน่วยแตกต่างกันไป และระบุมูลค่าของรางวัลและไอเท็มที่ผู้ใช้จะได้รับ
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลเป็นรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทใหม่ที่ช่วยให้คุณนำเสนอรางวัลได้ เช่น เหรียญหรือไอเท็มเพิ่มชีวิต สําหรับโฆษณาที่ปรากฏโดยอัตโนมัติระหว่างจุดเปลี่ยนหน้าตามปกติของแอป
ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล
โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลต้องใช้หน้าจอแนะนําเพื่อประกาศรางวัล และเปิดโอกาสให้ผู้ใช้เลือกที่จะไม่รับได้ตามที่ต้องการ แทนการส่งข้อความแจ้งให้เลือกรับในโฆษณาที่มีการให้รางวัล
นำโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลไปใช้
โฆษณาเปิดแอป
โฆษณาเปิดแอปเป็นรูปแบบโฆษณาที่ปรากฏเมื่อผู้ใช้เปิดหรือเปลี่ยนกลับไปที่แอปของคุณ โดยโฆษณาจะซ้อนทับหน้าจอการโหลด