เริ่มต้นใช้งาน – Unity

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

ปิดใช้งานการรวบรวม ID ผู้ลงโฆษณา

Unity SDK ของเราจะเปิดใช้งานการรวบรวม ID ของผู้ลงโฆษณาเป็นค่าเริ่มต้น หากต้องการปิดหรือเปิดใช้งานการรวบรวม ID ผู้ลงโฆษณา ให้ไปที่ Facebook -> แก้ไขการตั้งค่า ในแถบเมนู Unity IDE แล้วเลือกหรือยกเลิกการเลือก "การรวบรวม ID ผู้ลงโฆษณา" ในส่วน "การตั้งค่าเหตุการณ์ในแอพ"

คุณสามารถปิดใช้งานการรวบรวม ID ผู้ลงโฆษณาด้วยโปรแกรมได้ โดยตั้งค่าเมธอด SetAdvertiserIDCollectionEnabled () ของ Fb.Mobile เป็น false

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

ในบางกรณี คุณอาจต้องการเปิดใช้การรวบรวม ID ผู้ลงโฆษณา อีกครั้งหลังจากที่ผู้ใช้ให้ความยินยอม คุณสามารถทำได้โดยการตั้งค่าเมธอด SetAdvertiserIDCollectionEnabled() เป็น true

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);