ارسال ایونت (سرویس اتریبیوشن و اتومیشن)
هرگونه تعاملی که کاربر با وبسایت شما دارد، میتواند بهعنوان یک رویداد(event)
در داشبورد متریکس ثبت شود. متریکس این رویدادها را جمعآوری کرده و بهصورت آماری در اختیار شما قرار میدهد.
برای ارسال ایونتها به سرورهای متریکس، لازم است یکی از متدهای زیر را فراخوانی کنید.
روش اول: ارسال ایونت با Slug
این تابع برای ارسال ایونتهای سفارشی به متریکس بر اساس (slug) ایونت تعریفشده در داشبورد استفاده میشود.
newEvent(slug: string, customAttributes: {[key: string]: string}, onsuccess: () => void): void
نام | type | توضیحات | اجباری |
---|---|---|---|
slug | string | slug ساخته شده در داشبورد متریکس برای ایونت مورد نظر | بله |
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 | توضیحات | اجباری |
---|---|---|---|
name | string | Event 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 | توضیحات | اجباری |
---|---|---|---|
slug | string | slug ساخته شده در داشبورد متریکس برای ایونت مورد نظر | بله |
revenue | number | مقدار درآمد | بله |
currency | IRR (Default) or USD or EUR | واحد پول | خیر |