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

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

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

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

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

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

    • SDK เวอร์ชันขั้นต่ำเป็น 24 ขึ้นไป
    • คอมไพล์ SDK เวอร์ชัน 35 ขึ้นไป
  • สำหรับแอป Kotlin ให้ใช้ Kotlin เวอร์ชัน 1.9 เป็นอย่างน้อย

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

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

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

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

กำหนดค่าแอป

  1. ในไฟล์การตั้งค่า Gradle ให้ใส่ที่เก็บ Maven ของ Google และที่เก็บส่วนกลางของ Maven ดังนี้

    Kotlin

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include(":app")

    ดึงดูด

    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 ลงในไฟล์บิลด์ระดับแอป โดยทำดังนี้

    Kotlin

    dependencies {
      implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0")
    }

    ดึงดูด

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.6.0'
    }
  3. คลิกซิงค์เลย ดูรายละเอียดเกี่ยวกับการซิงค์ได้ที่ซิงค์โปรเจ็กต์กับไฟล์ 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 ให้รอจนกว่าจะมีการเรียกใช้ตัวแฮนเดิลการดำเนินการเสร็จสมบูรณ์ก่อนที่จะโหลดโฆษณา ซึ่งจะช่วยให้มั่นใจได้ว่าอะแดปเตอร์สื่อกลางทั้งหมดได้รับการเริ่มต้นแล้ว

GMA Next-Gen SDK หรือ SDK ของพาร์ทเนอร์สื่อกลางอาจโหลดโฆษณาล่วงหน้าเมื่อเริ่มต้นใช้งาน หากคุณต้องการขอความยินยอมจากผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA), สหราชอาณาจักร (UK) หรือสวิตเซอร์แลนด์ ให้ตั้งค่าแฟล็กเฉพาะคำขอ เช่น RequestConfiguration.TagForChildDirectedTreatment หรือ RequestConfiguration.TagForUnderAgeOfConsent หรือดำเนินการก่อนโหลดโฆษณา โดยตรวจสอบว่าคุณได้ดำเนินการก่อนเริ่มต้น GMA Next-Gen SDK

เลือกรูปแบบโฆษณา

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

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

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

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

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

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

เนทีฟ

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

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

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

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

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

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

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

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

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

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

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

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

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

การแสดงภาพซ้อนภาพ (เบต้า)

การแสดงภาพซ้อนภาพ

โฆษณาแบบการแสดงภาพซ้อนภาพ (PIP) จะแสดงโฆษณาในหน้าต่างแบบลอยที่อยู่ด้านบนของเนื้อหาบนหน้าจอ รูปแบบนี้ช่วยให้ผู้ใช้โต้ตอบกับแอปได้ในขณะที่โฆษณายังคงปรากฏอยู่

ใช้โฆษณาแบบภาพซ้อนภาพ