Skip to Content
مستندات متریکس همواره در حال بهبود است! 🚀 آخرین به‌روزرسانی‌ها را از اینجا دنبال کنید.

ردیابی کاربران (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 حداکثر ۵۱۲ بایت می‌باشد.