Bắt đầu - Unity

Hướng dẫn này sẽ chỉ cho bạn cách thêm Sự kiện trong ứng dụng vào ứng dụng mới hoặc ứng dụng hiện có của mình qua Facebook Unity SDK.

Trước khi bạn bắt đầu

Ghi lại lượt khởi chạy ứng dụng

SDK này cung cấp phương thức trình trợ giúp FB.ActivateApp để ghi lại lượt khởi chạy ứng dụng. Bạn sẽ cần khởi tạo SDK có FB.Init trước khi có thể gọi FB.ActivateApp.

Hãy sử dụng hàm Awake từ MonoBehavior để ghi lại thời điểm người dùng khởi chạy ứng dụng của bạn.

void Awake ()
{
  if (FB.IsInitialized) {
    FB.ActivateApp();
  } else {
    //Handle FB.Init
    FB.Init( () => {
      FB.ActivateApp();
    });
  }
}

Hãy sử dụng hàm OnApplicationPause từ MonoBehavior để ghi lại thời điểm người dùng tiếp tục ứng dụng của bạn.

// 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();
      });
    }
  }
}

Ghi sự kiện theo cách thủ công

Các mã mẫu dưới đây minh họa cách ghi lại sự kiện theo cách thủ công.

Ghi lại lượt mua hàng trong ứng dụng

Trong ví dụ này, priceCurrency là một chuỗi chứa ISO code gồm 3 chữ cái biểu thị đơn vị tiền tệ được sử dụng, priceAmountfloat chứa giá của mặt hàng được mua và packageName là một chuỗi chứa SKU code của mặt hàng được mua.

var iapParameters = new Dictionary<string, object>();
iapParameters["mygame_packagename"] = packageName;
FB.LogPurchase(
  priceAmount,
  priceCurrency,
  iapParameters
);

Theo dõi sự kiện trong game

Trong ví dụ thứ hai, chúng tôi theo dõi số lượng tín dụng mà người dùng chi tiêu trong game. numGold là một float chứa số lượng tín dụng đã chi tiêu và storeItem là một chuỗi chứa tên vật phẩm mà người dùng đã mua.

var softPurchaseParameters = new Dictionary<string, object>();
softPurchaseParameters["mygame_purchased_item"] = storeItem;
FB.LogAppEvent(
  Facebook.Unity.AppEventName.SpentCredits,
  (float)numGold,
  softPurchaseParameters
);

Vô hiệu hóa sự kiện được ghi tự động

Sau khi bạn tích hợp Facebook SDK, hệ thống sẽ tự động ghi và thu thập một số Sự kiện trong ứng dụng cho Trình quản lý sự kiện, trừ khi bạn tắt tính năng Tự động ghi sự kiện trong ứng dụng. Bạn có thể thay đổi chế độ này trong mã ứng dụng của mình hoặc thông qua nút bật/tắt trong mục Sự kiện trong ứng dụng của Bảng điều khiển ứng dụng hoặc Trình quản lý sự kiện. Hãy lưu ý rằng trong trường hợp có giá trị xung đột giữa cờ AutoLogAppEventsEnabled và nút này, chúng tôi sẽ tôn trọng giá trị trong nút bật/tắt "Tự động ghi sự kiện cho Facebook SDK". Để biết chi tiết về loại thông tin được thu thập và cách tắt tính năng Tự động ghi sự kiện trong ứng dụng, hãy xem bài viết Tự động ghi sự kiện trong ứng dụng.

Unity SDK của chúng tôi cho phép các sự kiện được ghi tự động theo mặc định. Để vô hiệu hóa hoặc kích hoạt tính năng tự động ghi sự kiện, hãy đi đến Facebook -> Chỉnh sửa cài đặt trong thanh menu Unity IDE rồi chọn hoặc bỏ chọn Tự động ghi sự kiện trong ứng dụng trong phần Cài đặt sự kiện trong ứng dụng.

Bạn có thể vô hiệu hóa sự kiện được ghi tự động theo lập trình bằng cách đặt phương thức SetAutoLogAppEventsEnabled() của Fb.Mobile thành false.

FB.Mobile.SetAutoLogAppEventsEnabled(false); 

Trong một số trường hợp, bạn nên kích hoạt lại tính năng tự động ghi sau khi người dùng cuối chấp thuận. Bạn có thể thực hiện việc này bằng cách đặt phương thức SetAutoLogAppEventsEnabled() thành true.

FB.Mobile.SetAutoLogAppEventsEnabled(true); 

Vô hiệu hóa tính năng thu thập ID nhà quảng cáo

Unity SDK của chúng tôi cho phép thu thập ID nhà quảng cáo theo mặc định. Để vô hiệu hóa hoặc kích hoạt tính năng thu thập ID nhà quảng cáo, hãy đi đến Facebook -> Chỉnh sửa cài đặt trong thanh menu Unity IDE rồi chọn hoặc bỏ chọn Thu thập ID nhà quảng cáo trong phần Cài đặt sự kiện trong ứng dụng.

Bạn có thể vô hiệu hóa tính năng thu thập ID nhà quảng cáo theo lập trình bằng cách đặt phương thức SetAdvertiserIDCollectionEnabled () của Fb.Mobile thành false.

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

Trong một số trường hợp, bạn nên kích hoạt lại tính năng thu thập ID nhà quảng cáo sau khi người dùng cuối chấp thuận. Bạn có thể thực hiện việc này bằng cách đặt phương thức SetAdvertiserIDCollectionEnabled() thành true.

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);