คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่โดยผสานการทำงาน Facebook SDK แล้วลงบันทึกเหตุการณ์เหล่านี้
หลังจากใช้ Facebook SDK เหตุการณ์บางอย่างในแอพของคุณจะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับตัวจัดการเหตุการณ์โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์อัตโนมัติ คุณสามารถเปลี่ยนสิ่งนี้ได้ในโค้ดของแอพหรือผ่านการเปิดใช้ในส่วนเหตุการณ์ในแอพในแดชบอร์ดแอพหรือตัวจัดการเหตุการณ์ โปรดทราบว่า ในกรณีที่เกิดค่าที่ขัดแย้งกันระหว่างรายงานปัญหาและการเปิดใช้งาน AutoLogAppEventsEnabled เราจะยึดตามค่าในการเปิดใช้งาน "การลงบันทึกเหตุการณ์อัตโนมัติสำหรับ Facebook SDK" เป็นหลัก สำหรับรายละเอียดเกี่ยวกับข้อมูลที่ถูกรวบรวมและวิธีปิดใช้การลงบันทึกเหตุการณ์ในแอพอัตโนมัติ โปรดดูการลงบันทึกเหตุการณ์ในแอพอัตโนมัติ
เหตุการณ์ในแอพของคุณจะได้รับการติดตามด้วย 3 วิธี ดังนี้
เมื่อคุณใช้ Facebook SDK เหตุการณ์บางอย่างในแอพของคุณจะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับ Facebook โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์แบบอัตโนมัติ เหตุการณ์เหล่านี้จะเกี่ยวข้องกับกรณีการใช้งานทั้งหมด ไม่ว่าจะเป็นการกำหนดเป้าหมาย การวัดผล หรือการปรับให้เหมาะสม เหตุการณ์สำคัญที่ได้รับการเก็บรวบรวมโดยเป็นส่วนหนึ่งของการลงบันทึกเหตุการณ์ในแอพโดยอัตโนมัติมีอยู่ 3 อย่าง ได้แก่ การติดตั้งแอพ การเปิดใช้แอพ และการซื้อ เมื่อเปิดใช้งานการลงบันทึกแบบอัตโนมัติ ผู้ลงโฆษณาจะสามารถปิดใช้งานเหตุการณ์เหล่านี้ได้ รวมถึงเหตุการณ์อื่นๆ ภายใน Facebook เช่น เหตุการณ์อิมเพรสชั่นของการเข้าสู่ระบบ อย่างไรก็ตาม หากคุณปิดใช้งานการลงบันทึกแบบอัตโนมัติแต่ยังคงต้องการลงบันทึกเหตุการณ์ที่เฉพาะเจาะจง เช่น เหตุการณ์การติดตั้งหรือการซื้อ ให้ปรับใช้การลงบันทึกกับเหตุการณ์เหล่านี้ในแอพของคุณด้วยตนเอง
| เหตุการณ์ | รายละเอียด |
|---|---|
การติดตั้งแอพ | ครั้งแรกที่มีผู้ใช้รายใหม่เปิดใช้งานแอพของคุณหรือครั้งแรกที่แอพของคุณเริ่มทำงานบนอุปกรณ์เครื่องใดเครื่องหนึ่ง |
การเปิดใช้แอพ | เมื่อผู้ใช้เปิดใช้แอพของคุณ Facebook SDK จะเริ่มทำงานและเหตุการณ์ดังกล่าวจะได้รับการลงบันทึกไว้ อย่างไรก็ตาม หากเหตุการณ์การเปิดใช้แอพครั้งที่ 2 เกิดขึ้นภายในเวลาไม่เกิน 60 วินาทีนับจากการเปิดใช้ครั้งแรก ระบบจะไม่ลงบันทึกเหตุการณ์การเปิดใช้แอพครั้งที่ 2 นั้น สำหรับ Facebook SDK สำหรับ Android เวอร์ชั่น 4.18 และก่อนหน้านั้น การเริ่มต้นใช้งาน SDK จะเป็นกระบวนการแบบดำเนินการด้วยตนเอง ซึ่งต่างจากกระบวนการลงบันทึกเหตุการณ์ด้วยตนเองที่อธิบายไว้ในเอกสารนี้ โปรดอัพเกรดมาใช้ SDK เวอร์ชั่นล่าสุดหรือเลื่อนไปที่ส่วนการเริ่มต้นใช้งาน SDK เวอร์ชั่นเดิมเพื่อเพิ่มเหตุการณ์ด้วยตนเอง |
การซื้อในแอพ | ลงบันทึกโดยอัตโนมัติเมื่อ Google Play ประมวลผลการซื้อเสร็จสมบูรณ์ หากคุณใช้แพลตฟอร์มการชำระเงินอื่นๆ ให้เพิ่มโค้ดเหตุการณ์การซื้อด้วยตนเอง หากต้องการตรวจสอบยืนยันว่าเหตุการณ์การซื้อในแอพได้รับการลงบันทึกโดยอัตโนมัติ ให้ไปที่ พื้นฐาน > การตั้งค่าการ์ด Android ในแดชบอร์ดของแอพ SDK สำหรับ Android รองรับคลัง Google Play Billing เวอร์ชั่น 2 ถึงเวอร์ชั่น 7 แล้วในขณะนี้ หมายเหตุ: หากคุณต้องการใช้การซื้อในแอพเพื่อวัดผลคอนเวอร์ชั่นของโฆษณาแบบไดนามิก โปรดตั้งค่า ID สินค้าบน Apple App Store หรือ Google Play Store ให้เทียบเท่ากับ ID สินค้าที่ใช้ในโฆษณาแบบไดนามิกที่เกี่ยวข้อง |
โปรแกรมสมาชิกในแอพและการเริ่มทดลองใช้ | ลงบันทึกโดยอัตโนมัติเมื่อมีการซื้อโปรแกรมสมาชิก (หรือเริ่มกิจกรรมการทดลองใช้) ที่ดำเนินการโดย Google Play รองรับการลงบันทึกของโปรแกรมสมาชิกในแอพ/เริ่มการทดลองใช้สำหรับคลัง Google Play Billing เวอร์ชั่น 5 ถึงเวอร์ชั่น 7 หากต้องการเปิดใช้งานฟีเจอร์นี้ คุณต้องเปิดใช้งานการซื้อในแอพ (ด้านบน) และทำตามคำแนะนำเหล่านี้ |
รายงานข้อขัดข้องสำหรับ Facebook SDK (สำหรับการใช้งานใน Facebook เท่านั้น) | หากแอพของคุณเกิดข้อขัดข้องเนื่องจาก Facebook SDK ระบบจะสร้างรายงานข้อขัดข้องขึ้นมาและส่งไปยัง Facebook เมื่อมีการเปิดแอพของคุณขึ้นมาใหม่ รายงานนี้จะไม่มีข้อมูลผู้ใช้ และช่วยให้ Facebook สามารถรับรองได้ถึงคุณภาพและความเสถียรของ SDK หากต้องการเลือกไม่ใช้การลงบันทึกเหตุการณ์นี้ ให้ปิดใช้งานเหตุการณ์ที่ลงบันทึกโดยอัตโนมัติ |
รายงาน ANR สำหรับ Facebook SDK (สำหรับการใช้งานใน Facebook เท่านั้น) | หากแอพของคุณเกิด ANR (แอพพลิเคชั่นไม่ตอบสนอง) เนื่องจาก Facebook SDK ระบบจะสร้างรายงาน ANR ขึ้นมาและส่งไปยัง Facebook เมื่อมีการเปิดแอพของคุณขึ้นมาใหม่ รายงานนี้จะไม่มีข้อมูลผู้ใช้ และช่วยให้ Facebook สามารถรับรองได้ถึงคุณภาพและความเสถียรของ SDK หากต้องการเลือกไม่ใช้การลงบันทึกเหตุการณ์นี้ ให้ปิดใช้งานเหตุการณ์ที่ลงบันทึกโดยอัตโนมัติ |
หากต้องการปิดใช้งานเหตุการณ์ที่ลงบันทึกโดยอัตโนมัติ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ AndroidManifest.xml ของคุณ
<application>
...
<meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
android:value="false"/>
...
</application>ในบางกรณี คุณอาจต้องการทำให้การเก็บรวบรวมเหตุการณ์ที่ลงบันทึกโดยอัตโนมัติล่าช้าลง เช่น เพื่อขอการยินยอมจากผู้ใช้หรือดำเนินการตามข้อผูกพันทางกฎหมาย แทนที่จะปิดใช้งาน ในกรณีนี้ ให้เรียกใช้เมธอด setAutoLogAppEventsEnabled() ของคลาส FacebookSDK และตั้งค่าเป็น true เพื่อเปิดใช้งานการลงบันทึกเหตุการณ์อีกครั้งหลังจากผู้ใช้ปลายทางให้การยินยอมแล้ว
setAutoLogAppEventsEnabled(true);
ในการระงับการลงบันทึกอีกครั้งไม่ว่าจะด้วยเหตุผลใดๆ ให้ตั้งค่าเมธอด setAutoLogAppEventsEnabled() เป็น false
setAutoLogAppEventsEnabled(false);
คุณสามารถปิดใช้งานการลงบันทึกเหตุการณ์การซื้อในแอพแบบอัตโนมัติโดยใช้แดชบอร์ดของแอพได้อีกด้วย ให้ไปที่การ์ด Android ในส่วน “พื้นฐาน” > “การตั้งค่า” และสลับสวิตช์เป็นไม่
หากต้องการปิดใช้งานการเริ่มต้นใช้งาน SDK แบบอัตโนมัติ ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ AndroidManifest.xml ของคุณ
<application>
...
<meta-data android:name="com.facebook.sdk.AutoInitEnabled"
android:value="false"/>
...
</application>ในบางกรณี คุณอาจต้องการทำให้การเริ่มต้นใช้งาน SDK ล่าช้าลง เช่น เพื่อขอการยินยอมจากผู้ใช้หรือดำเนินการตามข้อผูกพันทางกฎหมาย แทนที่จะปิดใช้งาน ในกรณีนี้ ให้เรียกใช้เมธอดคลาส setAutoInitEnabled และตั้งค่าเป็น true เพื่อเริ่มต้นใช้งาน SDK ด้วยตนเองหลังจากผู้ใช้ปลายทางให้การยินยอมแล้ว
FacebookSdk.setAutoInitEnabled(true) FacebookSdk.fullyInitialize()
หากต้องการปิดใช้งานการเก็บรวบรวม advertiser-id ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ AndroidManifest.xml ของคุณ
<application>
...
<meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
android:value="false"/>
...
</application>ในบางกรณี คุณอาจต้องการทำให้การเก็บรวบรวม advertiser_id ล่าช้าลง เช่น เพื่อขอการยินยอมจากผู้ใช้หรือดำเนินการตามข้อผูกพันทางกฎหมาย แทนที่จะปิดใช้งาน ในกรณีนี้ ให้เรียกใช้เมธอด setAdvertiserIDCollectionEnabled() ของคลาส FacebookSDK และตั้งค่าเป็น true เพื่อเปิดใช้งานการเก็บรวบรวม advertiser_id อีกครั้งหลังจากผู้ใช้ปลายทางให้การยินยอมแล้ว
setAdvertiserIDCollectionEnabled(true);
ในการระงับการเก็บบันทึกไม่ว่าจะด้วยเหตุผลใดๆ ให้ตั้งค่าเมธอด setAdvertiserIDCollectionEnabled() เป็น false
setAdvertiserIDCollectionEnabled(false);
สร้างอ็อบเจ็กต์ AppEventsLogger โดยใช้เมธอดตัวช่วยเพื่อลงบันทึกเหตุการณ์ของคุณ โดยที่ this จะเป็น Activity ที่มีเมธอดของคุณอยู่
AppEventsLogger logger = AppEventsLogger.newLogger(this);
จากนั้น คุณสามารถลงบันทึกเหตุการณ์ไปยัง logger ได้ โดยที่ AppEventConstants.EVENT_NAME_X จะเป็นค่าคงที่ค่าใดค่าหนึ่งที่แสดงอยู่ในตารางเหตุการณ์มาตรฐาน หรือเป็นค่าคงที่จากโค้ดของตัวสร้างโค้ด
logger.logEvent(AppEventsConstants.EVENT_NAME_X);
นอกจากนี้ คุณสามารถกำหนดชุดพารามิเตอร์ใน Bundle และคุณสมบัติ valueToSum ได้ ซึ่งเป็นตัวเลขแบบกำหนดเองที่สามารถแสดงถึงค่าใดๆ ก็ได้ เช่น ราคาหรือจำนวน ทั้งนี้ ระบบจะรวมค่าของคุณสมบัติ valueToSum ทั้งหมดเข้าด้วยกันเมื่อมีการรายงาน ตัวอย่างเช่น หากผู้ใช้ 10 รายซื้อสินค้า 1 รายการ และสินค้าแต่ละชิ้นมีราคา $10 (และส่งไว้ใน valueToSum) ระบบจะรวมค่าทั้งหมดเข้าด้วยกันแล้วรายงานออกมาเป็น $100
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]");
logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE,
54.23,
params);
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");
logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART,
54.23,
params);หากต้องการลงบันทึกเหตุการณ์ที่กำหนดเอง เพียงส่งชื่อของเหตุการณ์นั้นในรูปแบบสตริง ฟังก์ชั่นนี้จะถือว่าตัวลงบันทึกเป็นอินสแตนซ์ของ AppEventsLogger และได้รับการสร้างขึ้นโดยการเรียกใช้ AppEventsLogger.newLogger()
public void logBattleTheMonsterEvent () {
logger.logEvent("BattleTheMonster");
}คุณสามารถลงบันทึกแต่ละเหตุการณ์ได้ด้วย valueToSum และ 1 ชุดมีพารามิเตอร์ได้สูงสุด 25 รายการ พารามิเตอร์เหล่านี้จะได้รับการส่งผ่านทาง Bundle โดยที่คีย์จะมีชื่อพารามิเตอร์และค่าในรูปแบบ String หรือ int หากคุณระบุค่าประเภทอื่นที่ไม่เป็นไปตามข้อกำหนด เช่น boolean ในกรณีนี้ SDK จะลงบันทึกคำเตือนไปยัง LogginBehavior.APP_EVENT
โปรดดูพารามิเตอร์ที่มักใช้ร่วมกับเหตุการณ์มาตรฐานที่คู่มืออ้างอิงเกี่ยวกับพารามิเตอร์สำหรับเหตุการณ์มาตรฐาน พารามิเตอร์เหล่านี้มีวัตถุประสงค์เพื่อให้ใช้เป็นแนวทาง แต่คุณสามารถระบุพารามิเตอร์ของคุณเองได้เช่นกัน
หากคุณต้องการใช้เหตุการณ์ในแอพเพื่อวัดผลคอนเวอร์ชั่นของโฆษณาแบบไดนามิก โปรดตั้งค่าพารามิเตอร์ fb_content_id เป็นค่าของ ID สินค้าที่ใช้ในโฆษณาแบบไดนามิกที่เกี่ยวข้อง
อย่าใช้ "event" เป็นชื่อพารามิเตอร์ ระบบจะไม่ลงบันทึกพารามิเตอร์ที่กำหนดเองซึ่งใช้ชื่อว่า “event” ให้ใช้ชื่ออื่นแทนหรือเพิ่มคำขึ้นต้นหรือคำลงท้ายให้กับชื่อนั้น เช่น my_custom_event
ตัวช่วยเหลือในการลงโฆษณาแอพช่วยให้คุณสามารถทดสอบเหตุการณ์ในแอพภายในแอพของคุณได้ เพื่อให้แน่ใจว่าแอพของคุณจะส่งเหตุการณ์ไปยัง Facebook
เปิดใช้งานบันทึกการแก้ไขจุดบกพร่องเพื่อตรวจสอบยืนยันการใช้เหตุการณ์ในแอพจากฝั่งไคลเอ็นต์ บันทึกการแก้ไขจุดบกพร่องจะมีคำขออย่างละเอียดและการตอบกลับแบบ JSON เปิดใช้งานบันทึกการแก้ไขจุดบกพร่องโดยการเพิ่มโค้ดต่อไปนี้หลังจากที่ Facebook SDK สำหรับ Android เริ่มทำงานแล้ว
FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);
การดำเนินการนี้มีวัตถุประสงค์เพื่อแก้ไขจุดบกพร่องเท่านั้น โปรดปิดใช้งานบันทึกการแก้ไขจุดบกพร่องก่อนจะเปิดให้แอพของคุณใช้งานได้แบบสาธารณะ
โปรดดูข้อมูลเพิ่มเติมและคำแนะนำที่เป็นประโยชน์เกี่ยวกับเหตุการณ์ในแอพที่เอกสารต่อไปนี้
เราได้สร้างตัวอย่างแอพประเภทต่างๆ ขึ้นมาบางส่วน เพื่อแสดงให้เห็นว่าคุณสามารถใช้เหตุการณ์ในแอพได้อย่างไรบ้าง แอพตัวอย่างแต่ละแอพจะให้ข้อมูลแยกย่อยของเหตุการณ์ต่างๆ โดยแบ่งเป็นทีละหน้าจอ พร้อมแสดงตัวอย่างโค้ด คุณจำเป็นต้องทราบว่าตัวอย่างเหล่านี้เป็นจุดเริ่มต้นสำหรับแอพของคุณ และคุณควรปรับตัวอย่างดังกล่าวให้เข้ากับการใช้งานของคุณ