Поделиться через


Создание настраиваемой кампании по продвижению приложений

Помимо создания рекламной кампании для вашего приложения , которое будет работать в приложениях Windows, вы также можете повысить уровень приложения с помощью других каналов. Например, вы можете повысить уровень приложения с помощью стороннего поставщика маркетинга приложений или опубликовать ссылки на приложение на сайтах социальных сетей. Эти действия называются пользовательскими кампаниями.

Если вы запускаете пользовательские кампании для приложения, вы можете отслеживать относительную производительность каждой кампании, создавая другой URL-адрес для каждой пользовательской кампании, где каждый URL-адрес содержит другой идентификатор кампании. Когда клиент под управлением Windows 10 щелкает URL-адрес, содержащий идентификатор кампании, корпорация Майкрософт связывает щелчк с соответствующей пользовательской кампанией и делает эти данные доступными для вас в Центре партнеров.

Внимание

Эти данные отслеживаются только для клиентов в Windows 10. Клиенты, использующие другие операционные системы, по-прежнему могут следовать ссылке на список вашего приложения, но данные о действиях этих клиентов не будут включены.

Существует два основных типа данных, связанных с пользовательскими кампаниями: представления страниц для описания Магазина приложения и преобразования. Преобразование — это приобретение приложения, которое результаты от клиента, просматривающего страницу описания Магазина вашего приложения, из URL-адреса, включающего пользовательский идентификатор кампании. Дополнительные сведения о преобразованиях см. в разделе "Общие сведения о том, как приобретение приложений квалифицируется как преобразования в этом разделе".

Вы можете получить пользовательские данные о производительности кампании для приложения следующими способами:

  • Вы можете просматривать данные о представлениях страниц и преобразованиях для приложения или надстройки из представлений страницы приложения и преобразований по идентификатору кампании и диаграммам преобразования итогов кампаний в отчете о приобретении.
  • Если приложение является приложением универсальная платформа Windows (UWP), вы можете использовать API-интерфейсы в пакете SDK для Windows программным способом для получения пользовательского идентификатора кампании, который привел к преобразованию.

Пример сценария пользовательской кампании

Рассмотрим разработчика игры, который закончил строительство новой игры и хотел бы повысить его до игроков ее существующих игр. Она публикует объявление о новом выпуске игры на своей странице Facebook, включая ссылку на список магазина игры. Многие из ее игроков также следуют за ней в Twitter, поэтому она также чирикает объявление со ссылкой на список магазина игры.

Чтобы отслеживать успех каждого из этих каналов продвижения, разработчик создает два варианта URL-адреса в списке магазина игры:

  • URL-адрес, который она будет публиковать на своей странице Facebook, включает в себя пользовательский идентификатор кампании my-facebook-campaign

  • URL-адрес, который она будет публиковать в Twitter, включает в себя пользовательский идентификатор кампании my-twitter-campaign

По мере того как ее подписчики Facebook и Twitter щелкают URL-адреса, Корпорация Майкрософт отслеживает каждый щелчк и связывает его с соответствующей пользовательской кампанией. Последующие квалифицированные приобретения игры и любые покупки надстроек связаны с пользовательской кампанией и сообщаются как преобразования.

Общие сведения о том, как приобретения считаются преобразованиями

Пользовательское преобразование кампании — это приобретение , которое приводит к выбору от клиента, щелкнув URL-адрес, который продвигается через пользовательскую кампанию. Существуют различные сценарии для преобразования представлений и преобразований страниц приложения по идентификатору кампании и диаграммам преобразования итогов кампании в отчете "Приобретения" и для квалификации в качестве преобразования в качестве преобразования программного получения идентификатора кампании.

Квалификация преобразований в отчете о приобретении

Следующие сценарии определяются как преобразование представлений и преобразований страниц приложения по идентификатору кампании и диаграммам преобразования итогов кампании в отчете "Приобретения".

  • Клиент с распознанной учетной записью Майкрософт или без нее щелкает URL-адрес приложения, содержащий пользовательский идентификатор кампании, и перенаправляется в список Магазина для приложения. Затем тот же клиент получает приложение в течение 24 часов после того, как он сначала щелкнул URL-адрес Microsoft Store с пользовательским идентификатором кампании.

  • Если клиент получает приложение на устройстве, отличном от того, на котором он щелкнул URL-адрес с пользовательским идентификатором кампании, преобразование будет считаться только в том случае, если клиент вошел с той же учетной записью Майкрософт, что и при щелчке URL-адреса.

Примечание.

Для приобретения приложений, которые считаются преобразованиями для пользовательской кампании, все покупки надстроек в этом приложении также считаются преобразованиями для той же пользовательской кампании.

Квалификация преобразований при программном получении идентификатора кампании

Чтобы квалифицироваться как преобразование при программном получении идентификатора кампании, связанного с приложением, необходимо выполнить следующие условия:

  • На устройстве под управлением Windows 10 версии 1607 или более поздней версии: клиент (при входе в распознаваемую учетную запись Майкрософт или нет) щелкает URL-адрес, содержащий пользовательский идентификатор кампании и перенаправляется на страницу описания Магазина для приложения. Клиент получает приложение при просмотре списка в Магазине в результате нажатия URL-адреса.

  • На устройстве под управлением Windows 10 версии 1511 или более ранних версий: клиент (который должен войти с распознанной учетной записью Майкрософт) щелкает URL-адрес, содержащий пользовательский идентификатор кампании и перенаправляется на страницу описания Магазина для приложения. Клиент получает приложение при просмотре списка в Магазине в результате нажатия URL-адреса. В этих версиях Windows 10 или Windows 11 пользователь должен войти с помощью распознанной учетной записи Майкрософт, чтобы получить его в качестве преобразования при программном получении идентификатора кампании.

Примечание.

Если клиент покидает страницу списка в Магазине, но возвращается на страницу с 24 часами (либо на одном устройстве, либо на другом устройстве при входе с той же учетной записью Майкрософт) и получает приложение, это будет считаться преобразованием в представлениях страниц приложения и преобразованиях по идентификатору кампании и диаграммам преобразования кампании в отчете "Приобретение". Однако это не будет считаться преобразованием, если вы программно извлекаете идентификатор кампании.

Внедрение пользовательского идентификатора кампании в URL-адрес страницы Microsoft Store приложения

Чтобы создать URL-адрес страницы Microsoft Store для приложения с пользовательским идентификатором кампании:

  1. Создайте строку идентификатора для пользовательской кампании. Эта строка может содержать до 100 символов, хотя мы рекомендуем определить идентификаторы коротких кампаний, которые легко идентифицируются.

Примечание.

Строка идентификатора кампании может отображаться другим разработчикам при просмотре отчета о приобретении для своих приложений. Это может произойти, когда клиент щелкает свой пользовательский идентификатор кампании, чтобы ввести магазин и приобрести приложение другого разработчика в рамках того же сеанса, таким образом, привив это преобразование к идентификатору кампании. Этот разработчик увидит, сколько преобразований собственного приложения привело к первоначальному щелчку идентификатора кампании, включая имя идентификатора кампании, но они не увидят никаких данных о том, сколько пользователей приобрели собственные приложения (или приложения от других разработчиков) после нажатия идентификатора кампании.

  1. Получите ссылку для описания Магазина приложения в формате HTML или протокола.

    • Используйте HTML-URL-адрес, если вы хотите, чтобы клиенты могли перейти к веб-списку Магазина на основе вашего приложения в браузере в любой операционной системе. На устройствах с Windows приложение Магазина также запустит и отобразит описание вашего приложения. Этот URL-адрес имеет формат https://www.microsoft.com/store/apps/*your app ID*. Например, HTML-URL-адрес для Skype.https://www.microsoft.com/store/apps/9wzdncrfj364 Этот URL-адрес можно найти на странице удостоверений приложения.

    • Используйте формат протокола, если вы продвигаете приложение из других приложений Windows, работающих на устройстве или компьютере с установленным приложением UWP, или когда вы знаете, что ваши клиенты находятся на устройстве, поддерживающем Microsoft Store. Эта ссылка перейдет непосредственно в список Магазина вашего приложения без открытия браузера. Этот URL-адрес имеет формат ms-windows-store://pdp/?PRODUCTID=*your app id*. Например, URL-адрес протокола для Skype.ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364

  2. Добавьте следующую строку в конец URL-адреса приложения:

    • Для URL-адреса формата HTML добавьте ?cid=*my custom campaign ID*. Например, если Skype вводит идентификатор кампании со значением custom_campaign, новый URL-адрес, включая идентификатор кампании, будет: https://www.microsoft.com/store/apps/skype/9wzdncrfj364?cid=custom\_campaign

    • Для URL-адреса формата протокола добавьте &cid=*my custom campaign ID*. Например, если Skype вводит идентификатор кампании со значением custom_campaign, новый URL-адрес протокола, включая идентификатор кампании, будет: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom\_campaign

Программное получение пользовательского идентификатора кампании для приложения

Если приложение является приложением UWP, вы можете программно получить пользовательский идентификатор кампании, связанный с приобретением приложения, с помощью API в пакете SDK для Windows. Эти API позволяют реализовать множество сценариев аналитики и монетизации. Например, вы можете узнать, приобрел ли текущий пользователь приложение после обнаружения его через кампанию Facebook, а затем настроить интерфейс приложения соответствующим образом. Кроме того, если вы используете стороннего поставщика маркетинга приложений, вы можете отправить данные обратно поставщику.

Эти API возвращают строку идентификатора кампании только в том случае, если клиент щелкнул URL-адрес с внедренным идентификатором кампании, просмотрил страницу Microsoft Store для вашего приложения, а затем получает приложение, не покидая страницу списка в Магазине. Если пользователь покидает страницу, а затем возвращает и получает приложение, это не будет считаться преобразованием при использовании этих API.

Существуют различные API для использования в зависимости от версии Windows, на которую предназначено ваше приложение:

  • Windows 10 версии 1607 или более поздней версии: используйте класс StoreContext в пространстве имен Windows.Services.Store. При использовании этого API можно получить пользовательские идентификаторы кампании для любых квалифицированных приобретений, независимо от того, входит ли пользователь с распознанной учетной записью Майкрософт.

  • Windows 10 версии 1511 или более ранней версии: используйте класс CurrentApp в пространстве имен Windows.ApplicationModel.Store. При использовании этого API можно получить только идентификаторы пользовательских кампаний для получения квалифицированных приобретений, в которых пользователь вошел с распознанной учетной записью Майкрософт.

Примечание.

Хотя пространство имен Windows.ApplicationModel.Store доступно во всех версиях Windows 10 или Windows 11, рекомендуется использовать API в пространстве имен Windows.Services.Store, если приложение предназначено для Windows 10, версии 1607 или более поздней версии. Дополнительные сведения о различиях между этими пространствами имен см. в разделе "Покупки в приложении" и пробные версии. В следующем примере кода показано, как структурировать код для использования обоих API в одном проекте.

Пример кода

В следующем примере кода показано, как получить пользовательский идентификатор кампании. В этом примере используются оба набора API в пространствах имен Windows.Services.Store и Windows.ApplicationModel.Store с помощью адаптивного кода версии. Следуя этому процессу, код может выполняться в любой версии Windows 10 или Windows 11. Чтобы использовать этот код, целевая версия ОС проекта должна быть юбилейной версией Windows 10 (10.0; Сборка 14394) или более поздняя, хотя минимальная версия ОС может быть более ранней.

// This example assumes the code file has using statements for
// System.Linq, System.Threading.Tasks, Windows.Data.Json,
// and Windows.Services.Store.
public async Task<string> GetCampaignId()
{
    // Use APIs in the Windows.Services.Store namespace if they are available
    // (the app is running on a device with Windows 10, version 1607, or later).
    if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(
         "Windows.Services.Store.StoreContext"))
    {
        StoreContext context = StoreContext.GetDefault();

        // Try to get the campaign ID for users with a recognized Microsoft account.
        StoreProductResult result = await context.GetStoreProductForCurrentAppAsync();
        if (result.Product != null)
        {
            StoreSku sku = result.Product.Skus.FirstOrDefault(s => s.IsInUserCollection);

            if (sku != null)
            {
                return sku.CollectionData.CampaignId;
            }
        }

        // Try to get the campaign ID from the license data for users without a
        // recognized Microsoft account.
        StoreAppLicense license = await context.GetAppLicenseAsync();
        JsonObject json = JsonObject.Parse(license.ExtendedJsonData);
        if (json.ContainsKey("customPolicyField1"))
        {
            return json["customPolicyField1"].GetString();
        }

        // No campaign ID was found.
        return String.Empty;
    }
    // Fall back to using APIs in the Windows.ApplicationModel.Store namespace instead
    // (the app is running on a device with Windows 10, version 1577, or earlier).
    else
    {
#if DEBUG
        return await Windows.ApplicationModel.Store.CurrentAppSimulator.GetAppPurchaseCampaignIdAsync();
#else
        return await Windows.ApplicationModel.Store.CurrentApp.GetAppPurchaseCampaignIdAsync() ;
#endif
    }
}

Этот код выполняет следующие действия:

  1. Во-первых, он проверяет, доступен ли класс StoreContext в пространстве имен Windows.Services.Store на текущем устройстве (это означает, что устройство работает под управлением Windows 10, версии 1607 или более поздней). Если да, код переходит к использованию этого класса.

  2. Затем он пытается получить пользовательский идентификатор кампании для случая, когда текущий пользователь имеет распознаваемую учетную запись Майкрософт. Для этого код получает объект StoreSku, представляющий текущий номер SKU приложения, а затем получает доступ к свойству CampaignId для получения идентификатора кампании, если он доступен.

  3. Затем код пытается получить идентификатор кампании для случая, когда текущий пользователь не имеет распознанной учетной записи Майкрософт. В этом случае идентификатор кампании внедряется в лицензию приложения. Код извлекает лицензию с помощью метода GetAppLicenseAsync, а затем анализирует содержимое JSON лицензии для значения ключа с именем customPolicyField1. Это значение содержит идентификатор кампании.

  4. Если класс StoreContext в пространстве имен Windows.Services.Store недоступен, код возвращается к использованию метода GetAppPurchaseCampaignIdAsync в пространстве имен Windows.ApplicationModel.Store для получения пользовательского идентификатора кампании (это пространство имен доступно во всех версиях Windows 10 или Windows 11). Обратите внимание, что при использовании этого метода можно получить только идентификаторы пользовательских кампаний для получения квалифицированных приобретений, где у пользователя есть распознанная учетная запись Майкрософт.

Укажите идентификатор кампании в прокси-файле для пространства имен Windows.ApplicationModel.Store

Пространство имен Windows.ApplicationModel.Store включает CurrentAppSimulator, специальный класс, который имитирует операции Магазина для тестирования кода перед отправкой приложения в Магазин. Этот класс извлекает данные из локального файла с именем Windows.StoreProxy.xml файла. В предыдущем примере кода показано, как включить как CurrentApp, так и CurrentAppSimulator в отладочный и не отладочный код в проекте. Чтобы протестировать этот код в среде отладки, добавьте элемент AppPurchaseCampaignId в файл WindowsStoreProxy.xml на компьютере разработки, как показано в следующем примере. При запуске приложения метод GetAppPurchaseCampaignIdAsync всегда возвращает это значение.

<CurrentApp>
    ...
    <AppPurchaseCampaignId>your custom campaign ID</AppPurchaseCampaignId>
</CurrentApp>

Пространство имен Windows.Services.Store не предоставляет класс, который можно использовать для имитации сведений о лицензии во время тестирования. Вместо этого необходимо опубликовать приложение в Магазине и скачать это приложение на устройство разработки, чтобы использовать ее лицензию для тестирования. Дополнительные сведения см. в разделе "Покупки в приложении" и пробные версии.

Тестирование настраиваемой кампании

Перед продвижением пользовательского URL-адреса кампании рекомендуется протестировать настраиваемую кампанию, выполнив следующие действия.

  1. Войдите в учетную запись Майкрософт на устройстве, которое вы используете для тестирования.

  2. Щелкните URL-адрес пользовательской кампании. Убедитесь, что вы перейдете на страницу приложения, а затем закройте приложение UWP или страницу браузера.

  3. Щелкните URL-адрес еще несколько раз, закрывая приложение UWP или страницу браузера после каждого посещения страницы приложения. Во время одного из посещений страницы приложения получите приложение для создания преобразования. Подсчитывайте общее количество раз, когда вы щелкали URL-адрес.

  4. Убедитесь, что ожидаемые представления и преобразования страниц отображаются в представлениях и преобразованиях страниц приложения по идентификатору кампании и диаграммам преобразования итогов кампании в отчете "Приобретение", а также проверьте код приложения, чтобы убедиться, может ли он успешно получить идентификатор кампании с помощью описанных выше API.