Создание и запуск первого эксперимента
В этом пошаговом руководстве описаны следующие операции.
- Создайте проект экспериментирования в Центре партнеров, который определяет несколько удаленных переменных, представляющих текст и цвет кнопки приложения.
- Создайте приложение с кодом, который получает значения удаленной переменной, использует эти данные для изменения цвета фона кнопки, а также просмотра и преобразования данных событий преобразования обратно в Центр партнеров.
- Создайте эксперимент в проекте, чтобы проверить, успешно ли изменение цвета фона кнопки приложения увеличивает количество нажатий кнопки.
- Запустите приложение для сбора данных эксперимента.
- Просмотрите результаты эксперимента в Центре партнеров, выберите вариант для всех пользователей приложения и завершите эксперимент.
Общие сведения о тестировании A/B с помощью Центра партнеров см. в разделе "Запуск экспериментов приложений с помощью A/B-тестирования".
Необходимые компоненты
Чтобы выполнить это пошаговое руководство, необходимо иметь учетную запись Центра партнеров и настроить компьютер разработки, как описано в разделе "Запуск экспериментов приложений с помощью тестирования A/B".
Создание проекта с удаленными переменными в Центре партнеров
- Войдите в Центр партнеров.
- Если у вас уже есть приложение в Центре партнеров, которое вы хотите использовать для создания эксперимента, выберите это приложение в Центре партнеров. Если у вас еще нет приложения в Центре партнеров, создайте новое приложение, зарезервировав имя , а затем выберите это приложение в Центре партнеров.
- В области навигации щелкните "Службы " и выберите пункт "Экспериментирование".
- В разделе "Проекты" на следующей странице нажмите кнопку "Создать проект".
- На странице "Создать проект" введите имя кнопки "Нажатие экспериментов" для нового проекта.
- Разверните раздел "Удаленные переменные" и нажмите кнопку "Добавить переменную" четыре раза. Теперь у вас должно быть четыре пустых строки переменной.
- В первой строке введите buttonText для имени переменной и введите "Серая кнопка" в столбце значений по умолчанию.
- Во второй строке введите r для имени переменной и введите 128 в столбце значений по умолчанию.
- В третьей строке введите g для имени переменной и введите 128 в столбце значений по умолчанию.
- В четвертой строке введите b для имени переменной и введите 128 в столбце значений по умолчанию.
- Нажмите кнопку "Сохранить" и запишите значение идентификатора проекта, которое отображается в разделе интеграции с пакетом SDK. В следующем разделе вы обновите код приложения и сослаться на это значение в коде.
Кодируйте эксперимент в приложении
В Visual Studio создайте проект универсальная платформа Windows с помощью Visual C#. Назовите проект SampleExperiment.
В Обозреватель решений разверните узел проекта, щелкните правой кнопкой мыши ссылки и нажмите кнопку "Добавить ссылку".
В диспетчере ссылок разверните универсальные окна и щелкните "Расширения".
В списке пакетов SDK установите флажок рядом с Microsoft Engagement Framework и нажмите кнопку "ОК".
В Обозреватель решений дважды щелкните MainPage.xaml, чтобы открыть конструктор главной страницы в приложении.
Перетащите кнопку из панели элементов на страницу.
Дважды щелкните кнопку конструктора, чтобы открыть файл кода и добавить обработчик событий для события Click .
Замените все содержимое файла кода следующим кодом.
projectId
Назначьте переменную значению идентификатора проекта, полученному из Центра партнеров в предыдущем разделе.using System; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; using System.Threading.Tasks; using Windows.UI; using Windows.UI.Core; // Namespace for A/B testing. using Microsoft.Services.Store.Engagement; namespace SampleExperiment { public sealed partial class MainPage : Page { private StoreServicesExperimentVariation variation; private StoreServicesCustomEventLogger logger; // Assign this variable to the project ID for your experiment from Dev Center. private string projectId = ""; public MainPage() { this.InitializeComponent(); // Because this call is not awaited, execution of the current method // continues before the call is completed. #pragma warning disable CS4014 InitializeExperiment(); #pragma warning restore CS4014 } private async Task InitializeExperiment() { // Get the current cached variation assignment for the experiment. var result = await StoreServicesExperimentVariation.GetCachedVariationAsync(projectId); variation = result.ExperimentVariation; // Check whether the cached variation assignment needs to be refreshed. // If so, then refresh it. if (result.ErrorCode != StoreServicesEngagementErrorCode.None || result.ExperimentVariation.IsStale) { result = await StoreServicesExperimentVariation.GetRefreshedVariationAsync(projectId); // If the call succeeds, use the new result. Otherwise, use the cached value. if (result.ErrorCode == StoreServicesEngagementErrorCode.None) { variation = result.ExperimentVariation; } } // Get remote variables named "buttonText", "r", "g", and "b" from the variation // assignment. If no variation assignment is available, the variables default // to "Grey button" for the button text and grey RGB value for the button color. var buttonText = variation.GetString("buttonText", "Grey Button"); var r = (byte)variation.GetInt32("r", 128); var g = (byte)variation.GetInt32("g", 128); var b = (byte)variation.GetInt32("b", 128); // Assign button text and color. await button.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, () => { button.Background = new SolidColorBrush(Color.FromArgb(255, r, g, b)); button.Content = buttonText; button.Visibility = Visibility.Visible; }); // Log the view event named "userViewedButton" to Dev Center. if (logger == null) { logger = StoreServicesCustomEventLogger.GetDefault(); } logger.LogForVariation(variation, "userViewedButton"); } private void button_Click(object sender, RoutedEventArgs e) { // Log the conversion event named "userClickedButton" to Dev Center. if (logger == null) { logger = StoreServicesCustomEventLogger.GetDefault(); } logger.LogForVariation(variation, "userClickedButton"); } } }
Сохраните файл кода и создайте проект.
Создание эксперимента в Центре партнеров
- Вернитесь на страницу проекта "Эксперименты нажатия кнопки" в Центре партнеров.
- В разделе "Эксперименты" нажмите кнопку "Создать эксперимент".
- В разделе "Сведения о эксперименте" введите имя "Оптимизация кнопки" в поле "Имя эксперимента".
- В разделе событий View введите userViewedButton в поле имени события View. Обратите внимание, что это имя соответствует строке события представления, вошедшего в код, добавленный в предыдущем разделе.
- В разделе "Цели и события преобразования" введите следующие значения:
- В поле "Имя цели" введите кнопки "Увеличить".
- В поле имени события преобразования введите имя userClickedButton. Обратите внимание, что это имя соответствует строке события преобразования, вошедшего в код, добавленный в предыдущем разделе.
- В поле "Цель" выберите "Развернуть".
- В разделе "Удаленные переменные и варианты" убедитесь, что флажок "Распределить одинаково" установлен, чтобы варианты распределялись одинаково в приложении.
- Добавьте переменные в эксперимент:
- Щелкните раскрывающийся список, нажмите кнопку "Текст" и нажмите кнопку "Добавить переменную". Строка " Серая кнопка " должна автоматически отображаться в столбце "Вариант A" (это значение является производным от параметров проекта). В столбце "Вариант B " введите "Синяя кнопка".
- Снова щелкните раскрывающийся список, выберите r и нажмите кнопку "Добавить переменную". Строка 128 должна автоматически отображаться в столбце "Вариант А". В столбце "Вариант B " введите 1.
- Снова щелкните раскрывающийся список, выберите g и нажмите кнопку "Добавить переменную". Строка 128 должна автоматически отображаться в столбце "Вариант А". В столбце "Вариант B " введите 1.
- Снова щелкните раскрывающийся список, выберите b и нажмите кнопку "Добавить переменную". Строка 128 должна автоматически отображаться в столбце "Вариант А". В столбце "Вариант B " введите 255.
- Нажмите кнопку "Сохранить " и нажмите кнопку "Активировать".
Внимание
После активации эксперимента вы больше не сможете изменить параметры эксперимента, если только при создании эксперимента не установлен флажок "Редактируемый эксперимент ". Как правило, рекомендуется закодировать эксперимент в приложении перед активацией эксперимента.
Запустите приложение для сбора данных эксперимента
- Запустите созданное ранее приложение SampleExperiment .
- Убедитесь, что отображается серая или синяя кнопка. Нажмите кнопку и закройте приложение.
- Повторите описанные выше действия несколько раз на одном компьютере, чтобы убедиться, что приложение отображает тот же цвет кнопки.
Просмотрите результаты и завершите эксперимент
Подождите по крайней мере несколько часов после завершения предыдущего раздела, а затем выполните следующие действия, чтобы просмотреть результаты эксперимента и завершить эксперимент.
Примечание.
Как только вы активируете эксперимент, Центр партнеров немедленно начинает собирать данные из любых приложений, инструментированных для регистрации данных для эксперимента. Однако для отображения данных эксперимента в Центре партнеров может потребоваться несколько часов.
В Центре партнеров вернитесь на страницу экспериментирования для приложения.
В разделе "Активные эксперименты" нажмите кнопку "Оптимизировать", чтобы перейти на страницу для этого эксперимента.
Убедитесь, что результаты, отображаемые в разделе "Сводка результатов" и "Сведения о результатах", соответствуют ожидаемым значениям. Дополнительные сведения об этих разделах см. в разделе "Управление экспериментом в Центре партнеров".
Примечание.
Центр партнеров сообщает только первое событие преобразования для каждого пользователя в течение 24-часового периода времени. Если пользователь активирует несколько событий преобразования в приложении в течение 24 часов, сообщается только первое событие преобразования. Это позволяет предотвратить размыкание результатов эксперимента для группы пользователей с одним пользователем с несколькими событиями преобразования.
Теперь вы готовы завершить эксперимент. В разделе "Сводка результатов" в столбце "Вариант B" нажмите кнопку "Переключить". Это переключает всех пользователей приложения на синюю кнопку.
Нажмите кнопку "ОК" , чтобы убедиться, что вы хотите завершить эксперимент.
Запустите приложение SampleExperiment, созданное в предыдущем разделе.
Убедитесь, что отображается синяя кнопка. Обратите внимание, что для получения обновленного назначения вариантов может потребоваться до двух минут.