ردیابی کاربران (Tracking Users)
این بخش به شما نشان میدهد که چگونه کاربران اپلیکیشن یا بازی خود را به متریکس معرفی کرده و اطلاعات پروفایل آنها را مدیریت کنید. شناسایی صحیح کاربران برای استفاده کامل از قابلیتهای Automation و تحلیلهای دقیق در متریکس ضروری است.
۱. شناسایی کاربر به متریکس و ساخت User Profile
برای اینکه متریکس بتواند کاربران اپلیکیشن شما را شناسایی کرده و اکشنها (رویدادها) را به پروفایل صحیح کاربر نسبت دهد، باید یک شناسه یکتا برای هر کاربر ارسال کنید. این شناسه User Profile
را در سرورهای متریکس میسازد که در بخش User Lookup
در پنل کاربری متریکس قابل مشاهده و دسترسی است.
- زمان فراخوانی: این متد را باید زمانی فراخوانی کنید که کاربر در سیستم شما شناخته شده است (مثلاً پس از ورود به حساب کاربری یا ثبتنام).
- نوع شناسه:
userId
باید یک شناسه یکتا و پایدار برای کاربر در سیستم شما باشد (مثلاً User ID دیتابیس شما).
Metrix.SetUserCustomId("YOUR_USER_ID"); // Call when a user logs in or registers in your system. Replace "YOUR_USER_ID" with your actual user's unique ID.
- خروج کاربر:
زمانی که کاربر از سیستم شما خارج میشود (Logout)، میتوانید با فراخوانی متد زیر، ارتباط
Custom ID
را با جلسه فعلی کاربر در SDK قطع کنید. این کار به متریکس کمک میکند تا سشنهای کاربر ناشناس و شناخته شده را به درستی تفکیک کند.
Metrix.DeleteUserCustomId(); // Call when your user logs out from your system.
۲. بهروزرسانی اطلاعات User (User Attributes)
با استفاده از متدهای زیر، میتوانید اطلاعات و خصیصههای (Attributes) کاربران موجود در User Lookup
را بهروزرسانی کنید. این خصیصهها برای بخشبندی (Segmentation) دقیق کاربران و ارسال پیامهای شخصیسازی شده از طریق سرویس Automation بسیار مهم هستند.
۲.۱. افزودن خصیصههای سفارشی (Custom Attributes)
شما میتوانید خصیصههای سفارشی خود را با استفاده از یک دیکشنری (Dictionary) به پروفایل کاربر اضافه کنید. این خصیصهها باید از نوع string, int, double, bool
یا DateTime
باشند.
var attributes = new Dictionary<string, object>();
attributes.Add("manufacturer", "Nike"); // String attribute
attributes.Add("registration_date", "2024-11-20T11:24:03.000Z"); // Date attribute: use ISO 8601 format to be recognized as a date
attributes.Add("loyalty_level", "Gold"); // Another string attribute
attributes.Add("total_purchases", 15); // Integer attribute
attributes.Add("is_premium", true); // Boolean attribute
Metrix.AddUserAttributes(attributes);
نکته در مورد registration_date
: برای اینکه متریکس یک خصیصه را به عنوان تاریخ شناسایی کند، باید آن را به فرمت ISO 8601 (مثال: "YYYY-MM-DDTHH:mm:ss.sssZ"
) و از نوع String
ارسال کنید.
۲.۲. افزودن خصیصههای از پیش تعیین شده (Predefined Attributes)
متریکس مجموعهای از توابع مشخص برای افزودن خصیصههای رایج کاربران را فراهم کرده است. استفاده از این توابع به استانداردسازی و تحلیل بهتر کمک میکند:
Metrix.SetUserFirstName("UserFirstName");
Metrix.SetUserLastName("UserLastName");
Metrix.SetUserPhoneNumber("09121122333");
Metrix.SetUserHashedPhoneNumber("hashedValueOfThePhoneNumber"); // Use for privacy concerns
Metrix.SetUserEmail("user@example.com");
Metrix.SetUserHashedEmail("hashedValueOfTheEmail"); // Use for privacy concerns
Metrix.SetUserCountry("Iran");
Metrix.SetUserCity("Tehran");
Metrix.SetUserRegion("Tehran Province");
Metrix.SetUserLocality("Vanak");
Metrix.SetUserGender("MALE"); // Use: MALE, FEMALE, OTHER
Metrix.SetUserBirthday(1554321000000L); // Birthday value should be a Unix timestamp in **milliseconds** (Long)
توضیحات تکمیلی:
- فیلدهای هش شده (
HashedPhoneNumber
,HashedEmail
): این فیلدها برای سناریوهایی استفاده میشوند که به دلیل ملاحظات حریم خصوصی، نمیتوانید اطلاعات مستقیم (شماره تلفن یا ایمیل) کاربر را ارسال کنید. در این صورت، متریکس نمیتواند به طور مستقیم از طریق این مقادیر هش شده برای ارسال ارتباطاتی مانند ایمیل یا SMS استفاده کند. SetUserBirthday
: مقدارbirthday
باید یک Unix timestamp در میلیثانیه (از نوعLong
) باشد.
توجه: هر User Profile
میتواند حداکثر ۵۰ attribute
(شامل خصیصههای استاندارد و سفارشی) داشته باشد که طول key
و value
هر attribute
حداکثر ۵۱۲ بایت میباشد.