کتابخانه جاوااسکریپت آنالیکا
ما در اینجا برای کل API های موجود در کتابخانه جاوا اسکریپت آنالیکا مثال ها و نمونه کد هایی را آورده ایم که مطالعه آنها می تواند به استفاده از آنالیکا در وب سایت شما تسریع ببخشد.
نحوه دریافت SDK (کتابخانه جاوا اسکریپت)
برای دریافت کتابخانه جاوا اسکریپت دو روش وجود دارد :
روش اول : وارد پنل کاربری خود شوید و از منوی اپلیکیشن ها > ایجاد اپلیکیشن جدید، اپلیکیشن خود را ایجاد کرده و بعد از آن می توانید از طریق منوی دریافت کتابخانه نسبت به دریافت SDK اقدام نمایید و سپس آن را در صفحاتی که می خواهید رفتار کاربر را تجزیه و تحلیل نمایید، بین تگ <head> و <head/> قرار دهید.
روش دوم : کافیست کد SDK را توسط دکمه زیر، دریافت نموده و در صفحاتی که می خواهید رفتار کاربر را تجزیه و تحلیل نمایید، بین تگ <head> و <head/> قرار دهید. توجه داشته باشید که در این روش، لازم است مقدار "YOUR TOKEN" را با توکن اپلیکیشن خود مقدار دهی نمایید.
در هنگام استفاده از API های آنالیکا نیازی به ارسال اطلاعات از بازدید کننده جاری نیست و آنالیکا بصورت خودکار، بازدید کننده جاری را شناسایی می کند، حتی در صورتیکه آن بازدید کننده مهمان باشد.
پیکربندی SDK
چنانچه بخواهید تنظیمات پیش فرض SDK را به دلخواه خود تغییر دهید کافیست مقدار جدید را در متد analika.init بعد از توکن اپلیکیشن خود، قرار دهید. این متد در آخرین خط از کد کتابخانه ای است که دریافت کرده اید.
به عنوان مثال می توانید به جای ذخیره برخی اطلاعات بازدید کننده در cookie , آن را به localStorage تغییر دهید.
analika.init("YOUR TOKEN", { 'persistence': 'localStorage', 'track_pageview':false });
متغیر هایی که می توانید مقدار پیش فرض آنها را تغییر دهید به شرح زیر می باشد :
عنوان | نوع داده | مقدار پیش فرض | توضیحات |
cookie_expiration | int | 365 | انقضای کوکی بر حسب روز |
cross_subdomain_cookie | boolean | true | تجزیه و تحلیل کاربران، شامل دامنه های فرعی نیز می شود |
debug | boolean | false | نشان می دهد که شما در حال پیاده سازی و آزمایش هستید |
disable_persistence | boolean | false | اگر برابر با true باشد، کوکی یا localStorage حذف خواهد شد و هیچگونه اطلاعاتی از بازدید کننده به سرور ارسال نخواهد شد |
get_location | boolean | true | اگر برابر با true باشد، اطلاعات جغرافیایی مربوط به آی پی نیز در داشبورد برایتان نشان داده می شود |
opt_out_tracking_by_default | boolean | false | اگر برابر با true باشد، دیگر هیچ اطلاعاتی از کاربر به سرور ارسال نمی گردد حتی اگر مجدد مقدار آن را false کنید |
persistence_name | string | بدون مقدار | سفارشی کردن نام مقادیر ذخیره شده در کوکی یا localStorage |
persistence | sting | 'cookie' | نحوه ذخیره اطلاعات کاربر در مرورگر می باشد که می تواند مقدار آن از cookie به localStorage تغییر کند |
property_blacklist | array | [] | نام خواصی که تمایل به ردیابی آنها را ندارید را در این آرایه بریزید. هر کدام توسط ، از یکدیگر جدا شوند |
secure_cookie | boolean | false | اطلاعات فقط از طریق https منتقل می شوند |
track_links_timeout | int | ۳۰۰ | مقدار زمان track_links که منتظر پاسخ سرورهای آنالیکا خواهد بود بر حسب میلی ثانیه |
track_pageview | boolean | true | چنانچه مقدار آن را false کنید، دیگر بازدید های صفحه بصورت خودکار ثبت نمی گردد |
mouse_tracking | boolean | true | چنانچه مقدار آن را false کنید، دیگر ویدیوی بازدید کاربران و همچنین نقشه حرارتی ثبت نمی گردد |
xhr_headers | object | {} | می توانید برای هر در خواست API در هدر آن، مواردی را طبق فرمت {Header-Name': value'} اضافه نمایید. هر کدام توسط ، از یکدیگر جدا شوند |
inapp_protocol | string | '//' | پروتکل برای نمایش پیام های درون برنامه ای به عنوان مثال '//:https' یا '//:http'. مقدار '//' پروتکل جاری را می گیرد |
inapp_link_new_window | boolean | false | باز شدن پیام درون برنامه ای در تب جدید |
loaded | function | { }()function | اجرای یک متد جاوا اسکریپتی در وب سایت شما در هنگام بارگذاری SDK |
تابع analika.identify
با استفاده از این تابع می توانید برای بازدید کننده جاری، بر اساس اطلاعاتی که از آن دارید مانند نام کاربری، ایمیل، موبایل و غیره ... یک شناسه یکتا تنظیم نمایید در غیر اینصورت آنالیکا بصورت خودکار یک شناسه از نوع Guid برای آن بازدید کننده در نظر می گیرد. استفاده از این API و ایجاد شناسه یکتا توسط شما برای بازدید کننده، جستجوی یک بازدید کننده در لیست بازدید کنندگان را راحت تر می نماید.
از این API می توانید بعد از لاگین کاربر در وب سایت و یا حتی بعد از ثبت نام و مواردی از این قبیل که اطلاعات منحصر به فردی از بازدید کننده در اختیار دارید، استفاده نمایید. پارامتر ورودی اجباریست و می تواند رشته و یا عددی باشد.
analika.identify('ali@email.mail');
analika.identify('09121234567');
analika.identify('12586');
نوع پارمتر ورودی | وضعیت | توضیحات |
string | اجباری | یک شناسه یکتا برای بازدید کننده جاری |
تابع analika.track
با استفاده از این تابع می توانید یک رویداد در آنالیکا ایجاد نمایید. مهمترین و پرکاربرد ترین تابع ای که با آن سر و کار دارید track هست.
analika.track('Registered', { 'username': 'albert', 'accountType': 'gold' });
analika.track('Login', { 'username': 'albert'});
analika.track('PlayMusic');
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | عنوان رویداد |
دوم | json | اختیاری | آبجکتی از اطلاعات دلخواه شما می باشد که می توانید برای آن رویداد ارسال کنید و یا آن را نادیده بگیرید |
تابع analika.time_event
با استفاده از این تابع می توانید میزان زمان سپری شده برای یک رویداد خاص را نیز در آن رویداد ثبت نمایید.
فرض کنید شما میخواهید بفهمید که از زمانیکه کاربر وارد صفحه ثبت نام می شود تا زمانیکه فرم را پر می کند و دکمه ثبت نام را فشار می دهد، چقدر زمان سپری می شود.
برای بدست آوردن زمان سپری شده کافیست در هنگام باز شدن صفحه ثبت نام، تابع analika.time_event را فراخوانی کرده و بعد از کیک بر روی دکمه ثبت نام نیز تابع analika.track را فراخوانی کنید.
دقت کنید نام رویداد در هر دو تابع باید یکی باشد.
analika.time_event('Registered');
analika.track('Registered', { 'username': 'albert', 'accountType': 'gold' });
پارامتر های تابع analika.time_event :
نوع پارامتر ورودی | وضعیت | توضیحات |
string | اجباری | عنوان رویدادی که می خواهید زمان سپری شدن آن را بدست آورید |
تابع analika.track در اینجا توضیح داده شده است.
تابع analika.track_pageview
با استفاده از این تابع می توانید برای بازدید کننده جاری یک رویداد از نوع بازدید ثبت کنید.
از این تابع بیشتر در مواقعی استفاده می شود که وب سایت ها بصورت single page می باشند و در واقع با عوض شدن صفحه، مرورگر reload نمی شود. آنگاه شما می توانید بعد از بارگزاری صفحه جدید، یک رویداد بازدید برای بازدید کننده جاری ثبت نمایید.
همچنین چنانچه در پیکربندی، مقدار track_pageview را به false تغییر داده باشید، حتما باید بعد از بارگزاری صفحه جدید از این تابع استفاده نمایید تا بازدید از آن صفحه ثبت گردد در غیر اینصورت هیچ بازدیدی ثبت نمی گردد.
analika.track_pageview();
تابع analika.track_forms
با استفاده از این تابع می توانید بعد از submit فرم، یک رویداد از بازدید کننده جاری ثبت نمایید.
analika.track_forms('#register', 'Created Account');
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | شناسه فرم. در نظر داشته باشید که حتما باید فرمی با شناسه ای که وارد کرده اید وجود داشته باشد |
دوم | string | اجباری | نام رویداد. |
تابع analika.track_links
با استفاده از این تابع می توانید بعد از کلیک بر روی لینک مورد نظر، یک رویداد از بازدید کننده جاری ثبت نمایید.
analika.track_links('#google-plus-link', 'Google Plus Link Clicked');
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | شناسه لینک. در نظر داشته باشید که حتما باید لینکی با شناسه ای که وارد کرده اید وجود داشته باشد |
دوم | string | اجباری | نام رویداد. |
تابع analika.push
اگر بخواهید برای کلیه رویداد های یک بازدید کننده، از بازدید یک صفحه گرفته تا کلیک بر روی یک دکمه، یک سری خصوصیات ثابت همیشه ارسال شود کافیست از این تابع استفاده کنید.
analika.push(['register', { 'gender': 'feman', 'age': '21' }]);
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | همیشه مقدار register را دارد و عوض نمی شود. |
دوم | json | اجباری | آبجکتی از اطلاعاتی هست که میخواهید برای بازدید کننده در هر رویداد وی ثبت کنید. |
با توجه به نمونه کد، برای رویداد های بازدید کننده جاری همیشه مقادیر gender و age ارسال می گردد. در واقع توسط این تابع شما خصوصیاتی که برای هر رویداد همیشه لازم دارید را یکبار register می کنید تا بطور خودکار همیشه با هر رویدادی برای بازدید کننده جاری ارسال شود.
تابع analika.register
اگر بخواهید برای کلیه رویداد های یک بازدید کننده، از بازدید یک صفحه گرفته تا کلیک بر روی یک دکمه، یک سری خصوصیات ثابت همیشه ارسال شود کافیست از این تابع استفاده کنید. این تابع شبیه تابع analika.push می باشد فقط نوع پارامتر های ورودی آن کمی متفاوت می باشد.
analika.register({ 'gender': 'feman', 'age': '21' });
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از اطلاعاتی هست که میخواهید برای بازدید کننده در هر رویداد وی ثبت کنید. |
با توجه به نمونه کد، برای رویداد های بازدید کننده جاری همیشه مقادیر gender و age ارسال می گردد. در واقع توسط این تابع شما خصوصیاتی که برای هر رویداد همیشه لازم دارید را یکبار register می کنید تا بطور خودکار همیشه با هر رویدادی برای بازدید کننده جاری ارسال شود.
تابع analika.register_once
اگر بخواهید برای کلیه رویداد های یک بازدید کننده، از بازدید یک صفحه گرفته تا کلیک بر روی یک دکمه، یک سری خصوصیات ثابت همیشه ارسال شود کافیست از این تابع استفاده کنید. این تابع شبیه analika.register می باشد فقط مقادیر آن یکبار تنظیم می شود و دیگر قابل تغییر نمی باشد.
analika.register_once({'First Visit Date': new Date(), 'age': '21' });
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از اطلاعاتی هست که میخواهید برای بازدید کننده در هر رویداد وی ثبت کنید و فقط یکبار مقدار دهی شود. |
تابع analika.unregister
با استفاده از این تابع می توانید خصوصیاتی که توسط analika.push و analika.register و analika.register_once برای یک بازدید کننده ایجاد کرده اید که بصورت ثابت در همه رویداد های آن بازدید کننده ارسال می گردد را حذف نمایید تا برای دیگر رویداد های آن بازدید کننده ارسال نشود.
analika.unregister('gender');
نوع پارامتر ورودی | وضعیت | توضیحات |
string | اجباری | نام فیلدی که قبلا برای بازدید کننده تنظیم شده است و می خواهید حذف شود. |
تابع analika.disable
توسط این تابع می توانید بدون حذف SDK مربوط به آنالیکا و یا حذف کلیه توابع استفاده شده در وب سایت خود، کلیه عملیات آنالیکا را غیر فعال نمایید.
analika.disable();
تابع analika.reset
با استفاده از این تابع می توانید کلیه تنظیماتی که برای بازدید کننده جاری قبلا انجام داده اید را حذف کنید و یک شناسه جدید برای او ساخته می شود.
analika.reset();
تابع analika.visitor.set
با استفاده از این تابع می توانید برای بازدید کننده جاری هر نوع خصوصیاتی تنظیم نمایید و یا خصوصیات قبلی را ویرایش کنید.
توجه داشته باشید که هر بازدید کننده یک فیلد ایمیل و یک فیلد موبایل بصورت از قبل تعریف شده دارد. برای مقدار دهی آنها کافیست توسط این تابع فیلد mn_email و mn_mobile را مقدار دهی نمایید.
آنالیکا برای ارسال پیام های هدفمند و یا کمپین های تبلیغاتی از mn_email و mn_mobile استفاده می نماید.
analika.visitor.set({
  'name': 'ali',
  'date': new Date(),
  'foodIds': [1, 2],
  'page_visited': ['page1', 'page2'],
  'isFree': true,
  'credit': 1500
});
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از اطلاعاتی که می خواهید برای بازدید کننده جاری تنظیم شود. |
همانطور که در نمونه کد فوق مشاهده می نمایید، آنالیکا از انواع داده های استاندارد مانند رشته، عددی، بولین، آرایه و تاریخ برای ارسال داده پشتیبانی می کند.
تابع analika.visitor.append
با استفاده از این تابع می توانید برای بازدید کننده جاری به یک فیلد مشخص که نوع آرایه در نظر گرفته می شود، مقداری را اضافه کنید.
توجه داشته باشید که در این تابع مقادیر تکراری نیز به آرایه اضافه می گردد.
analika.visitor.append({'product_ids': 1250});
analika.visitor.append({'pages_visited': 'priceList'});
analika.visitor.append({
  'pages_visited': 'homePage',
  'product_ids': 123
});
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از فیلد های از نوع آرایه به همراه مقداری که می خواهید به آن اضافه شود. |
تابع analika.visitor.union
با استفاده از این تابع می توانید برای بازدید کننده جاری به یک فیلد مشخص که نوع آرایه در نظر گرفته می شود، مقداری را اضافه کرد.
توجه داشته باشید که در این تابع مقادیر تکراری قابل ثبت نمی باشد.
analika.visitor.union({'product_ids': 1250});
analika.visitor.union({'pages_visited': 'priceList'});
analika.visitor.union({
  'pages_visited': 'homePage',
  'product_ids': 123
});
analika.visitor.union({
  'pages_visited': ['homePage', 'priceList']
});
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از فیلد های از نوع آرایه به همراه مقداری که می خواهید به آن اضافه شود. |
تابع analika.visitor.delete_user
با استفاده از این تابع می توانید بازدید کننده جاری و اطلاعات مربوط به آن را حذف نمایید.
analika.visitor.delete_user();
تابع analika.visitor.increment
با استفاده از این تابع می توانید برای بازدید کننده جاری به یک فیلد مشخص که نوع عددی در نظر گرفته می شود، مقداری را اضافه و یا کم کنید.
چنانچه پارامتر دوم را در نظر نگیرید به صورت پیش فرض به فیلد مورد نظر یک واحد اضافه می گردد.
analika.increment('page_views',1);
analika.increment('page_views',-1);
analika.increment('page_views');
analika.visitor.increment({
  'counter1': 1,
  'counter2': 6
});
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | عنوان فیلدی می باشد که می خواهید به مقدار آن اضافه و یا از آن کم کنید. |
دوم | int | اختیاری | مقداری می باشد که می خواهید به عدد قبلی اضافه و یا از آن کم شود. |
تابع analika.visitor.remove
با استفاده از این تابع می توانید برای بازدید کننده جاری از یک فیلد مشخص که نوع آرایه می باشد، مقدار مشخصی را حذف نمایید.
analika.visitor.remove('foods','pizza');
پارامتر | نوع | وضعیت | توضیحات |
اول | string | اجباری | عنوان فیلدی می باشد که می خواهید مقداری از آن حذف کنید. |
دوم | string, int, date, array, boolean | اجباری | مقداری می باشد که می خواهید از فیلد مورد نظر حذف شود. |
تابع analika.visitor.set_once
با استفاده از این تابع می توانید برای بازدید کننده جاری فقط یک مرتبه برای فیلد مورد نظر خود مقداری را تنظیم نمایید.
چنانچه برای فیلد مورد نظر خود، قبلا مقداری تنظیم شده باشد، با این تابع امکان تغییر آن را ندارید.
analika.visitor.set_once('First Login Date', new Date());
analika.visitor.set_once({
  'First Login Date': new Date(),
  'Starting Plan': 'Premium'
});
نوع پارامتر ورودی | وضعیت | توضیحات |
json | اجباری | آبجکتی از فیلد هایی می باشد که می خواهید فقط یک مرتبه برای بازدید کننده تنظیم شود. |
تابع analika.visitor.track_charge
با استفاده از این تابع می توانید برای بازدید کننده جاری افزایش شارژ را ثبت نمایید.
analika.visitor.track_charge(1500);
analika.visitor.track_charge(156.5,{'date': new Date()});
پارامتر | نوع | وضعیت | توضیحات |
اول | int, float | اجباری | مقدار شارژ |
دوم | json | اختیاری | آبجکتی می باشد که می خواهید همراه آن ثبت شود و می توانید آن را نادیده بگیرید. |
تابع analika.visitor.clear_charges
با استفاده از این تابع می توانید شارژ بازدید کننده جاری را حذف نمایید.
analika.visitor.clear_charges();
تابع analika.visitor.unset
با استفاده از این تابع می توانید فیلد مشخصی را از خصوصیات بازدید کننده جاری را حذف نمایید.
analika.visitor.unset('food');
analika.visitor.unset(['food', 'gender']);
پارامتر | نوع | وضعیت | توضیحات |
اول | string, array | اجباری | فیلد یا فیلد هایی که می خواهید از خصوصیات بازدید کننده حذف نمایید. |