คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่แล้วโดยใช้ 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);