کتابخانه جاوااسکریپت آنالیکا

ما در اینجا برای کل 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.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 اجباری فیلد یا فیلد هایی که می خواهید از خصوصیات بازدید کننده حذف نمایید.