وقتی از Firebase Remote Config برای استقرار تنظیمات برنامهای با پایگاه کاربر فعال استفاده میکنید، میخواهید مطمئن شوید که این کار را بهدرستی انجام میدهید. میتوانید از آزمایشهای A/B Testing برای تعیین بهترین موارد زیر استفاده کنید:
- بهترین روش برای پیادهسازی ویژگی برای بهینهسازی تجربه کاربری. اغلب اوقات، توسعهدهندگان نرمافزار تا زمانی که رتبهبندی برنامهشان در فروشگاه برنامهها کاهش نیابد، متوجه نمیشوند که کاربرانشان از ویژگی جدید یا تجربه کاربری بهروزشده خوششان نمیآید. A/B Testing میتواند به شما کمک کند بسنجید که آیا کاربران شما انواع جدید ویژگیها را دوست دارند یا اینکه برنامه را همانطور که هست ترجیح میدهند. بهعلاوه، نگه داشتن اکثر کاربران در گروه پایه تضمین میکند که اکثر پایگاه کاربران شما میتوانند بدون تجربه هیچ تغییری در رفتار یا ظاهر برنامه، تا پایان آزمایش به استفاده از برنامه ادامه دهند.
- بهترین روش برای بهینهسازی تجربه کاربری برای هدف کسبوکار. گاهیاوقات تغییراتی در محصول اعمال میکنید تا سنجهای مثل درآمد یا حفظ مشتری را به حداکثر برسانید. با A/B Testing، هدف کسبوکارتان را تنظیم میکنید، و Firebase تجزیهوتحلیل آماری را انجام میدهد تا مشخص کند آیا متغیری عملکرد بهتری نسبتبه خط مبنا برای هدف انتخابیتان دارد یا نه.
برای آزمایش A/B گونههای ویژگی با خط مبنا، کارهای زیر را انجام دهید:
- آزمایشتان را ایجاد کنید.
- آزمایشتان را مدیریت کنید.
ایجاد آزمایش
آزمایش Remote Config به شما امکان میدهد چندین متغیر را در یک یا چند پارامتر Remote Config ارزیابی کنید.
مطمئن شوید Google Analytics در پروژهتان فعال باشد تا آزمایش به دادههای Analytics دسترسی داشته باشد.
اگر هنگام ایجاد پروژهتان Google Analytics را فعال نکردهاید، میتوانید آن را در برگه
تنظیمات > ادغامها کنسول Firebase فعال کنید.در کنسول Firebase، به DevOps و تعامل > A/B Testing بروید
روی ایجاد آزمایش کلیک کنید، سپس وقتی از شما خواسته شد سرویسی را که میخواهید با آن آزمایش کنید انتخاب کنید، Remote Config را انتخاب کنید.
در بخش متغیرها، یک خط پایه و حداقل یک متغیر برای آزمایش انتخاب کنید. میتوانید یک یا چند پارامتر را برای آزمایش اضافه کنید. میتوانید این مرحله را تکرار کنید تا چندین پارامتر به آزمایشتان اضافه کنید.
(اختیاری) برای افزودن بیشاز یک متغیر به آزمایشتان، روی افزودن متغیر دیگر کلیک کنید.
یک یا چند پارامتر را برای انواع خاص تغییر دهید. هر پارامتر تغییرنیافتهای برای کاربرانی که در آزمایش گنجانده نشدهاند یکسان است.
وزن متغیر را ازهم باز کنید تا وزن متغیر را برای آزمایش مشاهده کنید یا تغییر دهید. بهطور پیشفرض، هر متغیر وزن یکسانی دارد. توجه داشته باشید که وزنهای نابرابر ممکن است زمان جمعآوری داده را افزایش دهد و وزنها را نمیتوان پساز شروع آزمایش تغییر داد.
معیارهای هدفیابی را برای آزمایشتان بااستفاده از شرایط Remote Config تعریف کنید:
استفاده مجدد از شرط موجود: اگر شرط موجودی در Remote Config الگوی شما ازقبل با مخاطبان هدف شما مطابقت دارد، آن را از فهرست انتخاب کنید.
ترتیب ارزیابی شرایط را تأیید کنید: مطمئن شوید که شرایط شما در صفحه شرایط بهترتیب اولویت صحیح سازماندهی شدهاند. چون Remote Config شرایط را بهصورت متوالی از بالا به پایین ارزیابی میکند، شرایط دیگر با اولویت بالاتر میتوانند مانع از رسیدن تعداد کافی کاربران به شرایط مرتبط با آزمایش شما شوند.
ایجاد شرط جدید: اگر هیچکدام از شرایط موجود الزامات هدفیابی شما را برآورده نمیکند، یا اگر ترجیح میدهید شرط موجودی را تکرار کنید (برای مثال، برای جلوگیری از قفل کردن شرطی که توسط پارامترهای دیگر همرسانی میشود)، ابتدا با انتخاب برنامهای که از آزمایش شما استفاده میکند، شرط جدیدی ایجاد کنید. اگر پارامتری که آزمایش میکنید از شرط موجود (یا شرط همپوشان دیگر) نیز استفاده میکند، مطمئن شوید که شرط آزمایش جدید بالاتر از شرط موجود در برگه شرایط قرار گرفته باشد (تا اولویت ارزیابی بالاتری داشته باشد)؛ درغیراینصورت، کاربران ابتدا با شرط موجود مطابقت داده میشوند و وارد آزمایش نمیشوند.
سپس میتوانید با کلیک کردن روی و و انتخاب یک یا چند گزینه از فهرست زیر، زیرمجموعه خاصی از کاربران را هدفیابی کنید:
- نسخه: یک یا چند نسخه از برنامهتان
- شماره ساخت: شماره ساخت (Apple) یا کد نسخه (Android) برنامه شما
- پلاتفرم: یک یا چند پلاتفرم (iOS، Android، یا وب) برای هدفیابی
- سیستمعامل: کاربران برنامه وب را براساس سیستمعامل و نسخه آن هدفیابی کنید
- مرورگر: کاربران برنامه وب را براساس مرورگر وب و نسخه مرورگرشان هدفیابی کنید
- دسته دستگاه: کاربران برنامه وب را براساس اینکه دستگاهشان تلفن همراه است یا نه هدفیابی کنید
- زبانها: یک یا چند زبان و منطقه زبانی که برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده میشود
- کشور/ منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که باید در آزمایش گنجانده شوند
- مخاطبان کاربر: Analytics مخاطب استفادهشده برای هدفیابی کاربرانی که ممکن است در آزمایش گنجانده شوند
- مشخصه کاربر: یک یا چند Analytics مشخصه کاربر برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
- کاربر در درصد تصادفی: درصد تصادفی انتخابشدهای از کاربران را در محدوده صدک تعریفشده هدفیابی کنید
- بخش واردشده: کاربرانی را هدف قرار دهید که به بخشهای واردشده سفارشی بارگذاریشده در پروژهتان تعلق دارند
- تاریخ/زمان: کاربران را براساس پنجره تاریخ و زمان مشخصشده هدفیابی کنید
- اولین باز کردن: کاربران را براساس اولین باری که برنامهتان را باز کردهاند هدف قرار دهید
- شناسه نصب: دستگاههای آزمایشی یا نمونههای کارخواه خاصی را بااستفاده از «شناسههای نصب Firebase» (FID) آنها هدفیابی کنید
- کاربر وجود دارد: همه کاربران را در همه برنامههای پروژه هدف قرار دهید
- سیگنال سفارشی: کاربران را براساس سیگنالهای کلید-مقدار سفارشی سمت کارخواه که در زمان اجرا ارسال میشوند هدفیابی کنید
نمایش: را تنظیم کنید: درصدی از پایگاه کاربر برنامهتان را که با معیارهای تنظیمشده در هدفیابی مطابقت دارد و میخواهید بهطور مساوی بین خط پایه و یک یا چند متغیر در آزمایشتان تقسیم شود وارد کنید. این مقدار میتواند هر درصدی بین ۰٪ تا ۱۰۰٪ باشد. کاربران بهطور تصادفی به هر آزمایش، ازجمله آزمایشهای تکراری، اختصاص داده میشوند.
درصورت تمایل، رویداد فعالسازی تنظیم کنید تا مطمئن شوید فقط دادههای کاربرانی که ابتدا رویداد Analytics را راهاندازی کردهاند در آزمایشتان شمرده میشود. توجه داشته باشید که همه کاربرانی که با پارامترهای هدفیابی شما مطابقت دارند، مقادیر آزمایشی Remote Config را دریافت خواهند کرد، اما فقط کسانی که رویداد فعالسازی را راهاندازی میکنند در نتایج آزمایش شما گنجانده خواهند شد.
برای اطمینان از معتبر بودن آزمایش، مطمئن شوید رویدادی که انتخاب میکنید پساز فعال شدن مقادیر پیکربندی واکشیشده توسط برنامهتان رخ میدهد. علاوهبراین، از رویدادهای زیر نمیتوان استفاده کرد زیرا همیشه قبلاز فعال شدن مقادیر واکشیشده اتفاق میافتند:
app_installapp_removeapp_update
رویداد Analytics که بهعنوان رویداد فعالسازی انتخاب میکنید نباید بهعنوان سنجه اصلی (یا سنجه اضافی) در همان آزمایش استفاده شود. انجام این کار باعث ایجاد خطای اعتبارسنجی در کنسول Firebase میشود و از راهاندازی آزمایشتان جلوگیری میکند.
برای اهداف آزمایش، سنجه اصلی را برای پیگیری انتخاب کنید و هر سنجه دیگری را که میخواهید پیگیری کنید از فهرست اضافه کنید. این موارد شامل اهداف داخلی (خریدها، درآمد، حفظ، کاربران بدون خرابی، و غیره)، رویدادهای تبدیل Analytics، و سایر رویدادهای Analytics میشود. در پایان، روی بعدی کلیک کنید.
روی ذخیره کلیک کنید تا آزمایشتان ذخیره شود. برای شروع اجرای آزمایشتان، باید الگو را منتشر کنید.
شما مجاز به داشتن حداکثر ۳۰۰ آزمایش در هر پروژه (شامل عرضه) هستید، که میتواند شامل حداکثر ۲۴ آزمایش و عرضه درحال اجرا باشد، و بقیه بهعنوان آزمایشهای تکمیلشده درنظر گرفته میشوند.
مدیریت آزمایش
وقتی آزمایشی با Remote Config ایجاد میکنید، میتوانید آزمایشتان را شروع کنید، آزمایشتان را درحین اجرا پایش کنید، و تعداد کاربران موجود در آزمایش درحال اجرای خود را افزایش دهید.
وقتی آزمایشتان تمام شد، میتوانید تنظیمات استفادهشده توسط گونه برنده را یادداشت کنید و سپس آن تنظیمات را برای همه کاربران عرضه کنید. یا میتوانید آزمایش دیگری اجرا کنید.
ویرایش آزمایش
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
- روی درحال اجرا کلیک کنید، روی آزمایشی که میخواهید ویرایش کنید کلیک کنید.
- روی منوِ بافت () کلیک کنید و روی ویرایش آزمایش درحال اجرا کلیک کنید.
- برای تأیید اینکه برنامهتان کاربرانی دارد که در آزمایشتان گنجانده میشوند، جزئیات را ازهم باز کنید و ببینید آیا عددی بزرگتر از ۰٪ در بخش هدفیابی و توزیع وجود دارد (برای مثال، ۱٪ از کاربران با معیارها مطابقت دارند).
پایش آزمایش
وقتی آزمایشی برای مدتی اجرا شد، میتوانید پیشرفت آن را بررسی کنید و ببینید نتایج شما برای کاربرانی که تاکنون در آزمایشتان شرکت کردهاند چگونه است.
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
روی درحال اجرا یا تکمیلشده کلیک کنید، و سپس روی عنوان آزمایشتان کلیک کنید یا آن را جستجو کنید. در این صفحه میتوانید آمار مشاهدهشده و مدلسازیشده مختلفی را درباره آزمایشتان مشاهده کنید، ازجمله:
- ٪ تفاوت از مقدار پایه: معیاری برای بهبود سنجه برای متغیری معین در مقایسه با مقدار پایه. با مقایسه کردن محدوده مقدار برای متغیر با محدوده مقدار برای خط مبنا محاسبه میشود.
- احتمال زدن خط مبنا: احتمال تخمینی اینکه یک متغیر معین خط مبنا را برای سنجه انتخابشده بزند.
- observed_metric بهازای هر کاربر: براساس نتایج آزمایش، این محدوده پیشبینیشدهای است که مقدار سنجه درطول زمان در آن قرار خواهد گرفت.
- مجموع observed_metric: مقدار تجمعی مشاهدهشده برای خط مبنا یا متغیر. این مقدار برای اندازهگیری میزان عملکرد هریک از گونههای آزمایش استفاده میشود و برای محاسبه بهبود، محدوده مقدار، احتمال زدن خط مبنا، و احتمال بهترین گونه بودن استفاده میشود. بسته به سنجهای که اندازهگیری میشود، این ستون ممکن است با برچسب «مدت برای هر کاربر»، «درآمد برای هر کاربر»، «نرخ حفظ»، یا «نرخ تبدیل» نشان داده شود.
پساز اینکه آزمایشتان برای مدتی اجرا شد (۱۴ روز برای Remote Config)، دادههای این صفحه نشان میدهد کدام متغیر، درصورت وجود، «پیشتاز» است. برخیاز اندازهگیریها با نمودار میلهای همراه است که دادهها را در قالب تصویری ارائه میدهد.
عرضه کردن آزمایش برای همه کاربران
پساز اینکه آزمایش بهاندازه کافی اجرا شد و «پیشتاز» یا متغیر برنده را برای سنجه هدفتان بهدست آوردید، میتوانید آزمایش را برای ۱۰۰٪ کاربران منتشر کنید. این کار به شما امکان میدهد متغیری را برای انتشار برای همه کاربران در آینده انتخاب کنید. حتی اگر آزمایشتان برنده مشخصی نداشته باشد، همچنان میتوانید انتخاب کنید که گونهای را برای همه کاربرانتان منتشر کنید.
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
- روی تکمیلشده یا درحال اجرا کلیک کنید، روی آزمایشی که میخواهید برای همه کاربران عرضه شود کلیک کنید، روی منوِ زمینهای () عرضه کردن متغیر کلیک کنید.
- با انجام دادن کارهای زیر، آزمایشتان را برای همه کاربران عرضه کنید:
- برای آزمایش Remote Config، متغیری را انتخاب کنید تا مشخص شود کدام مقادیر پارامتر Remote Config بهروز شود. معیارهای هدفیابی تعریفشده هنگام ایجاد آزمایش بهعنوان شرط جدیدی در الگوی شما اضافه میشود تا اطمینان حاصل شود که عرضه فقط بر کاربرانی که هدف آزمایش هستند تأثیر میگذارد. پساز کلیک کردن روی مرور در پیکربندی از راه دور برای مرور تغییرات، روی انتشار تغییرات کلیک کنید تا عرضه تکمیل شود.
ازهم باز کردن آزمایش
اگر متوجه شدید که آزمایشی کاربران کافی برای A/B Testing جذب نمیکند تا بتواند پیشرو را اعلام کند، میتوانید توزیع آزمایشتان را افزایش دهید تا به درصد بیشتری از پایگاه کاربر برنامه دسترسی پیدا کنید.
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
- آزمایش درحال اجرا را که میخواهید ویرایش کنید انتخاب کنید.
- در نمای کلی آزمایش، روی منوِ بافت () کلیک کنید و سپس روی ویرایش آزمایش درحال اجرا کلیک کنید.
- بخش هدفیابی در نوار کناری گزینهای را برای افزایش درصد کاربرانی که در آزمایش درحال اجرا هستند نمایش میدهد. عددی بزرگتر از درصد فعلی انتخاب کنید و روی انتشار کلیک کنید. آزمایش به درصد کاربرانی که مشخص کردهاید ارسال خواهد شد.
تکرار کردن آزمایش
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
- آزمایش درحال اجرا یا تکمیلشدهای را که میخواهید متوقف شود انتخاب کنید.
- روی تکمیلشده یا درحال اجرا کلیک کنید، نشانگر را روی آزمایشتان نگه دارید، روی منوِ بافت () کلیک کنید، و سپس روی تکرار آزمایش یا توقف آزمایش کلیک کنید.
توقف آزمایش
- در بخش DevOps و تعامل در منو پیمایش Firebase کنسول، روی Remote Config کلیک کنید.
- روی برگه آزمایشهای A/B کلیک کنید.
- آزمایش درحال اجرا یا تکمیلشدهای را که میخواهید متوقف شود انتخاب کنید.
- روی تکمیلشده یا درحال اجرا کلیک کنید، نشانگر را روی آزمایشتان نگه دارید، روی منوِ بافت () کلیک کنید، و سپس روی توقف آزمایش کلیک کنید.
شناسایی کارخواه وب و پایداری آزمایش
وقتی کاربر برای اولینبار برنامه وبی را بااستفاده از Firebase A/B Testing در مرورگر راهاندازی میکند، شناسه نصب Firebase (FID) یکتایی تولید میشود. این شناسه نصب Firebase بهطور مداوم در IndexedDB مرورگر ذخیره میشود تا نمونه برنامه را در جلسات مختلف شناسایی کند.
Firebase A/B Testing از FID برای اختصاص دادن کاربران به انواع آزمایش استفاده میکند و Google Analytics از آن برای انبوهش رویدادها برای اندازهگیری و تحلیل رفتار کاربر در هر نوع استفاده میکند.
چون FID در IndexedDB ذخیره میشود، Firebase A/B Testing کاربر را بهعنوان کاربر جدید درنظر میگیرد اگر از مرورگر دیگری یا در پنجره ناشناس به برنامهتان دسترسی پیدا کند، یا اگر IndexedDB مرورگرش را پاک کند. این یعنی ممکن است کاربر هنگام استفاده از مرورگرها یا جلسههای مرور مختلف، در انواع مختلف آزمایش گنجانده شود.
هدفیابی کاربر
میتوانید کاربرانی را که میخواهید در آزمایشتان شرکت کنند بااستفاده از معیارهای هدفیابی کاربر زیر هدف قرار دهید.
انواع قانون زیر در کنسول Firebase پشتیبانی میشود. ویژگیهای معادل در Remote Config REST API دردسترس است، همانطور که در مرجع عبارت شرطی بهتفصیل شرح داده شده است.
| نوع قانون | اپراتور(ها) | مقدار(ها) | توجه |
| برنامه | == | از فهرست «شناسههای برنامه» برای برنامههای مرتبط با پروژه Firebase خود انتخاب کنید. | وقتی برنامهای را به Firebase اضافه میکنید، شناسه بسته ترکیبی یا نام بسته Android را وارد میکنید که مشخصهای را تعریف میکند که بهعنوان شناسه برنامه در قوانین Remote Config نشان داده میشود.
از این مشخصه بهصورت زیر استفاده کنید:
|
| نسخه برنامه |
برای مقادیر رشتهای: دقیقاً مطابقت دارد، دربردارد، دربرندارد، دربردارنده عبارت باقاعده است برای مقادیر عددی: <، <=، =، !=، >، >= |
نسخه(های) برنامهتان را برای هدفیابی مشخص کنید. قبلاز استفاده از این قانون، باید از قانون شناسه برنامه برای انتخاب برنامه Android/Apple مرتبط با پروژه Firebase خود استفاده کنید. |
برای پلاتفرمهای Apple: از CFBundleShortVersionString برنامه استفاده کنید. توجه: مطمئن شوید برنامه Apple شما از نسخه ۶.۲۴.۰ یا بالاتر کیت توسعه نرمافزار پلاتفرمهای Firebase Apple استفاده میکند، زیرا CFBundleShortVersionString در نسخههای قبلی ارسال نمیشود (یادداشتهای انتشار را ببینید). برای Android: از versionName برنامه استفاده کنید. توجه: عملگرهای مقایسه عددی ( مقایسههای رشتهای برای این قانون حروفحساس هستند. هنگام استفاده از عملگرهای دقیقاً مطابقت دارد، شامل، شامل نمیشود ، یا شامل عبارت باقاعده است، میتوانید چند مقدار را انتخاب کنید. هنگام استفاده از عملگر حاوی عبارت باقاعده، میتوانید عبارتهای باقاعده را در قالب RE2 ایجاد کنید. عبارت باقاعده شما میتواند با همه یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت دادن ابتدا، انتها، یا کل رشته هدف استفاده کنید. |
| شماره ساخت |
برای مقادیر رشتهای: دقیقاً مطابقت دارد، دربردارد، دربرندارد، عبارت باقاعده برای مقادیر عددی: =، ≠، >، ≥، <، ≤ |
ساخت(های) برنامهتان را برای هدفیابی مشخص کنید. قبلاز استفاده از این قانون، باید از قانون شناسه برنامه برای انتخاب برنامه Apple یا Android مرتبط با پروژه Firebase خود استفاده کنید. |
این اپراتور فقط برای برنامههای Apple و Android دردسترس است. این شناسه با CFBundleVersion برنامه برای Apple و versionCode برای Android مطابقت دارد. مقایسههای رشتهای برای این قانون به حروف بزرگ و کوچک حساس است. هنگام استفاده از عملگرهای دقیقاً مطابقت دارد، دربردارد، دربرندارد، یا دربردارنده عبارت باقاعده است، میتوانید چند مقدار را انتخاب کنید. هنگام استفاده از عملگر حاوی عبارت باقاعده، میتوانید عبارتهای باقاعده را در قالب RE2 ایجاد کنید. عبارت باقاعده شما میتواند با همه یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت دادن ابتدا، انتها، یا کل رشته هدف استفاده کنید. |
| Platform | == | iOS Android وب |
|
| سیستمعامل | == |
سیستمعامل(های) موردنظر را برای هدفیابی مشخص کنید. قبلاز استفاده از این قانون، باید از قانون شناسه برنامه برای انتخاب برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. |
این قانون برای نمونه برنامه وب دادهشده به true ارزیابی میشود اگر
سیستمعامل و نسخه آن با مقدار هدف در فهرست مشخصشده مطابقت داشته باشد.
|
| مرورگر | == |
مرورگر(های) موردنظر را مشخص کنید. قبلاز استفاده از این قانون، باید از قانون شناسه برنامه برای انتخاب برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. |
این قانون برای نمونه برنامه وب دادهشده به true ارزیابی میشود اگر
مرورگر و نسخه آن با مقدار هدف در فهرست مشخصشده مطابقت داشته باشد.
|
| دسته دستگاه | is, is not | تلفن همراه | این قانون ارزیابی میکند که دستگاهی که به برنامه وب شما دسترسی دارد، تلفن همراه است یا غیرتلفن همراه (رایانه یا کنسول). این نوع قانون فقط برای برنامههای وب دردسترس است. |
| زبانها | داخل | یک یا چند زبان را انتخاب کنید. | این قانون برای نمونه برنامه دادهشده به true ارزیابی میشود اگر آن
نمونه برنامه در دستگاهی نصب شده باشد که از یکی از زبانهای فهرستشده استفاده میکند.
|
| کشور/منطقه | داخل | یک یا چند منطقه یا کشور را انتخاب کنید. | این قانون برای نمونه برنامه دادهشده، اگر نمونه در هرکدام از مناطق یا کشورهای فهرستشده باشد،
به true ارزیابی میشود. کد کشور دستگاه
بااستفاده از نشانی IP دستگاه در درخواست یا کد کشور
تعیینشده توسط Firebase Analytics (اگر دادههای Analytics با Firebase همرسانی شده باشد) تعیین میشود.
|
| مخاطب(های) کاربر | شامل حداقل یک مورد | یک یا چند مخاطب را از فهرست Google Analytics مخاطبی که برای پروژهتان راهاندازی کردهاید انتخاب کنید. | این قانون به قانون «شناسه برنامه» نیاز دارد تا برنامهای را که با پروژه Firebase شما مرتبط است انتخاب کند.
توجه: چون بسیاری از مخاطبان Analytics براساس رویدادها یا ویژگیهای کاربر تعریف میشوند، که میتواند براساس کنشهای کاربران برنامه باشد، ممکن است مدتی طول بکشد تا قانون کاربر در مخاطب برای نمونه برنامه خاصی اعمال شود. این یعنی حتی اگر کاربری ازنظر فنی واجدشرایط مخاطب باشد،
اگر Analytics هنوز کاربر را به مخاطب اضافه نکرده باشد،
وقتی |
| مشخصه کاربر |
برای مقادیر رشتهای:
شامل، شامل نمیشود، دقیقاً مطابقت دارد، شامل عبارت باقاعده است برای مقادیر عددی: =، ≠، >، ≥، <، ≤ توجه: در کلاینت، فقط میتوانید مقادیر رشتهای برای مشخصههای کاربر تنظیم کنید. برای شرایطی که از عملگرهای عددی استفاده میکنند، Remote Config مقدار مشخصه کاربر مربوطه را به عدد صحیح/ اعشاری تبدیل میکند. |
از فهرست ویژگیهای کاربر Google Analytics دردسترس انتخاب کنید. | برای آشنایی با نحوه استفاده از مشخصههای کاربر برای سفارشیسازی برنامه برای
بخشهای بسیار خاصی از پایگاه کاربر، به
Remote Config و مشخصههای کاربر مراجعه کنید.
برای کسب اطلاعات بیشتر درباره ویژگیهای کاربر، راهنماهای زیر را ببینید: هنگام استفاده از عملگرهای دقیقاً مطابقت دارد، دربردارد، دربرندارد، یا دربردارنده عبارت باقاعده است، میتوانید چند مقدار را انتخاب کنید. هنگام استفاده از عملگر حاوی عبارت باقاعده، میتوانید عبارتهای باقاعده را در قالب RE2 ایجاد کنید. عبارت باقاعده شما میتواند با همه یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت دادن ابتدا، انتها، یا کل رشته هدف استفاده کنید. توجه: ویژگیهای کاربر که بهطور خودکار جمعآوری شدهاند هنگام ایجاد شرایط Remote Config دردسترس نیستند. |
| کاربر در درصد تصادفی | لغزنده (در کنسول Firebase. REST API
از عملگرهای <=، >، و between استفاده میکند.
|
0-100 |
از این فیلد برای اعمال تغییر در نمونه تصادفی از نمونههای برنامه (با اندازه نمونههای کوچک تا ۰٫۰۰۰۱٪) استفاده کنید، بااستفاده از ابزاره لغزنده برای تقسیم کاربران بههمریخته تصادفی (نمونههای برنامه) به گروهها. هر نمونه برنامه بهطور مداوم به یک عدد صحیح یا کسری تصادفی، براساس یک مقدار اولیه تعریفشده در آن پروژه، نگاشت میشود. قانون از کلید پیشفرض (که بهصورت ویرایش مقدار بنیادی در کنسول Firebase نشان داده میشود) استفاده خواهد کرد، مگراینکه مقدار بنیادی را اصلاح کنید. با پاک کردن فیلد دانه میتوانید قانون را به استفاده از کلید پیشفرض برگردانید. برای اینکه بهطور مداوم نمونههای برنامه یکسانی را در محدودههای درصد مشخصشده هدف قرار دهید، از مقدار بنیادی یکسانی در شرایط استفاده کنید. یا با مشخص کردن یک مقدار اولیه جدید، گروه جدیدی از نمونههای برنامه را که بهطور تصادفی اختصاص داده شدهاند برای محدوده درصد معینی انتخاب کنید. برای مثال، برای ایجاد دو شرط مرتبط که هرکدام برای ۵٪ غیرهمپوشان از کاربران برنامه اعمال میشود، میتوانید یک شرط را برای مطابقت با درصدی بین ۰٪ و ۵٪ پیکربندی کنید و شرط دیگر را برای مطابقت با محدودهای بین ۵٪ و ۱۰٪ پیکربندی کنید. برای اینکه برخیاز کاربران بهطور تصادفی در هر دو گروه ظاهر شوند، از مقادیر بنیادی متفاوتی برای قوانین درون هر شرط استفاده کنید. |
| بخش واردشده | داخل | یک یا چند بخش واردشده را انتخاب کنید. | این قانون مستلزم راهاندازی بخشهای واردشده سفارشی است. |
| تاریخ/ساعت | قبل، بعد | تاریخ و زمان مشخصشده، در منطقه زمانی دستگاه یا منطقه زمانی مشخصشدهای مثل «(GMT+11) وقت سیدنی». | زمان فعلی را با زمان واکشی دستگاه مقایسه میکند. |
| نخستین باز کردن | قبل، بعد | کاربران را براساس اولین باری که برنامهتان را باز میکنند هدفیابی کنید:
|
هدفیابی کاربر براساس اولین باز کردن پساز انتخاب برنامه Android، iOS، یا وب دردسترس است. به کیتهای توسعه نرمافزار زیر نیاز دارد:
Analytics باید درطول اولین رویداد باز در کارخواه فعال شده باشد. |
| شناسه نصب | داخل | یک یا چند شناسه نصب (حداکثر ۵۰) را برای هدفیابی مشخص کنید. | این قانون برای نصب مشخصی به true ارزیابی میشود اگر شناسه آن نصب در فهرست مقادیر جداشده با کاما باشد.
برای آشنایی با نحوه دریافت شناسههای نصب، به بازیابی شناسههای مشتری مراجعه کنید. |
| کاربر وجود دارد | (بدون اپراتور) | همه کاربران همه برنامههای موجود در پروژه فعلی را هدف قرار میدهد. |
از این قانون شرطی برای مطابقت دادن همه کاربران در پروژه، صرفنظر از برنامه یا پلاتفرم، استفاده کنید. |
| سیگنال سفارشی |
برای مقادیر رشتهای:
شامل، شامل نیست، دقیقاً مطابقت دارد، شامل عبارت باقاعده است برای مقادیر عددی: =، ≠، >، ≥، <، ≤ برای مقادیر نسخه: =، ≠، >، ≥، <، ≤ |
مقایسههای رشتهای برای این قانون حروفحساس هستند. هنگام استفاده از عملگرهای «دقیقاً مطابقت دارد»، «شامل میشود»، «شامل نمیشود»، یا «شامل عبارت باقاعده میشود»، میتوانید چند مقدار را انتخاب کنید. هنگام استفاده از عملگر عبارت باقاعده «شامل»، میتوانید عبارتهای باقاعده را در قالب RE2 ایجاد کنید. عبارت باقاعده شما میتواند با همه یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت دادن ابتدا، انتها، یا کل رشته هدف استفاده کنید. انواع دادههای زیر برای محیطهای مشتری پشتیبانی میشود:
عددی که نشاندهنده شماره(های) نسخه برای مطابقت است (برای مثال، ۲.۱.۰). |
برای اطلاعات بیشتر درباره شرایط سیگنال سفارشی و عبارتهای شرطی قابلاستفاده، به شرایط سیگنال سفارشی و عناصر مورداستفاده برای ایجاد شرایط مراجعه کنید. |
سنجههای A/B Testing
وقتی آزمایشتان را ایجاد میکنید، سنجه اصلی یا هدف را انتخاب میکنید که برای تعیین نوع برنده استفاده میشود. همچنین باید سنجههای دیگر را ردیابی کنید تا به شما کمک کند عملکرد هر متغیر آزمایش را بهتر درک کنید و روندهای مهمی را که ممکن است برای هر متغیر متفاوت باشد ردیابی کنید، مانند حفظ کاربر، پایداری برنامه، و درآمد خرید درونبرنامه. میتوانید حداکثر پنج سنجه غیرهدف را در آزمایشتان پیگیری کنید.
برای مثال، فرض کنید از Remote Config برای راهاندازی دو جریان بازی متفاوت در برنامهتان استفاده میکنید و میخواهید برای خریدهای درونبرنامه و درآمد آگهی بهینهسازی کنید، اما میخواهید پایداری و حفظ کاربر هریک از انواع را نیز ردیابی کنید. در این مورد، میتوانید کل درآمد تخمینی را بهعنوان معیار هدف خود انتخاب کنید زیرا شامل درآمد خرید درونبرنامه و درآمد آگهی میشود، و سپس، برای سایر معیارهای قابلپیگیری، میتوانید موارد زیر را اضافه کنید:
- برای پیگیری حفظ کاربر روزانه و هفتگی، حفظ (۲-۳ روز) و حفظ (۴-۷ روز) را اضافه کنید.
- برای مقایسه پایداری بین دو جریان بازی، کاربران بدون خرابی را اضافه کنید.
- برای دیدن نماهای دقیقتر از هر نوع درآمد، درآمد خرید و درآمد آگهی تخمینی را اضافه کنید.
جدولهای زیر جزئیات مربوط به نحوه محاسبه سنجههای هدف و سنجههای دیگر را ارائه میدهند.
سنجههای هدف
| سنجه | شرح |
|---|---|
| کاربران بدون تجربه خرابی | درصد کاربرانی که درطول آزمایش با خطاهایی در برنامهتان که توسط کیت توسعه نرمافزار Firebase Crashlytics شناسایی شدهاند مواجه نشدهاند.
توجه: Firebase Crashlytics برای برنامههای وب پشتیبانی نمیشود. |
| درآمد تخمینی آگهی | درآمد تخمینی آگهی. |
| درآمد کل تخمینی | مقدار ترکیبی برای خرید و درآمد آگهی تخمینی. |
| درآمد خرید | مقدار ترکیبی برای همه رویدادهای purchase و
in_app_purchase.
|
| نگهداری (۱ روز) | تعداد کاربرانی که بهطور روزانه به برنامهتان برمیگردند. |
| نگهداری (۲ تا ۳ روز) | تعداد کاربرانی که ظرف ۲ تا ۳ روز به برنامهتان برمیگردند. |
| نگهداری (۴ تا ۷ روز) | تعداد کاربرانی که ظرف ۴ تا ۷ روز به برنامهتان برمیگردند. |
| نگهداری (۸ تا ۱۴ روز) | تعداد کاربرانی که ظرف ۸ تا ۱۴ روز به برنامهتان برمیگردند. |
| نگهداری (بیشاز ۱۵ روز) | تعداد کاربرانی که ۱۵ روز یا بیشتر پساز آخرین استفاده از برنامهتان به آن برمیگردند. |
| first_open | رویداد Analytics که وقتی کاربر برای اولینبار پساز نصب یا بازنصب برنامه آن را باز میکند، راهاندازی میشود. بهعنوان بخشی از قیف تبدیل استفاده میشود. |
سنجههای دیگر
| سنجه | شرح |
|---|---|
| notification_dismiss | رویداد Analytics که وقتی اعلانی که توسط «سازنده اعلانها» ارسال شده است بسته میشود، راهاندازی میشود (فقط Android). |
| notification_receive | رویداد Analytics که وقتی اعلانی که توسط «سازنده اعلانها» ارسال شده است درحالیکه برنامه در پسزمینه است دریافت میشود، راهاندازی میشود (فقط Android). |
| os_update | رویداد Analytics که زمان بهروزرسانی سیستمعامل دستگاه به نسخه جدید را ردیابی میکند.برای کسب اطلاعات بیشتر، رویدادهای خودکار ثبتشده را ببینید.
این سنجه برای برنامههای وب پشتیبانی نمیشود. |
| screen_view | رویداد Analytics که صفحههای مشاهدهشده در برنامهتان را ردیابی میکند. برای کسب اطلاعات بیشتر، به ردیابی بازدیدهای صفحه مراجعه کنید. |
| session_start | رویداد Analytics که جلسههای کاربر را در برنامهتان میشمارد. برای اطلاعات بیشتر، رویدادهای جمعآوریشده بهطور خودکار را ببینید. |
صادر کردن دادههای BigQuery
علاوهبر مشاهده دادههای آزمایش A/B Testing در کنسول Firebase، میتوانید دادههای آزمایش را در BigQuery بازرسی و تحلیل کنید. درحالیکه A/B Testing جدول جداگانهای برای BigQuery ندارد، عضویتهای آزمایش و گونه در هر رویداد Google Analytics در جدولهای رویداد Analytics ذخیره میشود.
ویژگیهای کاربر که حاوی اطلاعات آزمایش هستند بهصورت
userProperty.key like "firebase_exp_%" یا userProperty.key =
"firebase_exp_01" هستند که 01 شناسه آزمایش است و
userProperty.value.string_value حاوی نمایه (مبتنی بر صفر)
گونه آزمایش است.
میتوانید از این ویژگیهای کاربر آزمایش برای استخراج دادههای آزمایش استفاده کنید. این به شما امکان میدهد نتایج آزمایشتان را به روشهای مختلفی تقسیم کنید و نتایج A/B Testing را بهطور مستقل تأیید کنید.
برای شروع، موارد زیر را همانطور که در این راهنما شرح داده شده است تکمیل کنید:
- فعال کردن صادر کردن BigQuery برای Google Analytics در کنسول Firebase
- دسترسی به دادههای A/B Testing بااستفاده از BigQuery
- کاوش پرسمانهای نمونه
صادر کردن BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
اگر در طرح Spark هستید، میتوانید از جعبه امن BigQuery برای دسترسی به BigQuery بدون هزینه استفاده کنید، مشروط به محدودیتهای جعبه امن. برای اطلاعات بیشتر، قیمتگذاری و محیط آزمایشی BigQuery را ببینید.
ابتدا مطمئن شوید که دادههای Analytics خود را به BigQuery صادر میکنید:
در کنسول Firebase، به
تنظیمات > زبانه «ادغامها» بروید.در کارت BigQuery، روی مدیریت کلیک کنید و تأیید کنید که پروژهتان دادههای Analytics را به BigQuery صادر میکند.
اگر روی کارت پیوند نوشته شده است، باید بیرونبرد را راهاندازی کنید (به مرحله بعدی بروید).
اگر لازم است صادر کردن را راهاندازی کنید:
درباره پیوند دادن Firebase به BigQuery را مرور کنید، سپس روی بعدی کلیک کنید.
در بخش پیکربندی ادغام، Google Analytics را فعال کنید.
منطقهای را انتخاب کنید و تنظیمات برونبرد را انتخاب کنید.
روی پیوند دادن به BigQuery کلیک کنید.
بسته به اینکه چگونه انتخاب کردهاید دادهها را صادر کنید، ممکن است تا یک روز طول بکشد تا جدولها دردسترس قرار گیرند. برای کسب اطلاعات بیشتر درباره صادر کردن دادههای پروژه به BigQuery، به صادر کردن دادههای پروژه به BigQuery مراجعه کنید.
دسترسی به دادههای A/B Testing در BigQuery
قبلاز جستجوی دادهها برای آزمایشی خاص، باید برخی یا همه موارد زیر را برای استفاده در پُرسمان خود دریافت کنید:
- شناسه آزمایش: میتوانید این شناسه را از نشانی وب صفحه
نمای کلی آزمایش دریافت کنید. برای مثال، اگر نشانی وب شما شبیه
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25باشد، شناسه آزمایش ۲۵ است. - Google Analytics شناسه دارایی: این شناسه دارایی ۹ رقمی
Google Analytics شما است. میتوانید این را در
Google Analytics پیدا کنید؛ همچنین وقتی نام پروژهتان را برای نمایش نام جدول رویداد Google Analytics (
project_name.analytics_000000000.events) ازهم باز میکنید، در BigQuery نشان داده میشود. - تاریخ آزمایش: برای نوشتن پُرسمان سریعتر و کارآمدتر،
بهتر است پُرسمانهایتان را به Google Analytics بخشهای جدول رویداد روزانه
که حاوی دادههای آزمایشتان است محدود کنید—جدولهایی که با پسوند
YYYYMMDDمشخص شدهاند. بنابراین، اگر آزمایشتان از ۲ فوریه ۲۰۲۶ تا ۲ مه ۲۰۲۶ اجرا شده باشد، باید_TABLE_SUFFIX between '20260202' AND '20260502'را مشخص کنید. برای مثال، انتخاب مقادیر آزمایشی خاص را ببینید. - نامهای رویداد: معمولاً این نامها با
سنجههای هدف
که در آزمایش پیکربندی کردهاید مطابقت دارند. برای مثال،
in_app_purchaseرویداد،ad_impression، یاuser_retentionرویداد.
پساز جمعآوری اطلاعاتی که برای تولید پُرسمان نیاز دارید:
- در کنسول Google Cloud، به BigQuery بروید.
- پروژهتان را انتخاب کنید، سپس ایجاد پُرسمان SQL را انتخاب کنید.
- پُرسمانتان را وارد کنید. برای دیدن نمونه پُرسمانهایی که میتوانید اجرا کنید، کاوش نمونه پُرسمانها را ببینید.
- روی اجرا کلیک کنید.
پُرسمان کردن دادههای آزمایش بااستفاده از پُرسمان تولیدشده بهطور خودکار در کنسول Firebase
اگر از طرح Blaze استفاده میکنید، صفحه نمای کلی آزمایش یک پُرسمان نمونه ارائه میدهد که نام آزمایش، متغیرها، نام رویدادها، و تعداد رویدادهای آزمایشی را که مشاهده میکنید برمیگرداند.
برای دریافت و اجرای پُرسمان خودکار تولیدشده:
- در کنسول Firebase، به DevOps و تعامل > آزمایش A/B بروید.
- آزمایش A/B Testing را که میخواهید پُرسمان کنید انتخاب کنید تا نمای کلی آزمایش باز شود.
- از منو «گزینهها»، در زیر ادغام BigQuery، پرسوجو کردن دادههای آزمایش را انتخاب کنید. با این کار، پروژهتان در BigQuery در کنسول Google Cloud باز میشود و پُرسمان پایهای ارائه میشود که میتوانید از آن برای پُرسمان دادههای آزمایشتان استفاده کنید.
مثال زیر پُرسمان تولیدشدهای را برای آزمایشی با سه متغیر (ازجمله خط مبنا) بهنام «آزمایش خوشامدگویی زمستانی» نشان میدهد. این گزارش نام آزمایش فعال، نام متغیر، رویداد یکتا، و تعداد رویداد را برای هر رویداد برمیگرداند. توجه داشته باشید که پرسمانساز نام پروژه شما را در نام جدول مشخص نمیکند، زیرا مستقیماً در پروژه شما باز میشود.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
برای نمونههای پُرسمان بیشتر، به کاوش نمونههای پُرسمان بروید.
کاوش پُرسمانهای نمونه
بخشهای زیر نمونههایی از پُرسمانهایی را ارائه میدهند که میتوانید برای استخراج دادههای آزمایش A/B Testing از جدولهای رویداد Google Analytics استفاده کنید.
استخراج مقادیر انحراف معیار خرید و آزمایش از همه آزمایشها
میتوانید از دادههای نتایج آزمایش برای درستیسنجی مستقل نتایج Firebase A/B Testing استفاده کنید. عبارت SQL BigQuery زیر
انواع آزمایش، تعداد کاربران متمایز در هر نوع، و مجموع درآمد کل
از رویدادهای in_app_purchase و ecommerce_purchase، و انحرافهای استاندارد
برای همه آزمایشها در محدوده زمانی مشخصشده بهعنوان تاریخهای شروع
و پایان _TABLE_SUFFIX را استخراج میکند. میتوانید از دادههایی که از این پُرسمان بهدست میآورید با یک
مولد اهمیت آماری برای آزمونهای t یکطرفه استفاده کنید تا تأیید کنید که
نتایجی که Firebase ارائه میدهد با تجزیهوتحلیل خودتان مطابقت دارد.
برای اطلاعات بیشتر درباره نحوه محاسبه استنتاج توسط A/B Testing، تفسیر نتایج آزمایش را ببینید.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
مقادیر آزمایش خاصی را انتخاب کنید
نمونه پُرسمان زیر نشان میدهد که چگونه میتوان دادههای مربوط به یک آزمایش خاص را در BigQuery بهدست آورد. این پُرسمان نمونه نام آزمایش، نامهای متغیر (ازجمله خط پایه)، نامهای رویداد، و تعداد رویدادها را برمیگرداند.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName