ตั้งค่า GMA Next-Gen SDK

การผสานรวม GMA Next-Gen SDK เข้ากับแอปเป็นขั้นตอนแรกในการแสดงโฆษณา และสร้างรายได้ เมื่อผสานรวม SDK แล้ว คุณสามารถเลือกรูปแบบโฆษณา (เช่น เนทีฟหรือวิดีโอที่มีการให้รางวัล) และทำตามขั้นตอนเพื่อนำไปใช้

ก่อนเริ่มต้น

ทำตามขั้นตอนในส่วนต่อไปนี้เพื่อเตรียมแอป

ข้อกำหนดเบื้องต้นของแอป

  • ตรวจสอบว่าไฟล์ Build ของแอปใช้ค่าต่อไปนี้

    • SDK เวอร์ชันต่ำสุด 24 ขึ้นไป
    • SDK เวอร์ชันที่คอมไพล์ 35 ขึ้นไป
  • สำหรับแอป Kotlin ให้ใช้ Kotlin เวอร์ชันต่ำสุด 1.9

ตั้งค่าแอปในบัญชี AdMob

ลงทะเบียนแอปเป็นแอป AdMob โดยทำตามขั้นตอนต่อไปนี้

  1. ลงชื่อเข้าใช้หรือลงชื่อสมัครใช้ บัญชี AdMob

  2. ลงทะเบียนแอปกับ AdMob ขั้นตอนนี้จะสร้างแอป AdMob ที่มีรหัสแอป AdMob ที่ไม่ซ้ำกัน ซึ่งจำเป็นต้องใช้ในภายหลังใน คู่มือนี้

กำหนดค่าแอป

  1. ในไฟล์การตั้งค่า 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'
  2. เพิ่มทรัพยากร 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'
    }
  3. คลิก 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 มีโฆษณาหลากหลายรูปแบบให้คุณเลือกรูปแบบที่เหมาะกับประสบการณ์ของผู้ใช้ในแอปมากที่สุด

หน่วยโฆษณาแบนเนอร์จะแสดงโฆษณาทรงสี่เหลี่ยมผืนผ้าซึ่งจะอยู่ในพื้นที่ส่วนหนึ่งของการจัดวางแอป หน่วยโฆษณานี้จะรีเฟรชโดยอัตโนมัติหลังจากช่วงเวลาที่ตั้งไว้ ซึ่งหมายความว่าผู้ใช้จะเห็นโฆษณาใหม่อยู่เรื่อยๆ แม้ว่าจะดูหน้าจอเดิมในแอปก็ตาม และยังเป็นรูปแบบโฆษณาที่นำไปใช้งานได้ง่ายที่สุดอีกด้วย

นำโฆษณาแบนเนอร์ไปใช้

โฆษณาคั่นระหว่างหน้า

หน่วยโฆษณาคั่นระหว่างหน้าจะแสดงโฆษณาแบบเต็มหน้าในแอป คุณควรวางหน่วยโฆษณาประเภทนี้ที่จุดพักและจุดเปลี่ยนแปลงตามปกติในอินเทอร์เฟซของแอป เช่น หลังจากเล่นเกมผ่านด่าน

นำโฆษณาคั่นระหว่างหน้าไปใช้

เนทีฟ

โฆษณาเนทีฟคือโฆษณาที่คุณปรับแต่งวิธีแสดงชิ้นงาน เช่น บรรทัดแรกและคำกระตุ้นให้ดำเนินการในแอปได้ การจัดรูปแบบโฆษณาด้วยตนเองจะช่วยให้คุณสร้างโฆษณาที่แสดงได้อย่างเป็นธรรมชาติและไม่รบกวนการใช้งาน ซึ่งจะช่วยเสริมประสบการณ์ของผู้ใช้ให้ดียิ่งขึ้น

นำโฆษณาเนทีฟไปใช้

ได้รับรางวัลแล้ว

หน่วยโฆษณาที่มีการให้รางวัลช่วยให้ผู้ใช้เล่นเกม ทำแบบสำรวจ หรือดูวิดีโอเพื่อรับรางวัลในแอปได้ เช่น เหรียญ จำนวนชีวิตเพิ่มเติม หรือคะแนน คุณสามารถกำหนดรางวัลให้หน่วยโฆษณาแต่ละหน่วยแตกต่างกันไป และระบุมูลค่าของรางวัลและไอเท็มที่ผู้ใช้จะได้รับ

นำโฆษณาที่มีการให้รางวัลไปใช้

โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล

โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลเป็นรูปแบบโฆษณาที่เสนอสิ่งจูงใจประเภทใหม่ที่ช่วยให้คุณนำเสนอรางวัลได้ เช่น เหรียญหรือไอเท็มเพิ่มชีวิต สําหรับโฆษณาที่ปรากฏโดยอัตโนมัติระหว่างจุดเปลี่ยนหน้าตามปกติของแอป

ผู้ใช้ไม่จําเป็นต้องเลือกดูโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัล ซึ่งต่างจากโฆษณาที่มีการให้รางวัล

โฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลต้องใช้หน้าจอแนะนําเพื่อประกาศรางวัล และเปิดโอกาสให้ผู้ใช้เลือกที่จะไม่รับได้ตามที่ต้องการ แทนการส่งข้อความแจ้งให้เลือกรับในโฆษณาที่มีการให้รางวัล

นำโฆษณาคั่นระหว่างหน้าที่มีการให้รางวัลไปใช้

โฆษณาเปิดแอป

โฆษณาเปิดแอปเป็นรูปแบบโฆษณาที่ปรากฏเมื่อผู้ใช้เปิดหรือเปลี่ยนกลับไปที่แอปของคุณ โดยโฆษณาจะซ้อนทับหน้าจอการโหลด

นำโฆษณาเปิดแอปไปใช้