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

ارسال ایونت (سرویس اتریبیوشن و اتومیشن)

هرگونه تعاملی که کاربر با وب‌سایت شما دارد، می‌تواند به‌عنوان یک رویداد(event) در داشبورد متریکس ثبت شود. متریکس این رویدادها را جمع‌آوری کرده و به‌صورت آماری در اختیار شما قرار می‌دهد.

برای ارسال ایونت‌ها به سرورهای متریکس، لازم است یکی از متدهای زیر را فراخوانی کنید.

روش اول: ارسال ایونت با Slug

این تابع برای ارسال ایونت‌های سفارشی به متریکس بر اساس (slug) ایونت تعریف‌شده در داشبورد استفاده می‌شود.

newEvent(slug: string, customAttributes: {[key: string]: string}, onsuccess: () => void): void
نامtypeتوضیحاتاجباری
slugstringslug ساخته شده در داشبورد متریکس برای ایونت مورد نظربله
customAttributes{[key: string]: string}هر خصیصه دلخواهی که مرتبط با ایونت مورد نظر باشد می‌تواند در customAttributes ارسال شودخیر
onsuccess() => voidتابع callback که پس از ارسال موفق رویداد اجرا می‌شودخیر

با استفاده از متریکس، می‌توانید هرگونه رویداد یا رخدادی را در وب‌سایت خود ردیابی کنید.
بعنوان مثال فرض کنید قصد دارید کلیک کردن روی یک button در وبسایت خود را ردیابی نمایید. برای این منظور، ابتدا باید ایونت مخصوص به این رخداد را در قسمت مدیریت ایونت‌های داشبورد متریکس ایجاد نمایید. (Settings > Manage Events > Create event) سپس، از slug تولیدشده برای این رویداد، در کد وب‌سایت خود جهت ارسال ایونت استفاده کنید. بنابراین در متد onclick برای button مورد نظر خود باید متد newEvent متریکس را با slug ایونت ساخته شده و همچنین، به صورت دلخواه، همراه با تعدادی customAttribute به صورت زیر فراخوانی کنید:

// Send simple event import { newEvent } from '@metrixorg/websdk'; newEvent('EVENT_SLUG'); // Send an event with custom attribute const attributes = {}; attributes['first_name'] = 'Ali'; attributes['last_name'] = 'Bagheri'; attributes['manufacturer'] = 'Nike'; attributes['product_name'] = 'shirt'; attributes['type'] = 'sport'; attributes['size'] = 'large'; attributes['purchase_date'] = '2024-11-20T11:24:03.000Z'; // use ISO 8601 to consider this attribute as s a date newEvent('EVENT_SLUG', attributes);

در صورتی که slug ایونت خالی باشد، خطای زیر رخ می‌دهد:

Error: newEvent: slug is required and cannot be empty.

روش دوم: ارسال ایونت با Name

این تابع برای ارسال ایونت‌های سفارشی به متریکس بر اساس نام (name) ایونت تعریف‌شده در داشبورد استفاده می‌شود.

newEventByName( name: string, customAttributes: {[key: string]: string}, onsuccess: () => void): void
نامtypeتوضیحاتاجباری
namestringEvent Name ساخته شده در داشبورد متریکس برای ایونت مورد نظربله
customAttributes{[key: string]: string}هر خصیصه دلخواهی که مرتبط با ایونت مورد نظر باشد می‌تواند در customAttributes ارسال شودخیر
onsuccess() => voidتابع callback که پس از ارسال موفق رویداد اجرا می‌شودخیر

همانند روش ایجاد ایونت با slug باید ایونت مورد نظر را در بخش تنظیمات داشبورد متریکس ایجاد نمایید: سپس، از Event Name تولیدشده برای این رویداد، در کد وب‌سایت خود جهت ارسال ایونت استفاده کنید. بنابراین در متد onclick برای button مورد نظر خود باید متد newEventByName به صورت زیر فراخوانی کنید:

// Send simple event import { newEventByName } from '@metrixorg/websdk'; newEventByName('PURCHASE_COMPLETED'); // Send an event with custom attribute const attributes = {}; attributes['first_name'] = 'Ali'; attributes['last_name'] = 'Bagheri'; attributes['manufacturer'] = 'Nike'; attributes['product_name'] = 'shirt'; attributes['type'] = 'sport'; attributes['size'] = 'large'; attributes['purchase_date'] = '2024-11-20T11:24:03.000Z'; // use ISO 8601 to consider this attribute as s a date newEventByName('PURCHASE_COMPLETED', attributes);

در صورتی که name ایونت خالی باشد، خطای زیر رخ می‌دهد:

Error: newEventByName: name is required and cannot be empty.

ساختن رویداد درآمدی (مختص سرویس اتریبیوشن)

با استفاده از این تابع می‌توانید یک رویداد درآمدی بسازید.برای این منظور، ابتدا وارد پنل متریکس شوید و از بخش مدیریت رویدادها، رویداد درآمدی موردنظر خود را ثبت نمایید. سپس نامک (slug) تولیدشده را به‌عنوان نام رویداد در اپلیکیشن خود مورد استفاده قرار دهید.

newRevenue('EVENT_SLUG', 12000, 'IRR');

ورودی‌های متد newRevenue بدین شرح هستند:

نامtypeتوضیحاتاجباری
slugstringslug ساخته شده در داشبورد متریکس برای ایونت مورد نظربله
revenuenumberمقدار درآمدبله
currencyIRR (Default) or USD or EURواحد پولخیر