คู่มือเริ่มใช้งานฉบับย่อนี้มีไว้สำหรับผู้เผยแพร่โฆษณาและนักพัฒนาซอฟต์แวร์ที่ต้องการใช้ AdMob เพื่อสร้างรายได้จากแอปที่สร้างด้วย Firebase หากไม่มีแผนที่จะรวม Firebase ในแอป ให้ไปที่ AdMob แบบสแตนด์อโลน แนะนำแทน
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับ ประโยชน์ของการใช้ AdMob, Firebase และ Google Analytics
หากนี่เป็นครั้งแรกที่คุณศึกษาคู่มือนี้ เราขอแนะนำให้คุณ ดาวน์โหลดและทำตามไปด้วยโดยใช้การทดสอบ C++ SDK สำหรับโฆษณาในอุปกรณ์เคลื่อนที่ของ Google แอป
ก่อนเริ่มต้น
หากยังไม่มีโปรเจ็กต์ Firebase และแอป Firebase ให้ทำตาม คู่มือเริ่มต้นใช้งาน Firebase เพิ่ม Firebase ไปยังโปรเจ็กต์ C++
ตรวจสอบว่าได้เปิดใช้ Google Analytics ในโปรเจ็กต์ Firebase แล้ว ดังนี้
หากคุณกำลังสร้างโปรเจ็กต์ Firebase ใหม่ ให้เปิดใช้ Google Analytics ในระหว่างขั้นตอนการสร้างโปรเจ็กต์
หากคุณมีโปรเจ็กต์ Firebase เดิมซึ่งยังไม่มี Google Analytics เปิดใช้อยู่ คุณสามารถเปิดใช้ Google Analytics ได้จาก เวลา การผสานรวม ของ
> การตั้งค่าโปรเจ็กต์
ขั้นตอนที่ 1: ตั้งค่าแอปในบัญชี AdMob
ลงทะเบียนแอปเวอร์ชันแพลตฟอร์มแต่ละเวอร์ชันเป็นแอป AdMob
ลงชื่อเข้าใช้ หรือ ลงชื่อสมัครใช้ บัญชี AdMob
ลงทะเบียนแอปแต่ละเวอร์ชันในแพลตฟอร์มแต่ละเวอร์ชันกับ AdMob ช่วงเวลานี้ ขั้นตอนจะสร้างแอป AdMob ที่มี AdMob ที่ไม่ซ้ำกัน รหัสแอป ซึ่งคุณจะต้องใช้ภายหลังในคู่มือนี้
ระบบจะขอให้คุณเพิ่ม Mobile Ads SDK ลงในแอป ค้นหา วิธีการโดยละเอียดสำหรับงานนี้ในส่วนต่อไปของคู่มือนี้
ลิงก์แอปทั้ง AdMob แอปเข้ากับแอป Firebase ที่เกี่ยวข้อง
ขั้นตอนนี้เป็นขั้นตอนที่ไม่บังคับ แต่ขอแนะนำอย่างยิ่ง ดูข้อมูลเพิ่มเติมเกี่ยวกับ ประโยชน์ ของการเปิดใช้เมตริกผู้ใช้และการลิงก์แอป AdMob กับ Firebase
สําหรับตัวแปรแพลตฟอร์มแต่ละรายการ ให้ทํา 2 ขั้นตอนต่อไปนี้ในแอป แดชบอร์ดของบัญชี AdMob
เปิดใช้งาน เมตริกผู้ใช้ เพื่อให้ AdMob ประมวลผลและแสดงข้อมูลการวิเคราะห์ที่ได้รับการดูแลจัดการใน บัญชี AdMob ซึ่งเป็นการตั้งค่าที่จำเป็นสำหรับคุณในการลิงก์ AdMob แอปไปยัง Firebase
ลิงก์ แอป AdMob ลงในโปรเจ็กต์ Firebase ที่มีอยู่และแอป Firebase ที่เกี่ยวข้อง
ตรวจสอบว่าคุณป้อนชื่อแพ็กเกจ (Android) หรือรหัสชุดเดียวกัน (iOS) ที่คุณป้อนสำหรับแอป Firebase ค้นหาแอป Firebase ของคุณ ชื่อแพ็กเกจหรือรหัสชุดในการ์ดแอปของคุณ
การตั้งค่าโปรเจ็กต์
ขั้นตอนที่ 2: เพิ่มรหัสแอป AdMob ลงในแอป
Android
เพิ่ม
รหัสแอป AdMob
ลงในไฟล์ AndroidManifest.xml
ของแอปโดยเพิ่มแท็ก <meta-data>
เป็น
ดังที่แสดงด้านล่าง
<manifest>
<application>
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ADMOB_APP_ID"/>
</application>
</manifest>
iOS
ในไฟล์ Info.plist
ของแอป ให้เพิ่มคีย์ GADApplicationIdentifier
ที่มี
ค่าสตริงของ
AdMob รหัสแอป
คุณทำการเปลี่ยนแปลงนี้แบบเป็นโปรแกรมได้โดยทำดังนี้
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>
หรือจะแก้ไขในเครื่องมือแก้ไขรายการพร็อพเพอร์ตี้ก็ได้ ดังนี้
ขั้นตอนที่ 3: เพิ่ม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
เนื่องจาก C++ SDK ของโฆษณา Google Mobile อยู่ในเนมสเปซ firebase::gma
โปรดดาวน์โหลด Firebase C++ SDK
แล้วแตกไฟล์ลงในไดเรกทอรีที่คุณต้องการ
Firebase C++ SDK ไม่ได้เจาะจงแพลตฟอร์ม แต่จำเป็นต้องใช้ การกำหนดค่าไลบรารีเฉพาะแพลตฟอร์ม
Android
ในไฟล์
gradle.properties
ของโปรเจ็กต์ ให้ระบุตำแหน่งขององค์ประกอบ SDK ที่แยกไฟล์แล้ว:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์
settings.gradle
ของโปรเจ็กต์def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยทั่วไปจะเป็น
app/build.gradle
) ให้เพิ่ม เนื้อหาต่อไปนี้ ซึ่งรวมถึงทรัพยากร Dependency ของไลบรารีสำหรับ Google Mobile Ads SDK สำหรับ C++android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์
CMakeLists.txt
ของโปรเจ็กต์# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
ซิงค์แอปเพื่อให้ทรัพยากร Dependency ทั้งหมดมีเวอร์ชันที่จำเป็น
คุณพร้อมแล้ว แอป C++ ของคุณได้รับการกำหนดค่าให้ใช้ C++ SDK สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google
iOS
ขั้นตอนในส่วนนี้คือตัวอย่างของวิธีเพิ่ม C++ SDK โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ลงในโปรเจ็กต์ iOS
รับ CocoaPods เวอร์ชัน 1 ขึ้นไปโดยการเรียกใช้:
sudo gem install cocoapods --pre
เพิ่มพ็อด Google Mobile Ads จาก SDK ที่แตกแล้ว
สร้าง Podfile หากคุณยังไม่มี:
cd YOUR_APP_DIRECTORY
pod init
ไปที่ Podfile ให้เพิ่มพ็อดสำหรับ SDK ของ C++ โฆษณาบนอุปกรณ์เคลื่อนที่ของ Google ดังนี้
pod 'Google-Mobile-Ads-SDK'
ติดตั้งพ็อด แล้วเปิดไฟล์
.xcworkspace
ใน Xcodepod install
open YOUR_APP.xcworkspace
เพิ่มเฟรมเวิร์กต่อไปนี้จาก Firebase C++ SDK ลงในโปรเจ็กต์
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
คุณพร้อมแล้ว แอป C++ ของคุณได้รับการกำหนดค่าให้ใช้ C++ SDK สำหรับโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google
ขั้นตอนที่ 4: เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
ก่อนโหลดโฆษณา ให้เริ่มต้น SDK Mobile Ads โดยการเรียกใช้
firebase::gma::Initialize()
การเรียกนี้จะแสดงผล firebase::Future
ที่เสร็จสมบูรณ์เมื่อเริ่มการเริ่มต้น
เสร็จสิ้น (หรือหลังจากหมดเวลา 30 วินาที) เรียกใช้เมธอดนี้เพียงครั้งเดียวและในฐานะ
ให้เร็วที่สุดเท่าที่จะทำได้ โดยเฉพาะอย่างยิ่งในช่วงเปิดแอป
นี่คือตัวอย่างวิธีการโทรหา Initialize()
Android
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
ใช้ Future
เพื่อตรวจสอบสถานะความสำเร็จของการเรียกใช้เมธอด
Future
เป็นวิธีระบุสถานะเสร็จสมบูรณ์
เมธอดแบบไม่พร้อมกัน
ตัวอย่างเช่น เมื่อแอปของคุณเรียกใช้ firebase::gma::Initialize()
พารามิเตอร์
สร้างและส่งคืน firebase::Future
แล้ว จากนั้น แอปของคุณจะสามารถสำรวจ
status()
จาก Future
เพื่อระบุว่าการเริ่มต้นเสร็จสมบูรณ์เมื่อใด
เมื่อดำเนินการเสร็จแล้ว แอปสามารถเรียกใช้ result()
เพื่อรับผลลัพธ์
AdapterInitializationStatus
วิธีการที่ส่งกลับ Future
มี "ผลลัพธ์ล่าสุด" ที่สอดคล้องกัน ที่
สามารถใช้เพื่อเรียกข้อมูล Future
ล่าสุดสำหรับการดำเนินการที่ระบุได้ สำหรับ
ตัวอย่างเช่น firebase::gma::Initialize()
มีเมธอดที่เกี่ยวข้องชื่อว่า
firebase::gma::InitializeLastResult()
ซึ่งแสดงผล Future
ที่แอปของคุณ
สามารถใช้ตรวจสอบสถานะการโทรหา firebase::gma::Initialize()
ครั้งล่าสุด
หากสถานะของ Future
เสร็จสมบูรณ์และรหัสข้อผิดพลาดคือ
firebase::gma::kAdErrorCodeNone
การดำเนินการก็เสร็จสิ้นแล้ว
สำเร็จ
นอกจากนี้ คุณยังลงทะเบียน Callback ที่จะเรียกใช้เมื่อ Future
เสร็จสมบูรณ์ได้ด้วย ใน
ในบางกรณี Callback จะทำงานในเทรดอื่น ดังนั้นโปรด
โค้ดจึงปลอดภัยของชุดข้อความ ข้อมูลโค้ดนี้ใช้ตัวชี้ฟังก์ชันสำหรับ
ติดต่อกลับ:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
ขั้นตอนที่ 5: เลือกรูปแบบโฆษณาที่จะใช้ในแอป
AdMob มีรูปแบบโฆษณาต่างๆ มากมาย คุณจึงสามารถเลือกรูปแบบโฆษณา เหมาะกับประสบการณ์ของผู้ใช้แอปมากที่สุด คลิกปุ่มเพื่อดูรูปแบบโฆษณาเพื่อ ดูวิธีการติดตั้งโดยละเอียดได้ในเอกสารประกอบของ AdMob
แบนเนอร์
โฆษณาสี่เหลี่ยมผืนผ้าที่ปรากฏด้านบนหรือด้านล่างของหน้าจออุปกรณ์
โฆษณาแบนเนอร์จะแสดงบนหน้าจอขณะที่ผู้ใช้มีการโต้ตอบกับแอป และ รีเฟรชโดยอัตโนมัติ หลังจากเวลาผ่านไปช่วงหนึ่ง หากคุณเพิ่งเริ่มใช้งานอุปกรณ์เคลื่อนที่ ก็นับว่าเป็นจุดเริ่มต้นที่ดี
ใช้โฆษณาแบนเนอร์โฆษณาคั่นระหว่างหน้า
โฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปจนกว่าผู้ใช้จะปิด
โฆษณาคั่นระหว่างหน้าจะใช้ได้ดีที่สุดเมื่อมีการหยุดแอปไปตามปกติ เช่น ระหว่างการเปลี่ยนด่านเกม หรือหลังจากทำงานเสร็จ
ติดตั้งโฆษณาคั่นระหว่างหน้าให้รางวัล
โฆษณาที่ให้รางวัลผู้ใช้หลังจากดูวิดีโอสั้นๆ และมีการโต้ตอบกับฟีเจอร์เล่นเกม โฆษณาและแบบสำรวจ
โฆษณาที่มีการให้รางวัล (หรือ "ตามรางวัล") ช่วยสร้างรายได้จากผู้ใช้ที่เล่นเกมฟรี
หัวข้ออื่นๆ ที่สนใจ
ดูเมตริกผู้ใช้และข้อมูลวิเคราะห์
หลังจากเริ่มต้นแล้ว SDK Mobile Ads จะเริ่มต้นโดยอัตโนมัติ ข้อมูลวิเคราะห์การบันทึก กิจกรรมและ พร็อพเพอร์ตี้ผู้ใช้ จากแอปของคุณ คุณสามารถดูข้อมูลนี้ได้โดยไม่ต้องเพิ่มโค้ดใดๆ ลงใน หรือติดตั้งใช้งานโฆษณาใดก็ตาม คุณดูข้อมูลวิเคราะห์นี้ได้โดยทำดังนี้
ในการ์ดเมตริกผู้ใช้ของบัญชี AdMob (หน้าแรกหรือแอป แดชบอร์ด) คุณก็สามารถดูผู้ใช้ที่ได้รับการดูแลจัดการ เมตริกที่มาจาก ข้อมูลวิเคราะห์ที่รวบรวมมา เช่น ระยะเวลาเซสชันโดยเฉลี่ย ARPU และการเก็บรักษา
ใน Analytics แดชบอร์ดของ ในคอนโซล Firebase คุณจะสามารถดูสถิติรวมและ ข้อมูลสรุป เมตริกหลัก หากคุณ เพิ่ม Firebase SDK สำหรับ Google Analytics คุณสามารถ ทำเครื่องหมาย Conversion สำหรับแคมเปญโฆษณา และ สร้างกลุ่มเป้าหมายที่กำหนดเอง ในคอนโซล Firebase
โปรดทราบว่าเพื่อให้การนำเสนอได้ดียิ่งขึ้น
ARPU และ
เมตริก ARPPU
อาจต้องรวมข้อมูลจากเหตุการณ์ที่กำหนดเองของ Analytics ที่เรียกว่า
ecommerce_purchase
ในการคำนวณรายได้สำหรับเมตริกเหล่านี้
(ดูวิธีการ)
(ไม่บังคับ) ใช้ฟีเจอร์เพิ่มเติมของ Google Analytics และ Firebase
ใช้ประโยชน์จากโอกาสและฟีเจอร์อื่นๆ ที่มีมากขึ้นเพื่อปรับปรุงการสร้างรายได้จากแอป และ การมีส่วนร่วมของผู้ใช้:
เพิ่มและใช้ Firebase SDK สำหรับ Google Analytics
ใช้การบันทึกเหตุการณ์ที่กำหนดเอง ในแอปของคุณ
ทำเครื่องหมาย Conversion สำหรับโฆษณาที่กำหนดเอง แคมเปญ
รวม
ecommerce_purchase
กิจกรรม ข้อมูลในรายได้ การคำนวณสำหรับ ARPU และ เมตริก ARPPU
ดูข้อมูลเพิ่มเติมได้ในคำแนะนำสำหรับการใช้ Google Analytics และ Firebase กับ AdMob แอป
ใช้ผลิตภัณฑ์อื่นๆ ของ Firebase ในแอป
หลังจากเพิ่ม Firebase SDK สำหรับ Google Analytics แล้ว ให้ใช้ Firebase อื่นๆ เพื่อเพิ่มประสิทธิภาพโฆษณาในแอป
Remote Config ช่วยให้คุณเปลี่ยนลักษณะการทำงานได้ และรูปลักษณ์ของแอปโดยไม่ต้องเผยแพร่การอัปเดตแอปโดยไม่เสียค่าใช้จ่าย จำนวนผู้ใช้ที่ใช้งานอยู่รายวัน
A/B Testing ให้สิทธิ์คุณทดสอบการเปลี่ยนแปลง UI, ฟีเจอร์ หรือแคมเปญการมีส่วนร่วมของแอปเพื่อดูว่าแคมเปญเหล่านั้นสร้าง ผลกระทบต่อเมตริกหลัก (เช่น รายได้และการรักษาลูกค้า) ก่อนเริ่มใช้งาน เปลี่ยนแปลงไปในวงกว้าง