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.
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(); }); } } }
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.
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, priceAmount
là float
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 );
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 );
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);
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);