คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่แล้วโดยใช้ Facebook SDK สำหรับ Unity
SDK มีวิธีช่วยเหลือFB.ActivateApp
ในการลงบันทึกการเปิดใช้งานแอพ คุณต้องเริ่มต้นการทำงานของ SDK ด้วย FB.Init
ก่อน จึงจะสามารถเรียกใช้ FB.ActivateApp
ได้
ใช้ฟังก์ชัน Awake จาก MonoBehavior เพื่อลงบันทึกเมื่อผู้ใช้เปิดใช้งานแอพของคุณ
void Awake () { if (FB.IsInitialized) { FB.ActivateApp(); } else { //Handle FB.Init FB.Init( () => { FB.ActivateApp(); }); } }
ใช้ฟังก์ชัน OnApplicationPause จาก MonoBehavior เพื่อลงบันทึกเมื่อผู้ใช้กลับมาดำเนินการต่อในแอพของคุณ
// Unity will call OnApplicationPause(false) when an app is resumed // from the background void OnApplicationPause (bool pauseStatus) { // Check the pauseStatus to see if we are in the foreground // or background if (!pauseStatus) { //app resume if (FB.IsInitialized) { FB.ActivateApp(); } else { //Handle FB.Init FB.Init( () => { FB.ActivateApp(); }); } } }
ตัวอย่างโค้ดต่อไปนี้จะสาธิตวิธีการบันทึกเหตุการณ์ด้วยตนเอง
ในตัวอย่างนี้ priceCurrency
คือสตริงที่ประกอบด้วย ISO code
3 ตัวอักษรซึ่งหมายถึงสกุลเงินที่ผู้ใช้จ่ายไป โดยที่ priceAmount
คือ float
ที่ประกอบด้วยราคาของสินค้าที่ผู้ใช้ซื้อ และ packageName
คือสตริงที่ประกอบด้วย SKU code
สำหรับสินค้าที่ผู้ใช้ซื้อ
var iapParameters = new Dictionary<string, object>(); iapParameters["mygame_packagename"] = packageName; FB.LogPurchase( priceAmount, priceCurrency, iapParameters );
ในตัวอย่างที่สองนี้ เราจะติดตามจำนวนเครดิตที่ผู้ใช้จ่ายในเกม โดยที่ numGold
คือ float
ที่ประกอบด้วยจำนวนเครดิตที่จ่าย และ storeItem
คือสตริงที่ประกอบด้วยชื่อของไอเท็มที่ผู้ใช้ซื้อ
var softPurchaseParameters = new Dictionary<string, object>(); softPurchaseParameters["mygame_purchased_item"] = storeItem; FB.LogAppEvent( Facebook.Unity.AppEventName.SpentCredits, (float)numGold, softPurchaseParameters );
หลังจากใช้ Facebook SDK เหตุการณ์บางอย่างในแอพของคุณจะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับตัวจัดการเหตุการณ์โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์อัตโนมัติ คุณสามารถเปลี่ยนสิ่งนี้ได้ในโค้ดของแอพหรือผ่านการเปิดใช้ในส่วนเหตุการณ์ในแอพในแดชบอร์ดแอพหรือตัวจัดการเหตุการณ์ โปรดทราบว่า ในกรณีที่เกิดค่าที่ขัดแย้งกันระหว่างรายงานปัญหาและการเปิดใช้งาน AutoLogAppEventsEnabled
เราจะยึดตามค่าในการเปิดใช้งาน "การลงบันทึกเหตุการณ์อัตโนมัติสำหรับ Facebook SDK" เป็นหลัก สำหรับรายละเอียดเกี่ยวกับข้อมูลที่ถูกรวบรวมและวิธีปิดใช้การลงบันทึกเหตุการณ์ในแอพอัตโนมัติ โปรดดูการลงบันทึกเหตุการณ์ในแอพอัตโนมัติ
Unity SDK ของเราจะเปิดใช้งานเหตุการณ์ที่ลงบันทึกไว้โดยอัตโนมัติตามค่าเริ่มต้น หากต้องการปิดหรือเปิดใช้งานการลงบันทึกเหตุการณ์โดยอัตโนมัติ ให้ไปที่ Facebook -> แก้ไขการตั้งค่า ในแถบเมนู Unity IDE แล้วเลือกหรือยกเลิกการเลือก "ลงบันทึกเหตุการณ์ในแอพโดยอัตโนมัติ" ในส่วน "การตั้งค่าเหตุการณ์ในแอพ"
คุณสามารถปิดใช้งานเหตุการณ์ที่ลงบันทึกโดยอัตโนมัติด้วยโปรแกรมได้ โดยตั้งค่าเมธอด SetAutoLogAppEventsEnabled()
ของ Fb.Mobile
เป็น false
FB.Mobile.SetAutoLogAppEventsEnabled(false);
ในบางกรณี คุณอาจต้องการเปิดใช้การลงบันทึกอัตโนมัติอีกครั้งหลังจากที่ผู้ใช้ให้ความยินยอม คุณสามารถทำได้โดยการตั้งค่าเมธอด SetAutoLogAppEventsEnabled()
เป็น true
FB.Mobile.SetAutoLogAppEventsEnabled(true);
Unity SDK ของเราจะเปิดใช้งานการรวบรวม ID ของผู้ลงโฆษณาเป็นค่าเริ่มต้น หากต้องการปิดหรือเปิดใช้งานการรวบรวม ID ผู้ลงโฆษณา ให้ไปที่ Facebook -> แก้ไขการตั้งค่า ในแถบเมนู Unity IDE แล้วเลือกหรือยกเลิกการเลือก "การรวบรวม ID ผู้ลงโฆษณา" ในส่วน "การตั้งค่าเหตุการณ์ในแอพ"
คุณสามารถปิดใช้งานการรวบรวม ID ผู้ลงโฆษณาด้วยโปรแกรมได้ โดยตั้งค่าเมธอด SetAdvertiserIDCollectionEnabled ()
ของ Fb.Mobile
เป็น false
FB.Mobile.SetAdvertiserIDCollectionEnabled (false);
ในบางกรณี คุณอาจต้องการเปิดใช้การรวบรวม ID ผู้ลงโฆษณา อีกครั้งหลังจากที่ผู้ใช้ให้ความยินยอม คุณสามารถทำได้โดยการตั้งค่าเมธอด SetAdvertiserIDCollectionEnabled()
เป็น true
FB.Mobile.SetAdvertiserIDCollectionEnabled (true);