คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่โดยผสานการทำงาน 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 ประมวลผลการซื้อเสร็จสมบูรณ์ หากคุณใช้แพลตฟอร์มการชำระเงินอื่นๆ ให้เพิ่มโค้ดเหตุการณ์การซื้อด้วยตนเอง ระบบจะเปิดใช้งานการลงบันทึกการซื้อในแอพโดยอัตโนมัติให้กับแอพที่ได้ติดตั้งหรืออัพเกรดมาใช้เวอร์ชั่น 4.39 แล้ว ในกรณีที่เป็นแอพที่ใช้เวอร์ชั่นก่อนหน้านั้น ให้เปิดใช้งานเหตุการณ์การซื้อในแอพในพื้นฐาน > การตั้งค่าการ์ด Android ในแดชบอร์ดของแอพ หรือเพิ่มโค้ดเหตุการณ์การซื้อด้วยตนเอง SDK สำหรับ Android รองรับคลัง Google Play Billing เวอร์ชั่น 2 และ 3 แล้วในขณะนี้ สำหรับคลัง Google Play Billing เวอร์ชั่น 4 คุณต้องลงเหตุการณ์การซื้อในแอพด้วยตนเอง |
รายงานข้อขัดข้องสำหรับ 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
หมายเหตุ ทั้ง valueToSum
และ parameters
เป็นส่วนที่จะระบุหรือไม่ก็ได้
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
โปรดดูพารามิเตอร์ที่มักใช้ร่วมกับเหตุการณ์มาตรฐานที่คู่มืออ้างอิงเกี่ยวกับพารามิเตอร์สำหรับเหตุการณ์มาตรฐาน พารามิเตอร์เหล่านี้มีวัตถุประสงค์เพื่อให้ใช้เป็นแนวทาง แต่คุณก็สามารถระบุพารามิเตอร์ของคุณเองได้เช่นกัน แอพของคุณควรลงบันทึกพารามิเตอร์ต่างๆ ที่คุณสนใจจะดูข้อมูลแยกย่อยต่างๆ เพื่อรับข้อมูลเชิงลึก
อย่าใช้ “event” เป็นชื่อพารามิเตอร์ ระบบจะไม่ลงบันทึกพารามิเตอร์ที่กำหนดเองซึ่งใช้ชื่อว่า “event” ให้ใช้ชื่ออื่นแทนหรือเพิ่มคำขึ้นต้นหรือคำลงท้ายให้กับชื่อนั้น เช่น my_custom_event
ตัวช่วยเหลือในการลงโฆษณาแอพช่วยให้คุณสามารถทดสอบเหตุการณ์ในแอพภายในแอพของคุณได้ เพื่อให้แน่ใจว่าแอพของคุณจะส่งเหตุการณ์ไปยัง Facebook
เปิดใช้งานบันทึกการแก้ไขจุดบกพร่องเพื่อตรวจสอบยืนยันการใช้เหตุการณ์ในแอพจากฝั่งไคลเอ็นต์ บันทึกการแก้ไขจุดบกพร่องจะมีคำขออย่างละเอียดและการตอบกลับแบบ JSON เปิดใช้งานบันทึกการแก้ไขจุดบกพร่องโดยการเพิ่มโค้ดต่อไปนี้หลังจากที่ Facebook SDK สำหรับ Android เริ่มทำงานแล้ว
FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);
การดำเนินการนี้มีวัตถุประสงค์เพื่อแก้ไขจุดบกพร่องเท่านั้น โปรดปิดใช้งานบันทึกการแก้ไขจุดบกพร่องก่อนจะเปิดให้แอพของคุณใช้งานได้แบบสาธารณะ
โปรดดูข้อมูลเพิ่มเติมและคำแนะนำที่เป็นประโยชน์เกี่ยวกับเหตุการณ์ในแอพที่เอกสารต่อไปนี้
เราได้สร้างตัวอย่างแอพประเภทต่างๆ ขึ้นมาบางส่วน เพื่อแสดงให้เห็นว่าคุณสามารถใช้เหตุการณ์ในแอพได้อย่างไรบ้าง แอพตัวอย่างแต่ละแอพจะให้ข้อมูลแยกย่อยของเหตุการณ์ต่างๆ โดยแบ่งเป็นทีละหน้าจอ พร้อมแสดงตัวอย่างโค้ด คุณจำเป็นต้องทราบว่าตัวอย่างเหล่านี้เป็นจุดเริ่มต้นสำหรับแอพของคุณ และคุณควรปรับตัวอย่างดังกล่าวให้เข้ากับการใช้งานของคุณ