@statsig/js-client کتابخانه جاوااسکریپتی سمت مرورگر برای سرویس Statsig هست. با اون می تونی فیچر گیت (فیچر فلگ)، دینامیک کانفیگ و تست A/B رو توی سایت یا اپ وبت اجرا کنی، بدون اینکه برای هر تغییر دوباره دیپلوی کنی، و رفتار کاربرها رو برای سنجش نتیجه ثبت کنی.
نسخه رسمی و بدون تغییر، از منبع رسمی با مجوز ISC؛ هش هر فایل با منبع بررسی شده است.
@statsig/js-client یه بسته npm برای استفاده از Statsig توی مرورگره. Statsig پلتفرمی برای مدیریت فیچر فلگ و اجرای آزمایشه و این کتابخانه، بخش کلاینت جاوااسکریپتی اونه. مشکلی که حل می کنه آشناست: یه قابلیت جدید ساختی و می خوای اول فقط برای بخش کوچیکی از کاربرها روشنش کنی. یا دو طراحی برای صفحه پرداخت داری و می خوای ببینی کدوم بهتر جواب می ده. بدون این جور ابزار باید یا شرط های دستی توی کد بنویسی یا برای هر تغییر دوباره دیپلوی کنی.
کارش پیچیده نیست. توی داشبورد Statsig گیت، کانفیگ و آزمایش هات رو تعریف می کنی. توی کد، با کلید کلاینت و اطلاعات کاربر یه کلاینت می سازی و مقدارها رو می گیری. بعدش می پرسی این کاربر از گیت رد می شه یا نه، یا توی کدوم گروه آزمایش افتاده. رویدادها، مثلا کلیک روی دکمه خرید، رو هم لاگ می کنی تا نتیجه آزمایش رو توی داشبورد ببینی. اگه می خوای توی پروژه تجاری استفاده کنی، مجوز بسته رو هم یه بار از صفحه رسمی npm چک کن.
برای کی مناسبه؟ برای تیم هایی که فرانت جاوااسکریپتی دارن: فروشگاه اینترنتی، اپ SaaS، پنل کاربری یا سایتی که مرتب قابلیت جدید منتشر می کنه. برای یه سایت معرفی ساده یا وردپرس کم بازدید مناسب نیست. آزمایش A/B بدون ترافیک کافی نتیجه قابل اتکایی نمی ده و فقط پیچیدگی اضافه می کنه.
یه نکته مهم هم برای شرایط ایران هست. Statsig سرویس خارجیه و کتابخانه برای گرفتن مقدارها به سرورهای اون وصل می شه. دسترسی از داخل ایران ممکنه کند یا محدود باشه و با شرایط تحریمی هم تغییر کنه. قبل از اینکه منطق محصولت رو به این سرویس وابسته کنی، از شبکه واقعی کاربرهات تستش کن و برای وقتی که جواب نمی ده، یه مقدار پیش فرض امن توی کد بذار. بعضی افزونه های مسدودکننده تبلیغ و ردیاب هم ممکنه درخواست هاش رو ببندن.
موقع استفاده دو چیز یادت باشه. فقط کلید کلاینت رو توی کد فرانت بذار و کلید سرور رو هرگز اونجا نذار. اطلاعات کاربر رو هم حداقلی بفرست و بدون نیاز، داده شخصی حساس نده، چون به یه سرویس بیرونی می ره. نسخه رسمی و بدون تغییر این کتابخانه توی مخزن داخلی ما هم در دسترسه، برای روزهایی که دسترسی به npm یا CDN های خارجی مختل می شه.
راهنمای استفاده
اول یه حساب Statsig بساز و از بخش تنظیمات پروژه، کلید کلاینت رو بردار. بعدش کتابخانه رو به یکی از این دو راه به پروژه اضافه کن:
اگه پروژه ات با npm و باندلر کار می کنه، بسته رو با مدیر بسته نصب کن و توی کدت import کن.
اگه سایتت ساده ست و باندلر نداره، با کد آماده پایین همین صفحه کتابخانه رو به صفحه اضافه کن.
قدم های بعدی توی هر دو حالت تقریبا یکیه:
یه نمونه از StatsigClient بساز و کلید کلاینت و اطلاعات کاربر (مثلا شناسه کاربر) رو بهش بده.
مقداردهی اولیه رو انجام بده و صبر کن مقدارها از سرور برسن. برای صفحه هایی که نباید چشمک بزنن، از قبل تصمیم بگیر تا رسیدن مقدارها چی نشون بدی.
با checkGate برای گیت ها، و با getDynamicConfig یا getExperiment برای کانفیگ و آزمایش، مقدار رو بخون و رفتار صفحه رو بر اساسش عوض کن.
با logEvent رویدادهای مهم رو ثبت کن تا نتیجه آزمایش ها توی داشبورد معنی پیدا کنه.
قبل از انتشار، سناریوی قطع اتصال به سرویس رو هم امتحان کن و مطمئن شو سایتت با مقدار پیش فرض درست کار می کنه. اسم دقیق متدها و گزینه ها رو از مستندات رسمی همون نسخه ای که نصب کردی چک کن.
نشانی مستقیم فایل اصلی 3.15.0https://mirror.wbweb.ir/npm/@statsig/js-client@3.15.0/build/statsig-js-client.min.js
پرسشهای رایج
عملا نه. این کتابخانه فقط کلاینته و مقدار گیت ها، کانفیگ ها و آزمایش ها رو از سرویس Statsig می گیره. باید توی داشبورد اون یه پروژه بسازی، گیت یا آزمایشت رو تعریف کنی و کلید کلاینت رو برداری. بدون اینها کتابخانه چیزی برای نشون دادن نداره.
خود کتابخانه توی مرورگر اجرا می شه، ولی برای گرفتن مقدارها به سرویس خارجی Statsig وصل می شه. دسترسی از ایران ممکنه کند یا قطع باشه و به شرایط تحریم هم بستگی داره. قبل از استفاده توی محصول اصلی از شبکه کاربرهات تستش کن و یه مقدار پیش فرض امن توی کد بذار.
کلید کلاینت برای کدی ساخته شده که توی مرورگر اجرا می شه و دیده شدنش مشکلی نداره. کلید سرور محرمانه ست و فقط باید سمت بک اند بمونه. توی @statsig/js-client فقط از کلید کلاینت استفاده کن و کلید سرور رو نه توی فرانت بذار نه توی مخزن عمومی.
اگه قالب یا فرانت اختصاصی داری و ترافیک کافی هم هست، می شه ازش استفاده کرد؛ مثلا برای تست دو چیدمان صفحه فروش. برای وبلاگ یا سایت معرفی کم بازدید معمولا ارزشش رو نداره، چون آزمایش A/B بدون تعداد بازدید کافی نتیجه معتبری نمی ده.
prebid-universal-creative یه بسته جاوااسکریپتیه که تبلیغ برنده رو توی سایت هایی با Prebid و هدر بیدینگ نشون می ده. این کد توی کریتیو اد سرور قرار می گیره و بعد از تموم شدن مزایده، تبلیغ رو توی جایگاه نشون می ده. مجوزش Apache هست و نسخه رسمی ش توی مخزن ما موجوده.
workbox-cdn یه بسته آماده از کتابخونه Workbox گوگله که بدون ابزار build و فقط با بارگذاری یه اسکریپت می تونی توی سایتت استفاده کنی. با Workbox سرویس ورکر رو راحت تر می نویسی، کش و حالت آفلاین رو مدیریت می کنی و بازدیدهای بعدی سایتت سریع تر باز می شن.
mathjax یه کتابخانه متن باز جاوااسکریپته که فرمول های ریاضی رو توی مرورگر نمایش می ده. فرمولی که با LaTeX، MathML یا AsciiMath نوشتی رو به متن تیز، قابل انتخاب و قابل دسترس تبدیل می کنه، پس لازم نیست از فرمول ها عکس بگیری. مجوزش Apache هست و بسته npm هم داره.
sweetalert2 یه کتابخانه جاوااسکریپته که به جای پنجره های پیش فرض مرورگر، یعنی alert و confirm و prompt، پنجره های پیام، تایید و ورودی تمیز و ریسپانسیو نشون می ده. ظاهرش قابل تنظیمه و طبق معرفی رسمی از دسترس پذیری WAI-ARIA پشتیبانی می کنه. سازنده اش Limon Monte و مجوزش MIT هست.
search-insights یه کتابخانه جاوااسکریپت از Algolia با مجوز MIT هست که کلیک، تبدیل و بازدید کاربرها روی نتیجه های جستجو رو به Insights API خود Algolia گزارش می ده. اگه جستجوی سایتت با Algolia کار می کنه، با این بسته می تونی رفتار کاربرها رو ثبت کنی و کیفیت جستجو رو بهتر کنی.
js-cookie یه کتابخانه جاوااسکریپت ساده و خیلی سبکه که کار با کوکی های مرورگر رو راحت می کنه. با چند تا متد کوتاه می تونی کوکی بسازی، بخونی و پاک کنی و لازم نیست با رشته خام document.cookie سروکله بزنی. مجوزش MIT هست و به کتابخانه دیگه ای وابسته نیست.
آخرین نسخه
۳.۰.۸
نسخهها
۸
بهروزرسانی
چیزی که لازم دارید اینجا نیست؟
نام کتابخانه، افزونه یا قالب را بفرستید؛ پس از بررسی، نسخههای رسمی آن به مخزن اضافه میشود.