В этом руководстве представлена информация о ключевых понятиях, связанных с развертыванием Remote Config , чтобы вы могли:
- Разберитесь, как работает членство в группах развертывания.
- Знайте, когда следует использовать поэтапное внедрение, а когда — A/B-тестирование.
- Научитесь интерпретировать результаты внедрения.
Разберитесь в вопросе членства в группе развертывания.
When you create a new rollout and assign a percentage, Firebase places an equally-sized portion of your audience into a control group for accurate results when comparing the performance of your enabled feature, resulting in the following groups.
- Включено : устройства пользователей, назначенные этой группе, получают значение, которое вы настроили при развертывании.
- Управление : Устройства пользователей, назначенные этой группе, получают значения, которые они получили бы от Remote Config , а не значения, полученные в ходе развертывания.
- Не назначено: Пользовательские устройства в этой группе получают значение, которое они получили бы от Remote Config , но не используются в результатах сравнения при развертывании.
That is, if you roll out to 2% of your users, they are added to the Enabled group and an additional 2% of your users are added to the Control group, which is used for comparison. 96% of your users remain in Unassigned.
This approach ensures a fair comparison between the performance of users and devices that receive your rollout value and those that do not and lets you effectively determine success or failure of the rollout on the Rollout Results page.
Назначение групп развертывания остается неизменным на всех этапах развертывания. То есть, в рамках одного и того же развертывания, если вы уменьшите процент до 0%, все пользователи вернутся к получению значения параметра, определенного в шаблоне Remote Config . Если позже вы решите увеличить процент развертывания, пользователи, которые ранее входили в группы «Включено» или «Контроль», вернутся в группу, к которой они были первоначально назначены, и будут получать значения, соответствующие этим группам.
When you've verified that your release is successful and decide to fully launch to 100% of targeted users, Firebase no longer uses the control group and all targeted users and devices receive the rollout value.
Когда следует использовать поэтапное внедрение, а когда — A/B-тестирование?
Внедрение Remote Config и A/B Testing подходят для несколько разных сценариев использования и могут применяться взаимодополняющим образом.
Внедрение новых функций — это поэтапный релиз, часто используемый для предоставления новой функции ограниченной группе пользователей. Возможно, вы захотите ориентироваться на пользователей в определенной стране или использующих определенную версию вашего приложения. Внедрение новых функций позволяет снизить риски, протестировать новые функции в реальных условиях с жестким контролем, чтобы увидеть, как они работают. Вы также можете отслеживать производительность ваших бэкэнд-сервисов при дополнительной нагрузке, связанной с новой функцией, и приблизительно оценивать использование, чтобы убедиться в масштабируемости изменений перед выпуском для более широкой аудитории.
Rollouts are excellent tools for situations where you're implementing new features that significantly change functionality, changes that may result in unpredictable results, or changes that may impact your backend infrastructure, services, or external APIs.
A/B Testing gives you the ability to present multiple versions of a feature or app element, for example, updating UI look and feel, changing advertising copy, updating game level difficulty. You can then expose different variations to your users to learn which option drives better results based on your chosen metric (like user engagement, ad clicks, and revenue).
Use A/B Testing for data-driven decision making, optimization, and understanding your users' preferences. It's perfect for situations where you have multiple comparable options and very specific goals. For example, A/B Testing is appropriate for changes where you want to tweak your app to improve a specific metric, like testing which banner ad placement results in more clicks.
Также целесообразно объединить развертывание Remote Config и A/B Testing в рамках общей стратегии: сначала проведите A/B-тестирование с ограниченным набором пользователей, чтобы определить вариант, который дает оптимальные результаты по ключевым показателям. Затем, после того как A/B Testing определит лидера , проведите развертывание с использованием выигрышного варианта. Отслеживайте его стабильность и ключевые показатели по мере постепенного увеличения числа пользователей, и, когда вы будете уверены в его производительности, разверните его на 100%.
Понимание результатов внедрения
После запуска обновления вы должны увидеть результаты практически сразу.
В консоли Firebase результаты можно просмотреть несколькими способами:
На странице DevOps & Engagement > Remote Config > Parameters разверните параметр, который вы настроили для развертывания, и под ним нажмите «Просмотреть результаты» .
На странице DevOps & Engagement > Remote Config > Rollouts щелкните название развертывания.
В верхней части страницы DevOps & Engagement > Remote Config > Results селектор приложений позволяет выбрать представления для конкретных приложений. Результаты разделены на несколько разделов:
- The Summary section, which shows the configured Rollout percentage and provides the ability to roll back or edit the rollout. When expanded, it shows an Overview of your rollout's configuration details and Change history .
В разделе «Пользователи» отображается количество уникальных установок приложений, для которых был загружен шаблон развертывания, в следующих группах:
- Включено: Количество экземпляров приложения, соответствующих целевому условию развертывания и получивших значение развертывания.
- Контроль: Количество экземпляров приложения, соответствующих целевому условию развертывания и получивших неизмененное значение.
- Цель : Предполагаемое общее количество экземпляров, соответствующих условию, установленному вами при развертывании, которые должны получить либо развертывание, либо неизмененное значение.
Подробнее см. в разделе «Понимание членства в группе внедрения» .
The Crashlytics and Analytics sections, which show comparison data for Enabled and Control groups. You can filter the collected data for the Last 24 hours , Since last publish , or Last 7 days . Last 24 hours is the default view.
Результаты Crashlytics по внедрению
You can see the total number of Crashes , Non-fatals , and ANRs that occurred during your rollout. Each result category shows a bar graph that compares the raw totals of the Enabled and Control users that met the condition of the rollout.
- Сбои: Отображает количество и процент сбоев, а также количество уникальных пользователей, у которых произошли сбои, для групп «Включено» и «Контроль».
- Некритические ошибки: Отображает количество и процент некритических ошибок, а также количество уникальных пользователей, столкнувшихся с некритическими ошибками.
- Сообщения об ошибке «Приложение не отвечает» (только для приложений Android): отображает количество и процент событий «Приложение не отвечает», а также количество уникальных пользователей, у которых произошло одно или несколько событий ошибки «Приложение не отвечает».
Для получения более подробной информации о сбоях вы можете нажать «Посмотреть больше» в Crashlytics . Это откроет страницу Crashlytics с активным фильтром для развертывания, результаты которого вы просматривали. Результаты развертывания на странице Crashlytics охватывают всех пользователей, которые когда-либо сталкивались с соответствующим вариантом: «Включено» или «Контрольный» . Вы можете выбрать просмотр сбоев в контрольной группе, сбоев в группе «Включено» или обоих вариантов.
Результаты Google Analytics по внедрению новых функций.
The Google Analytics rollout results section compares Analytics metrics for all users who have ever been exposed to the Enabled or Control groups in detail and in graph views. Three metrics are provided:
- Total revenue: Shows the total amount of revenue, including Ad revenue and Purchase revenue, in USD. You can filter your results to show results specifically for Ad revenue or Purchase revenue.
- Общее количество конверсий: Отображает общее число всех событий конверсии. Вы можете отфильтровать результаты по конверсии, которую хотите выделить.
- Total engagement time: Shows The total engagement time that your users spent with one of the rollout variants. Total engagement time is displayed in the Hours:Minutes:Seconds format. For example, 01:31:28. The graph shows data from the time period you selected above the Crashlytics section.