Get Properties: Dùng để lấy các thông tin user đã được lưu trữ.
Chức năng Invite: Dùng để user A đi chia sẻ game cho user B cài đặt và nhận thưởng.
1. Set Properties
Dùng để cập nhật thông tin user, phục vụ cho việc phân tích hành vi user.
Tùy từng logic của game mà sẽ cập nhật các property tùy theo các trường hợp. Ví dụ: Khi có thay đổi về avatar, name, userType thì sẽ cập nhật luôn thông tin user.
parameters: Là một dictionary chứa các thuộc tính của user
Code mẫu:
GSM.Users.GSMUser.SetUserProperties(new GSM.Models.Property[]
{
new GSM.Models.Property(GSM.Models.PropertyPreset.name, "Sample"), // Thường thay đổi khi user đổi tên (tùy chọn)
new GSM.Models.Property(GSM.Models.PropertyPreset.avatar, "1"), // avatar id có sẵn trong game (tùy chọn)
new GSM.Models.Property(GSM.Models.PropertyPreset.facebookId, ""), // Khi đăng nhập bằng facebook (tùy chọn)
new GSM.Models.Property(GSM.Models.PropertyPreset.email, "tuyennv@cscmobi.com"), // Khi đăng nhập bằng email (tùy chọn)
new GSM.Models.Property(GSM.Models.PropertyPreset.firebaseId, "TslbnCoZ0DRzqEjxNRwSpqkFp0B2"), // Khi đồng bộ tiến trình game lên realtimeDatabase/Firestore của Firebase (nếu có tính năng lưu tiến trình thì bắt buộc)
new GSM.Models.Property(GSM.Models.PropertyPreset.lang, "vi"), // Thường thay đổi trong phần đổi ngôn ngữ
new GSM.Models.Property(GSM.Models.PropertyPreset.userType, "2"), //Khi thay đổi userType (tùy chọn)
new GSM.Models.Property(GSM.Models.PropertyPreset.scene, "Splash"), //Track màn hình user đang tương tác (bắt buộc)
new GSM.Models.Property(GSM.Models.PropertyPreset.deviceName, "Iphone 12 Pro Max")
});
1.1 Set FCM Token
FCM Token là token được firebase trả lại khi tích hợp Firebase Cloud Messaging
Mục đích để server sẽ gửi remote notification về device thông qua token này.
Thông thường chỉ khi lần đầu tiên mở game, hoặc có thay đổi về token thì sẽ thực hiện chức năng này.
Code mẫu:
Firebase.Messaging.FirebaseMessaging.GetTokenAsync().ContinueWithOnMainThread(task =>
{
//Lấy fcmToken từ Firebase
string fcmToken=task.Result;
//Update property fcmToken lên GSM
GSM.Users.GSMUser.SetUserProperties(new GSM.Models.Property[]
{
new GSM.Models.Property(GSM.Models.PropertyPreset.fcmToken, fcmToken)
});
});
1.2 Set UserType
Dùng để phân loại user, tùy từng game mà userType có các mức phân loại user khác nhau.
Code mẫu:
GSM.Users.GSMUser.SetUserProperties(new GSM.Models.Property[]
{
new GSM.Models.Property(GSM.Models.PropertyPreset.userType, "2")
});
fields: Là danh sách các thuộc tính muốn lấy, nếu là null thì sẽ kết quả trả về tất cả các thuộc tính đang có.
onSuccess: Hàm được thực hiện khi server trả kết quả thành công.
errorCallBack : Hàm được thực hiện khi có lỗi xảy ra
Code mẫu 1: Lấy theo thuộc tính chỉ định
GSMUser.GetProperties(new PropertyPreset[]
{
PropertyPreset.name,
PropertyPreset.data
}, (json) =>
{
Debug.Log($"User Properties: {json}");
//Biến đổi từ json sang Dictionary để xử lý
var dict = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
string name = dict["name"].ToString();
Debug.Log($"name: {name}");
});