آزمایش‌های پیکربندی از راه دور Firebase را با آزمایش A/B ایجاد کنید

وقتی از Firebase Remote Config برای استقرار تنظیمات برای برنامه‌ای با پایگاه کاربر فعال استفاده می‌کنید، می‌خواهید مطمئن شوید که آن را درست انجام داده‌اید. برای تعیین بهترین موارد زیر می‌توانید از آزمایش‌های A/B Testing استفاده کنید:

  • بهترین راه برای پیاده سازی یک ویژگی برای بهینه سازی تجربه کاربر. اغلب اوقات، توسعه دهندگان برنامه یاد نمی گیرند که کاربران آنها از یک ویژگی جدید یا یک تجربه کاربری به روز شده خوششان نمی آید تا زمانی که رتبه برنامه آنها در فروشگاه برنامه کاهش یابد. تست A/B می‌تواند به اندازه‌گیری اینکه آیا کاربران شما انواع جدیدی از ویژگی‌ها را دوست دارند یا اینکه برنامه را همانطور که وجود دارد ترجیح می‌دهند کمک کند. بعلاوه، نگه داشتن بیشتر کاربران خود در یک گروه پایه تضمین می کند که اکثر پایگاه کاربران شما می توانند به استفاده از برنامه شما بدون تغییر در رفتار یا ظاهر آن تا پایان آزمایش ادامه دهند.
  • بهترین راه برای بهینه سازی تجربه کاربری برای یک هدف تجاری. گاهی اوقات شما در حال اجرای تغییرات محصول برای به حداکثر رساندن معیارهایی مانند درآمد یا حفظ هستید. با تست A/B، هدف کسب‌وکار خود را تعیین می‌کنید و Firebase تجزیه و تحلیل آماری را انجام می‌دهد تا مشخص کند آیا یک نوع از خط پایه برای هدف انتخابی شما بهتر است یا خیر.

برای انواع ویژگی های تست A/B با خط مبنا، موارد زیر را انجام دهید:

  1. آزمایش خود را ایجاد کنید
  2. آزمایش خود را روی دستگاه آزمایشی تأیید کنید.
  3. آزمایش خود را مدیریت کنید

یک آزمایش ایجاد کنید

آزمایش Remote Config به شما امکان می‌دهد چندین نوع را روی یک یا چند پارامتر Remote Config ارزیابی کنید.

  1. به کنسول Firebase وارد شوید و بررسی کنید که Google Analytics در پروژه شما فعال است تا آزمایش به داده های Analytics دسترسی داشته باشد.

    اگر Google Analytics را هنگام ایجاد پروژه خود فعال نکرده اید، می توانید آن را در برگه Integrations فعال کنید، که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی داشته باشید.

  2. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.

  3. روی ایجاد آزمایش کلیک کنید و سپس هنگامی که از سرویسی که می خواهید آزمایش کنید از شما خواسته شد، Remote Config را انتخاب کنید.

  4. یک نام و توضیحات اختیاری برای آزمایش خود وارد کنید و روی Next کلیک کنید.

  5. فیلدهای Targeting را پر کنید، ابتدا برنامه ای را انتخاب کنید که از آزمایش شما استفاده می کند. همچنین می‌توانید زیرمجموعه‌ای از کاربران خود را برای شرکت در آزمایش خود با کلیک کردن و سپس انتخاب گزینه‌هایی از لیست زیر هدف قرار دهید:

    • نسخه: یک یا چند نسخه از برنامه شما
    • شماره ساخت: کد نسخه برنامه
    • زبان‌ها: یک یا چند زبان و منطقه مورد استفاده برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • کشور/منطقه: یک یا چند کشور یا منطقه برای انتخاب کاربرانی که باید در آزمایش گنجانده شوند
    • مخاطبان کاربر: مخاطبان تجزیه و تحلیل برای هدف قرار دادن کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود
    • ویژگی کاربر: یک یا چند ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند
    • اولین باز: کاربران را بر اساس اولین باری که برنامه شما را باز کرده اند مورد هدف قرار دهید

      پس از انتخاب یک برنامه Android یا iOS، هدف‌گیری کاربر بر اساس اولین زمان باز در دسترس است. توسط نسخه‌های Remote Config SDK زیر پشتیبانی می‌شود: پلتفرم‌های Apple SDK v9.0.0+ و Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

      تجزیه و تحلیل همچنین باید در اولین رویداد باز روی مشتری فعال شده باشد.

  6. تنظیم درصد کاربران هدف: درصدی از پایگاه کاربر برنامه خود را وارد کنید که با معیارهای تعیین شده در زیر کاربران هدف مطابقت دارد که می‌خواهید به طور مساوی بین خط مبنا و یک یا چند نوع در آزمایش خود تقسیم کنید. این می تواند هر درصدی بین 0.01٪ و 100٪ باشد. کاربران به طور تصادفی به هر آزمایش، از جمله آزمایش‌های تکراری، اختصاص داده می‌شوند.

  7. در صورت تمایل، یک رویداد فعال‌سازی تنظیم کنید تا مطمئن شوید که فقط داده‌های کاربرانی که برای اولین بار برخی رویدادهای Analytics را راه‌اندازی کرده‌اند در آزمایش شما شمارش می‌شوند. توجه داشته باشید که همه کاربرانی که با پارامترهای هدف شما مطابقت دارند مقادیر آزمایشی Remote Config را دریافت خواهند کرد، اما فقط کسانی که یک رویداد فعال‌سازی را راه‌اندازی می‌کنند در نتایج آزمایش شما لحاظ می‌شوند.

    برای اطمینان از آزمایش معتبر، مطمئن شوید که رویدادی که انتخاب می‌کنید پس از فعال‌سازی مقادیر پیکربندی واکشی شده توسط برنامه شما رخ می‌دهد. علاوه بر این، رویدادهای زیر قابل استفاده نیستند زیرا همیشه قبل از فعال شدن مقادیر واکشی شده رخ می‌دهند:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. برای اهداف آزمایش، معیار اصلی را برای ردیابی انتخاب کنید، و هر معیار دیگری را که می‌خواهید ردیابی کنید از فهرست اضافه کنید. اینها شامل اهداف داخلی (خرید، درآمد، حفظ، کاربران بدون خرابی و غیره)، رویدادهای تبدیل تجزیه و تحلیل و سایر رویدادهای Analytics است. پس از اتمام، روی Next کلیک کنید.

  9. در بخش Variants ، یک خط پایه و حداقل یک نوع را برای آزمایش انتخاب کنید. از فهرست انتخاب یا ایجاد جدید برای اضافه کردن یک یا چند پارامتر برای آزمایش استفاده کنید. می‌توانید پارامتری ایجاد کنید که قبلاً در کنسول Firebase استفاده نشده است، اما باید در برنامه شما وجود داشته باشد تا تأثیری داشته باشد. می توانید این مرحله را تکرار کنید تا چندین پارامتر به آزمایش خود اضافه کنید.

  10. (اختیاری) برای افزودن بیش از یک نوع به آزمایش خود، روی افزودن یک نوع دیگر کلیک کنید.

  11. یک یا چند پارامتر را برای انواع خاص تغییر دهید. هر پارامتر بدون تغییر برای کاربرانی که در آزمایش گنجانده نشده اند یکسان است.

  12. برای مشاهده یا تغییر وزن نوع آزمایش ، وزن‌های متغیر را بزرگ کنید. به طور پیش فرض، وزن هر یک از انواع به طور مساوی است. توجه داشته باشید که وزن‌های ناهموار ممکن است زمان جمع‌آوری داده‌ها را افزایش دهند و پس از شروع آزمایش، وزن‌ها قابل تغییر نیستند .

  13. برای ذخیره آزمایش خود، روی Review کلیک کنید.

شما مجاز به 300 آزمایش در هر پروژه هستید که می تواند شامل حداکثر 24 آزمایش در حال اجرا باشد و بقیه به صورت پیش نویس یا تکمیل شده باشد.

آزمایش خود را روی دستگاه آزمایشی تأیید کنید

برای هر نصب Firebase، می‌توانید نشانه تأیید اعتبار نصب مرتبط با آن را بازیابی کنید. می‌توانید از این نشانه برای آزمایش انواع آزمایشی خاص در دستگاه آزمایشی با نصب برنامه خود استفاده کنید. برای تأیید آزمایش خود بر روی یک دستگاه آزمایشی، موارد زیر را انجام دهید:

  1. رمز تأیید نصب را به صورت زیر دریافت کنید:

    سریع

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    هدف-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
    

    وحدت

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. در نوار پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  3. روی پیش‌نویس (و/یا اجرای آزمایش‌های پیکربندی از راه دور) کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) و سپس روی مدیریت دستگاه‌های آزمایشی کلیک کنید.
  4. رمز تأیید نصب را برای یک دستگاه آزمایشی وارد کنید و نوع آزمایشی را برای ارسال به آن دستگاه آزمایشی انتخاب کنید.
  5. برنامه را اجرا کنید و تأیید کنید که نوع انتخاب شده در دستگاه آزمایشی دریافت می شود.

برای کسب اطلاعات بیشتر در مورد نصب های Firebase، به مدیریت نصب های Firebase مراجعه کنید.

آزمایش خود را مدیریت کنید

چه آزمایشی را با Remote Config، آهنگساز اعلان‌ها یا پیام‌رسانی درون‌برنامه Firebase ایجاد کنید، می‌توانید آزمایش خود را تأیید کرده و شروع کنید، آزمایش خود را در حین اجرا نظارت کنید و تعداد کاربرانی را که در آزمایش در حال اجرا گنجانده شده‌اند افزایش دهید.

وقتی آزمایش شما انجام شد، می‌توانید تنظیمات مورد استفاده توسط نوع برنده را یادداشت کنید و سپس آن تنظیمات را برای همه کاربران ارائه دهید. یا می توانید آزمایش دیگری را اجرا کنید.

آزمایشی را شروع کنید

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی پیش نویس کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید.
  3. برای تأیید اینکه برنامه شما دارای کاربرانی است که در آزمایش شما گنجانده می‌شوند، جزئیات پیش‌نویس را گسترش دهید و عددی بیشتر از 0 درصد را در بخش هدف‌گیری و توزیع بررسی کنید (به عنوان مثال، 1 درصد از کاربران با معیارها مطابقت دارند ).
  4. برای تغییر آزمایش خود، روی ویرایش کلیک کنید.
  5. برای شروع آزمایش، روی شروع آزمایش کلیک کنید. شما می توانید تا 24 آزمایش را در هر پروژه در یک زمان اجرا کنید.

نظارت بر یک آزمایش

وقتی آزمایشی برای مدتی اجرا شد، می‌توانید پیشرفت آن را بررسی کنید و ببینید نتایج شما برای کاربرانی که تاکنون در آزمایش شما شرکت کرده‌اند چگونه است.

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی Running کلیک کنید و سپس روی عنوان آزمایش خود کلیک کنید یا آن را جستجو کنید. در این صفحه می‌توانید آمارهای مشاهده‌شده و مدل‌سازی‌شده‌ای در مورد آزمایش در حال اجرا خود مشاهده کنید، از جمله موارد زیر:

    • درصد تفاوت با خط مبنا : معیاری برای بهبود یک متریک برای یک نوع معین در مقایسه با خط پایه. با مقایسه محدوده مقدار برای متغیر با محدوده ارزش برای خط مبنا محاسبه می شود.
    • احتمال شکست خط پایه : احتمال تخمین زده شده که یک نوع معین از خط مبنا برای متریک انتخاب شده عبور کند.
    • observed_metric برای هر کاربر : بر اساس نتایج آزمایش، این محدوده پیش‌بینی‌شده‌ای است که مقدار متریک در طول زمان در آن قرار می‌گیرد.
    • مجموع observed_metric : مقدار تجمعی مشاهده شده برای خط مبنا یا متغیر. این مقدار برای اندازه‌گیری عملکرد هر یک از انواع آزمایش استفاده می‌شود و برای محاسبه بهبود ، محدوده ارزش ، احتمال شکست خط پایه و احتمال بهترین نوع استفاده می‌شود. بسته به معیاری که اندازه‌گیری می‌شود، این ستون ممکن است دارای برچسب «مدت هر کاربر»، «درآمد به ازای هر کاربر»، «نرخ حفظ» یا «نرخ تبدیل» باشد.
  3. پس از اینکه آزمایش شما برای مدتی اجرا شد (حداقل 7 روز برای FCM و پیام‌رسانی درون برنامه یا 14 روز برای پیکربندی از راه دور)، داده‌های این صفحه نشان می‌دهد که کدام نوع، در صورت وجود، «رهبر» است. برخی از اندازه‌گیری‌ها با نمودار میله‌ای همراه هستند که داده‌ها را در قالب تصویری ارائه می‌کند.

آزمایشی را برای همه کاربران اجرا کنید

پس از اینکه یک آزمایش به اندازه کافی طولانی شد که یک "رهبر" یا نوع برنده برای معیار هدف خود داشته باشید، می توانید آزمایش را برای 100٪ از کاربران منتشر کنید. این به شما امکان می دهد یک نوع را برای انتشار برای همه کاربران در حال حرکت انتخاب کنید. حتی اگر آزمایش شما برنده مشخصی ایجاد نکرده باشد، همچنان می توانید انتخاب کنید که یک نسخه برای همه کاربران خود منتشر کنید.

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی Completed یا Running کلیک کنید، آزمایشی را که می‌خواهید برای همه کاربران منتشر کنید، روی منوی زمینه ( ) Roll out variant کلیک کنید.
  3. با انجام یکی از موارد زیر، آزمایش خود را برای همه کاربران عرضه کنید:

    • برای آزمایشی که از سازنده اعلان‌ها استفاده می‌کند، از گفتگوی ارسال پیام استفاده کنید تا پیام را به سایر کاربران هدفمندی که بخشی از آزمایش نبودند ارسال کنید.
    • برای آزمایش Remote Config ، یک متغیر را انتخاب کنید تا مشخص شود کدام مقادیر پارامتر Remote Config باید به‌روزرسانی شود. معیارهای هدف‌یابی که هنگام ایجاد آزمایش تعریف شده‌اند، به‌عنوان یک شرط جدید در الگوی شما اضافه می‌شوند تا اطمینان حاصل شود که عرضه فقط بر کاربران هدف آزمایش تأثیر می‌گذارد. پس از کلیک بر روی Review in Remote Config برای بررسی تغییرات، روی انتشار تغییرات کلیک کنید تا عرضه کامل شود.
    • برای آزمایش پیام‌رسانی درون‌برنامه ، از کادر گفتگو برای تعیین اینکه کدام نوع باید به‌عنوان یک کمپین پیام‌رسان درون‌برنامه مستقل عرضه شود، استفاده کنید. پس از انتخاب، به صفحه نوشتن FIAM هدایت می شوید تا قبل از انتشار هرگونه تغییری (در صورت لزوم) ایجاد کنید.

یک آزمایش را گسترش دهید

اگر متوجه شدید که آزمایشی کاربران کافی برای آزمایش A/B برای اعلام یک رهبر وارد نمی‌کند، می‌توانید توزیع آزمایش خود را افزایش دهید تا به درصد بیشتری از پایگاه کاربر برنامه برسید.

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. آزمایش در حال اجرا را که می خواهید ویرایش کنید انتخاب کنید.
  3. در نمای کلی آزمایش ، روی منوی زمینه ( ) و سپس ویرایش آزمایش در حال اجرا را کلیک کنید.
  4. گفتگوی Targeting گزینه ای را برای افزایش درصد کاربرانی که در آزمایش در حال اجرا هستند نمایش می دهد. عددی بزرگتر از درصد فعلی را انتخاب کنید و روی انتشار کلیک کنید. آزمایش به درصد کاربرانی که مشخص کرده‌اید منتقل می‌شود.

یک آزمایش را کپی یا متوقف کنید

  1. در بخش Engage از منوی پیمایش کنسول Firebase ، روی A/B Testing کلیک کنید.
  2. روی Completed یا Running کلیک کنید، نشانگر را روی آزمایش خود نگه دارید، روی منوی زمینه ( ) کلیک کنید و سپس روی آزمایش تکراری یا توقف آزمایش کلیک کنید.

هدف گذاری کاربر

می‌توانید با استفاده از معیارهای هدف‌یابی کاربر زیر، کاربرانی را هدف قرار دهید تا در آزمایش خود بگنجانند.

معیار هدف گذاری اپراتور(های) ارزش های) توجه داشته باشید
نسخه حاوی،
شامل نمی شود،
دقیقا مطابقت دارد،
حاوی regex است
مقداری را برای یک یا چند نسخه برنامه که می‌خواهید در آزمایش وارد کنید، وارد کنید.

هنگام استفاده از هر یک از عملگرهای حاوی ، حاوی ، یا دقیقاً مطابقت دارد ، می‌توانید فهرستی از مقادیر جدا شده با کاما ارائه دهید.

هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می‌توانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید.

مخاطبان کاربر شامل همه،
شامل حداقل یکی از
شامل همه نمی شود،
حداقل یکی از آنها را شامل نمی شود
برای هدف قرار دادن کاربرانی که ممکن است در آزمایش شما گنجانده شوند، یک یا چند مخاطب Analytics را انتخاب کنید. برخی از آزمایش‌هایی که مخاطبان Google Analytics را هدف قرار می‌دهند ممکن است چند روز طول بکشد تا داده‌ها را جمع‌آوری کنند زیرا در معرض تأخیر پردازش داده‌های Analytics هستند. به احتمال زیاد با این تاخیر در کاربران جدیدی مواجه خواهید شد که معمولاً 24 تا 48 ساعت پس از ایجاد در بین مخاطبان واجد شرایط ثبت نام می‌شوند یا برای مخاطبانی که اخیراً ایجاد شده‌اند .

برای Remote Config، این بدان معناست که حتی اگر یک کاربر از نظر فنی واجد شرایط یک مخاطب باشد، اگر Analytics هنوز کاربر را به هنگام اجرای «fetchAndActivate()» به مخاطب اضافه نکرده باشد، کاربر در آزمایش گنجانده نخواهد شد.

دارایی کاربر برای متن:
حاوی،
شامل نمی شود،
دقیقا مطابقت دارد
حاوی regex است

برای اعداد:
<، ≤، =، ≥، >
ویژگی کاربر Analytics برای انتخاب کاربرانی که ممکن است در یک آزمایش گنجانده شوند، با طیف وسیعی از گزینه‌ها برای انتخاب مقادیر ویژگی کاربر استفاده می‌شود.

در کلاینت، می توانید فقط مقادیر رشته ای را برای ویژگی های کاربر تنظیم کنید. برای شرایطی که از عملگرهای عددی استفاده می کنند، سرویس Remote Config مقدار ویژگی کاربر مربوطه را به یک عدد صحیح/فلوت تبدیل می کند.
هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می‌توانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید.
کشور/منطقه N/A یک یا چند کشور یا منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود.
زبان ها N/A یک یا چند زبان و منطقه برای انتخاب کاربرانی که ممکن است در آزمایش گنجانده شوند استفاده می شود.
ابتدا باز کنید قبل از
بعد از

کاربران را بر اساس اولین باری که برنامه شما را باز می کنند، هدف قرار دهید:

  • کاربران جدید را برای هدف قرار دادن کاربرانی که برای اولین بار برنامه شما را پس از تاریخ و زمان مشخصی در آینده باز می کنند، انتخاب کنید.
  • محدوده زمانی را برای هدف قرار دادن کاربرانی که برای اولین بار برنامه شما را در محدوده قبل یا بعد از تاریخ و زمانی که مشخص کرده‌اید باز می‌کنند، انتخاب کنید. شرایط قبل و بعد را برای هدف قرار دادن کاربران در یک محدوده زمانی خاص ترکیب کنید.

پس از انتخاب یک برنامه Android یا iOS، هدف‌گیری کاربر با اولین باز شدن در دسترس است. در حال حاضر توسط نسخه‌های Remote Config SDK زیر پشتیبانی می‌شود: پلتفرم‌های Apple SDK v9.0.0+ و Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

تجزیه و تحلیل همچنین باید در اولین رویداد باز روی مشتری فعال شده باشد.

معیارهای تست A/B

هنگامی که آزمایش خود را ایجاد می کنید، معیار اصلی یا هدف را انتخاب می کنید که برای تعیین نوع برنده استفاده می شود. همچنین باید معیارهای دیگر را ردیابی کنید تا به شما در درک بهتر عملکرد هر نوع آزمایش کمک کند و روندهای مهمی را که ممکن است برای هر گونه متفاوت باشد، مانند حفظ کاربر، پایداری برنامه و درآمد خرید درون‌برنامه ردیابی کنید. می توانید حداکثر پنج معیار غیر هدف را در آزمایش خود ردیابی کنید.

برای مثال، فرض کنید از Remote Config برای راه‌اندازی دو جریان بازی مختلف در برنامه‌تان استفاده می‌کنید و می‌خواهید برای خریدهای درون‌برنامه‌ای و درآمد تبلیغاتی بهینه‌سازی کنید، اما همچنین می‌خواهید پایداری و حفظ کاربر را در هر نسخه دنبال کنید. در این مورد، ممکن است درآمد کل تخمینی را به‌عنوان معیار هدف خود انتخاب کنید، زیرا شامل درآمد خرید درون‌برنامه و درآمد تبلیغاتی می‌شود، و سپس، برای ردیابی سایر معیارها ، می‌توانید موارد زیر را اضافه کنید:

  • برای پیگیری حفظ روزانه و هفتگی کاربر خود، Retention (2-3 روز) و Retention (4-7 روز) را اضافه کنید.
  • برای مقایسه ثبات بین دو جریان بازی، کاربران بدون خرابی را اضافه کنید.
  • برای مشاهده نماهای دقیق تر از هر نوع درآمد، درآمد خرید و درآمد تخمینی تبلیغات را اضافه کنید.

جداول زیر جزئیاتی در مورد نحوه محاسبه معیارهای هدف و سایر معیارها ارائه می دهد.

معیارهای هدف

متریک شرح
کاربران بدون خرابی درصد کاربرانی که در طول آزمایش با خطاهایی در برنامه شما مواجه نشده‌اند که توسط Firebase Crashlytics SDK شناسایی شده است.
درآمد تخمینی تبلیغات درآمد تخمینی تبلیغات
کل درآمد تخمینی ارزش ترکیبی برای خرید و درآمد تخمینی تبلیغات.
درآمد خرید ارزش ترکیبی برای همه رویدادهای purchase و in_app_purchase .
نگهداری (1 روز) تعداد کاربرانی که به صورت روزانه به برنامه شما باز می گردند.
نگهداری (2-3 روز) تعداد کاربرانی که ظرف 2 تا 3 روز به برنامه شما بازگشته اند.
نگهداری (4-7 روز) تعداد کاربرانی که ظرف 4 تا 7 روز به برنامه شما بازگشته اند.
نگهداری (8-14 روز) تعداد کاربرانی که ظرف 8 تا 14 روز به برنامه شما بازگشته اند.
نگهداری (بیش از 15 روز) تعداد کاربرانی که 15 روز یا بیشتر پس از آخرین استفاده از برنامه شما به آن بازگشته اند.
first_open یک رویداد Analytics که وقتی کاربر برای اولین بار یک برنامه را پس از نصب یا نصب مجدد آن باز می کند، فعال می شود. به عنوان بخشی از یک قیف تبدیل استفاده می شود.

سایر معیارها

متریک شرح
notification_dismiss یک رویداد Analytics که وقتی اعلان ارسال شده توسط سازنده Notifications رد می‌شود (فقط Android) فعال می‌شود.
notification_receive یک رویداد Analytics که وقتی اعلان ارسال شده توسط Notifications composer دریافت می‌شود، در حالی که برنامه در پس‌زمینه است (فقط اندروید).
os_update یک رویداد Analytics که زمان به‌روزرسانی سیستم عامل دستگاه به نسخه جدید را ردیابی می‌کند. برای اطلاعات بیشتر، رویدادهای جمع‌آوری شده خودکار را ببینید.
screen_view یک رویداد Analytics که صفحه‌های مشاهده شده در برنامه شما را ردیابی می‌کند. برای کسب اطلاعات بیشتر، ردیابی نماهای صفحه را ببینید.
جلسه_شروع یک رویداد 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 را تأیید کنید.

برای شروع، موارد زیر را همانطور که در این راهنما توضیح داده شده است تکمیل کنید:

  1. صادرات BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
  2. با استفاده از BigQuery به داده های تست A/B دسترسی پیدا کنید
  3. پرس و جوهای نمونه را کاوش کنید

صادرات BigQuery را برای Google Analytics در کنسول Firebase فعال کنید

اگر از طرح Spark استفاده می‌کنید، می‌توانید از جعبه ایمنی BigQuery برای دسترسی به BigQuery بدون هزینه، مشروط به محدودیت‌های Sandbox استفاده کنید. برای اطلاعات بیشتر به قیمت و جعبه ایمنی BigQuery مراجعه کنید.

ابتدا مطمئن شوید که داده های Analytics خود را به BigQuery صادر می کنید:

  1. برگه Integrations را باز کنید، که می توانید با استفاده از > تنظیمات پروژه در کنسول Firebase به آن دسترسی داشته باشید.
  2. اگر قبلاً از BigQuery با سایر سرویس‌های Firebase استفاده می‌کنید، روی Manage کلیک کنید. در غیر این صورت، روی پیوند کلیک کنید.
  3. درباره پیوند Firebase به BigQuery را مرور کنید، سپس روی Next کلیک کنید.
  4. در قسمت Configure integration ، ضامن Google Analytics را فعال کنید.
  5. یک منطقه را انتخاب کنید و تنظیمات صادرات را انتخاب کنید.

  6. روی پیوند به BigQuery کلیک کنید.

بسته به نحوه صادرات داده‌ها، ممکن است تا یک روز طول بکشد تا جداول در دسترس قرار گیرند. برای اطلاعات بیشتر درباره صادرات داده‌های پروژه به BigQuery، به صادرات داده‌های پروژه به BigQuery مراجعه کنید.

دسترسی به داده های تست A/B در BigQuery

قبل از پرس و جو برای داده ها برای یک آزمایش خاص، می خواهید برخی یا همه موارد زیر را برای استفاده در پرس و جو خود به دست آورید:

  • شناسه آزمایش: می‌توانید این را از نشانی اینترنتی صفحه نمای کلی آزمایش دریافت کنید. برای مثال، اگر نشانی وب شما شبیه https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 باشد، شناسه آزمایش 25 است.
  • شناسه دارایی Google Analytics : این شناسه دارایی 9 رقمی Google Analytics شما است. شما می توانید این را در Google Analytics پیدا کنید. هنگامی که نام پروژه خود را برای نمایش نام جدول رویداد Google Analytics خود ( project_name.analytics_000000000.events ) گسترش می دهید، در BigQuery نیز ظاهر می شود.
  • تاریخ آزمایش: برای ایجاد یک پرس و جو سریعتر و کارآمدتر، تمرین خوب است که جستارهای خود را به پارتیشن های جدول رویداد روزانه Google Analytics که حاوی داده های آزمایش شما هستند محدود کنید - جداول مشخص شده با پسوند YYYYMMDD . بنابراین، اگر آزمایش شما از 2 فوریه 2024 تا 2 مه 2024 اجرا شود، یک _TABLE_SUFFIX between '20240202' AND '20240502' مشخص می‌کنید. برای مثال، به انتخاب مقادیر آزمایش خاص مراجعه کنید.
  • نام‌های رویداد: معمولاً با معیارهای هدف شما که در آزمایش پیکربندی کرده‌اید مطابقت دارند. به عنوان مثال، رویدادهای in_app_purchase ، ad_impression یا رویدادهای user_retention .

پس از جمع‌آوری اطلاعات، برای ایجاد درخواست خود نیاز دارید:

  1. BigQuery را در کنسول Google Cloud باز کنید.
  2. پروژه خود را انتخاب کنید، سپس Create SQL query را انتخاب کنید.
  3. درخواست خود را اضافه کنید برای مثال پرس و جوهایی که باید اجرا شوند، به کاوش پرس و جوهای نمونه مراجعه کنید.
  4. روی Run کلیک کنید.

داده‌های آزمایش را با استفاده از عبارت جستجوی خودکار ایجاد شده کنسول Firebase جستجو کنید

اگر از طرح Blaze استفاده می‌کنید، صفحه نمای کلی آزمایش یک پرس و جو نمونه ارائه می‌کند که نام آزمایش، انواع، نام‌های رویداد و تعداد رویدادها را برای آزمایشی که مشاهده می‌کنید برمی‌گرداند.

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

  1. از کنسول Firebase، A/B Testing را باز کنید و آزمایش A/B Testing را که می‌خواهید پرس و جو کنید انتخاب کنید تا نمای کلی آزمایش باز شود.
  2. از منوی گزینه‌ها، در زیر ادغام BigQuery ، Query experience data را انتخاب کنید. این پروژه شما را در 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 '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

برای نمونه‌های پرس و جوی اضافی، به کاوش پرس و جوهای نمونه بروید.

پرس و جوهای نمونه را کاوش کنید

بخش‌های زیر نمونه‌هایی از پرسش‌هایی را ارائه می‌دهند که می‌توانید برای استخراج داده‌های آزمایش A/B از جداول رویداد Google Analytics استفاده کنید.

مقادیر انحراف استاندارد خرید و آزمایش را از همه آزمایش‌ها استخراج کنید

می‌توانید از داده‌های نتایج آزمایش برای تأیید مستقل نتایج آزمایش Firebase A/B استفاده کنید. عبارت BigQuery SQL زیر انواع آزمایش، تعداد کاربران منحصربه‌فرد در هر نوع را استخراج می‌کند و کل درآمد حاصل از رویدادهای 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