Создание пользовательской кампании по продвижению приложенияCreate a custom app promotion campaign

Помимо создания рекламной кампании для вашего приложения, которая будет работать в приложениях для Windows, вы также можете продвигать свое приложение по другим каналам.In addition to creating an ad campaign for your app that will run in Windows apps, you can also promote your app using other channels. Например, вы можете продвигать свое приложение, используя стороннего поставщика услуг по маркетингу приложений или публиковать ссылки на ваше приложение на сайтах социальных сетей.For example, you can promote your app using a third-party app marketing provider, or you might post links to your app on social media sites. Эти действия называются пользовательскими кампаниями.These activities are called custom campaigns.

Если вы используете пользовательские кампании для вашего приложения, вы можете отслеживать относительную эффективность каждой кампании, создав разные URL-адреса приложения для каждой пользовательской кампании, где каждый URL-адрес содержит собственный идентификатор кампании.If you run custom campaigns for your app, you can track the relative performance of each campaign by creating a different URL for each custom campaign, where each URL contains a different campaign ID. Когда клиент, работающий под управлением Windows 10, щелкает URL-адрес, содержащий идентификатор кампании, корпорация Майкрософт связывает это нажатие с соответствующей пользовательской кампанией и делает эти данные доступными в центре партнеров.When a customer running Windows 10 clicks a URL that contains a campaign ID, Microsoft associates the click with the corresponding custom campaign and makes this data available to you in Partner Center.

Важно!

Эти данные отслеживаются только для пользователей Windows 10.This data is only tracked for customers on Windows 10. Пользователи, использующие другие операционные системы, могут по-прежнему переходить по ссылке на страницу с описанием вашего приложения, но данные об этих действиях пользователя не будут включены.Customers using other operating systems can still follow the link to your app's listing, but data about those customers' activities will not be included.

Существует два основных типа данных, связанных с пользовательскими кампаниями: просмотры страницы с описанием вашего приложения в Store и конверсии.There are two main types of data associated with custom campaigns: page views for your app's Store listing, and conversions. Конверсия — это приобретение приложения, к которому привел просмотр пользователем страницы с описанием вашего приложения в Магазине при переходе по URL-адресу, содержащему идентификатор пользовательской кампании.A conversion is an app acquisition that results from a customer viewing your app's Store listing page from a URL that includes a custom campaign ID. Дополнительные сведения о конверсиях см. в подразделе Общие сведения о том, какие приобретения считаются конверсиями далее в этом разделе.For more details about conversions, see Understanding how app acquisitions qualify as conversions in this topic.

Вы можете получить данные об эффективности пользовательской кампании для вашего приложения следующими способами:You can retrieve custom campaign performance data for your app in the following ways:

  • Просмотреть данные о просмотре страниц и преобразованиях для приложения или надстройки можно в представлениях страниц приложений и преобразованиях по идентификаторам и диаграммам итоговых кампаний в отчете о приобретении.You can view data about page views and conversions for your app or add-on from the App page views and conversions by campaign ID and Total campaign conversions charts in the Acquisitions report.
  • Если ваше приложение является приложением универсальной платформы Windows (UWP), для него можно применять API в пакете Windows SDK, позволяющий программным образом получать идентификатор пользовательской кампании, которая привела к конверсии.If your app is a Universal Windows Platform (UWP) app, you can use APIs in the Windows SDK to programmatically retrieve the custom campaign ID that resulted in a conversion.

Примерный сценарий пользовательской кампанииExample custom campaign scenario

Представим разработчика игр, который только что создал новую игру и хотел бы продвигать ее среди пользователей своих текущих игр.Consider a game developer who has finished building a new game and would like to promote it to players of her existing games. Она публикует объявление о выходе новой игры на своей странице в Facebook и указывает ссылку на описание игры в Store.She posts the announcement of the new game release on her Facebook page, including a link to the game's Store listing. Многие из пользователей, играющих в ее игры, также читают ее в Twitter, поэтому она также публикует объявление в Twitter, указывая ссылку на описание игры в Store.Many of her players also follow her on Twitter, so she also tweets an announcement with the link to the game's Store listing.

Чтобы отслеживать успех каждого из этих каналов продвижений, разработчик создает два варианта URL-адреса для описания игры в Store.To track the success of each of these promotion channels, the developer creates two variants of the URL to the game's Store listing:

  • URL-адрес, который будет публиковаться на странице Facebook, включает идентификатор пользовательской кампании. my-facebook-campaignThe URL she will post to her Facebook page includes the custom campaign ID my-facebook-campaign

  • URL-адрес, который будет публиковаться в Twitter, включает идентификатор пользовательской кампании my-twitter-campaignThe URL she will post to Twitter includes the custom campaign ID my-twitter-campaign

Ее читатели в Facebook и Twitter щелкают URL-ссылки, а Майкрософт отслеживает каждый щелчок и сопоставляет его с соответствующей пользовательской кампанией.As her Facebook and Twitter followers click the URLs, Microsoft tracks each click and associates it with the corresponding custom campaign. Далее соответствующие приобретения игры и любые покупки надстроек сопоставляются с пользовательской кампанией и регистрируются как конверсии.Subsequent qualifying acquisitions of the game and any add-on purchases are associated with the custom campaign and reported as conversions.

Общие сведения о том, какие приобретения считаются конверсиямиUnderstanding how acquisitions qualify as conversions

Конверсия пользовательской компании — это приобретение приложения, к которому привел щелчок по URL-ссылке, продвигаемой через пользовательскую кампанию.A custom campaign conversion is an acquisition that results from a customer clicking a URL that is promoted via a custom campaign. Существуют различные сценарии для уточнения в качестве преобразования для представлений страниц приложений и преобразования по идентификаторам и диаграммам преобразования кампаний в отчете о приобретении , а также для уточнения в качестве преобразования для программного получения идентификатора кампании.There are different scenarios for qualifying as a conversion for the App page views and conversions by campaign ID and Total campaign conversions charts in the Acquisitions report and for qualifying as a conversion for programmatically retrieving the campaign ID.

Уточнение преобразований в отчете о приобретенииQualifying conversions in the Acquisitions report

Следующие сценарии считаются конверсией на диаграммах Число просмотров и конверсий страницы приложения по идентификатору кампании и Общее количество конверсий в ходе кампании в Отчете о приобретениях .The following scenarios qualify as a conversion for the App page views and conversions by campaign ID and Total campaign conversions charts in the Acquisitions report:

  • Пользователь с актуальной учетной записью Майкрософт (или без нее) щелкает URL-адрес приложения, содержащий идентификатор пользовательской кампании, и перенаправляется на страницу с описанием приложения в Магазине.A customer with or without a recognized Microsoft account clicks an app URL that contains a custom campaign ID and is redirected to the Store listing for the app. Затем тот же пользователь приобретет приложение в течение 24 часов после первого щелчка URL-адреса Microsoft Store с идентификатором пользовательской кампании.Then, that same customer acquires the app within 24 hours after they first clicked the Microsoft Store URL with the custom campaign ID.

  • Если клиент приобретает приложение на другом устройстве, отличном от того, на котором он щелкнул URL-адрес Магазина Windows с идентификатором пользовательской кампании, конверсия будет учитываться, только если клиент при щелчке по URL-адресу предварительно выполнил вход с помощью той же учетной записи Майкрософт.If the customer acquires the app on a different device than the one on which they clicked the URL with the custom campaign ID, the conversion will only be counted if the customer is signed in with the same Microsoft account as when they clicked the URL.

Примечание

Для приобретений приложения, которые считаются конверсиями в пользовательской кампании, все покупки надстроек из этого приложения также считаются конверсиями в этой же пользовательской кампании.For app acquisitions that are counted as conversions for a custom campaign, any add-on purchases in that app are also counted as conversions for the same custom campaign.

Правила подсчета конверсий при программном получении идентификатора кампанииQualifying conversions when programmatically retrieving the campaign ID

Чтобы установка считалась конверсией при программном получении идентификатора кампании, связанного с приложением, должны выполняться следующие условия:To qualify as a conversion when programmatically retrieving the campaign ID associated with the app, the following conditions must be met:

  • На устройстве под управлением Windows 10 версии 1607 или выше: клиент (выполнивший вход с помощью актуальной учетной записи Майкрософт или не сделавший это) щелкает URL-адрес, содержащий идентификатор пользовательской кампании, с дальнейшим перенаправлением на страницу с описанием приложения в Магазине.On a device running Windows 10, version 1607, or later: A customer (whether signed in to a recognized Microsoft account or not) clicks a URL that contains a custom campaign ID and is redirected to the Store listing page for the app. Клиент получает приложение во время просмотра описания в Магазине в результате щелчка по URL-адресу.The customer acquires the app while viewing the Store listing as a result of clicking the URL.

  • На устройстве под управлением Windows 10 версии 1511 или более ранней: клиент (выполнивший вход с помощью актуальной учетной записи Майкрософт) щелкает URL-адрес приложения, содержащий идентификатор пользовательской кампании, и перенаправляется на страницу с описанием приложения в Магазине.On a device running Windows 10, version 1511, or earlier: A customer (who must be signed in with a recognized Microsoft account) clicks a URL that contains a custom campaign ID and is redirected to the Store listing page for the app. Клиент получает приложение во время просмотра описания в Магазине в результате щелчка по URL-адресу.The customer acquires the app while viewing the Store listing as a result of clicking the URL. В этих версиях Windows 10 пользователю необходимо выполнить вход с помощью актуальной учетной записи Майкрософт, чтобы приобретение считалась конверсией при программном получении идентификатора кампании.On these versions of Windows 10, the user must be signed in with a recognized Microsoft account in order for the acquisition to qualify as a conversion when programmatically retrieving the campaign ID.

Примечание

Если пользователь покидает страницу с описанием в Магазине и затем возвращается на нее (на том же устройстве или на другом устройстве, если он выполнил вход с помощью учетной записи Майкрософт) в течение 24 часов и приобретает приложение, это будет считаться конверсией на диаграммах Число просмотров и конверсий страницы приложения по идентификатору кампании и Общее количество конверсий в ходе кампании в Отчете о приобретениях.If the customer leaves the Store listing page, but returns to the page with 24 hours (either on the same device, or on a different device when signed in with the same a Microsoft account) and acquires the app, this will qualify as a conversion in the App page views and conversions by campaign ID and Total campaign conversions charts in the Acquisitions report. Однако это не будет считаться конверсией при программном получении идентификатора кампании.However, this will not qualify as a conversion if you programmatically retrieve the campaign ID.

Встраивание идентификатора пользовательской кампании в URL-адрес страницы Microsoft Store с вашим приложениемEmbed a custom campaign ID to your app's Microsoft Store page URL

Чтобы создать URL-адрес страницы Microsoft Store для вашего приложения с идентификатором пользовательской кампании, выполните следующие действия:To create a Microsoft Store page URL for your app with a custom campaign ID:

  1. Создайте строку идентификатора для вашей пользовательской кампании.Create an ID string for your custom campaign. Эта строка может содержать до 100 символов, хотя мы рекомендуем определять короткие идентификаторы кампании, которые легко распознать.This string can contain up to 100 characters, although we recommend that you define short campaign IDs that are easily identifiable.

Примечание

Строка с идентификатором кампании может быть видна другим разработчикам, когда они просматривают Отчет о приобретениях для своих приложений.The campaign ID string may be visible to other developers when they view the Acquisitions report for their apps. Это может произойти, когда пользователь щелкает ваш идентификатор пользовательской кампании для входа в Магазин и приобретает приложение другого разработчика в ходе того же сеанса, таким образом присваивая эту конверсию вашему идентификатору компании.This can occur when a customer clicks your custom campaign ID to enter the Store and purchases another developer’s app within the same session, thus attributing that conversion to your campaign ID. Этот разработчик будет видеть, сколько конверсий его собственного приложения стали следствием начального щелчка по вашему идентификатору кампании, включая имя идентификатора кампании, однако он не будет видеть никакие данные о том, сколько пользователей купили ваши собственные приложения (или приложения от любых других разработчиков) после щелчка по вашему идентификатору кампании.That developer will see how many conversions of their own app resulted from an initial click on your campaign ID, including the name of the campaign ID, but they will not see any data about how many users purchased your own apps (or apps from any other developers) after clicking your campaign ID.

  1. Получите ссылку на страницу описания приложения в Store в формате HTML или протокола.Get the link for your app's Store listing in HTML or protocol format.

    • Используйте URL-ссылку в формате HTML, если вы хотите, чтобы пользователи переходили на страницу с описанием вашего приложения в Магазине, используя браузер в любой операционной системе.Use the HTML URL if you want customers to navigate to your app's web-based Store listing in a browser on any operating system. На устройствах с Windows приложение Магазина также запустит и отобразит страницу вашего приложения.On Windows devices, the Store app will also launch and display your app's listing. Этот URL-адрес имеет формат https://www.microsoft.com/store/apps/*your app ID* .This URL has the format https://www.microsoft.com/store/apps/*your app ID*. Например, URL-адрес в формате HTML для Skype — https://www.microsoft.com/store/apps/9wzdncrfj364.For example, the HTML URL for Skype is https://www.microsoft.com/store/apps/9wzdncrfj364. Вы можете найти этот URL-адрес на странице Удостоверение приложения.You can find this URL on your App identity page.

    • Используйте формат протокола, если вы продвигаете свое приложение из других приложений для Windows, работающих на устройстве или компьютере с установленным приложением UWP, или когда вы знаете, что ваши клиенты используют устройство, поддерживающее Microsoft Store.Use the protocol format if you are promoting your app from within other Windows apps that are running on a device or computer with the UWP app installed, or when you know that your customers are on a device which supports the Microsoft Store. Эта ссылка будет перенаправлять непосредственно на страницу с описанием вашего приложения в Магазине без открытия браузера.This link will go directly to your app's Store listing without opening a browser. Этот URL-адрес имеет формат ms-windows-store://pdp/?PRODUCTID=*your app id* .This URL has the format ms-windows-store://pdp/?PRODUCTID=*your app id*. Например, URL-адрес протокола в Skype — ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.For example, the protocol URL for Skype is ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

  2. Добавляйте следующую строку в конец URL-адреса для вашего приложения:Append the following string to the end of the URL for your app:

    • Для URL-адреса формата HTML добавьте ?cid=*my custom campaign ID* .For an HTML format URL, append ?cid=*my custom campaign ID*. Например, если Skype вводит идентификатор кампании со значением Custom _ кампания, то новый URL-адрес, включающий идентификатор кампании, будет следующим: https://www.microsoft.com/store/apps/skype/9wzdncrfj364?cid=custom\_campaign .For example, if Skype introduces a campaign ID with the value custom_campaign, the new URL including the campaign ID would be: https://www.microsoft.com/store/apps/skype/9wzdncrfj364?cid=custom\_campaign.

    • Для URL-адреса формата протокола добавьте &cid=*my custom campaign ID* .For a protocol format URL, append &cid=*my custom campaign ID*. Например, если Skype вводит идентификатор кампании со значением Custom _ кампания, то новый URL-адрес протокола, включая идентификатор кампании, будет следующим: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom\_campaign .For example, if Skype introduces a campaign ID with the value custom_campaign, the new protocol URL including the campaign ID would be: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom\_campaign.

Программное получение идентификатора пользовательской кампании для приложенияProgrammatically retrieve the custom campaign ID for an app

Если ваше приложение является приложением UWP, вы можете программным образом получить идентификатор пользовательской кампании, связанный с приобретением приложения, используя API в пакете Windows SDK.If your app is a UWP app, you can programmatically retrieve the custom campaign ID associated with an app's acquisition by using APIs in the Windows SDK. Эти API позволяют использовать многие сценарии аналитики и монетизации.These APIs make many analytics and monetization scenarios possible. Например, вы можете узнать, получил ли текущий пользователь ваше приложение, найдя его через кампанию в Facebook, а затем настроить соответствующим образом взаимодействие с пользователем в своем приложении.For example, you can find out if the current user acquired your app after discovering it through your Facebook campaign, and then customize the app experience accordingly. Кроме того, если вы используете стороннего поставщика услуг маркетинга приложений, вы можете предоставить ему эти данные.Alternatively, if you are using a third-party app marketing provider, you can send data back to the provider.

Эти API возвратят строку идентификатора кампании, только если пользователь щелкнул ваш URL-адрес со встроенным идентификатором кампании, просмотрел страницу Microsoft Store для вашего приложения, а затем приобрел ваше приложение, не закрывая страницу с описанием в Store.These APIs will return a campaign ID string only if the customer clicked your URL with the embedded campaign ID, viewed the Microsoft Store page for your app, and then acquires your app without leaving the Store listing page. Если пользователь покидает страницу, а позже возвращается на нее и приобретает приложение, это не будет считаться конверсией при использовании API.If the user leaves the page and then later returns and acquires the app, this will not qualify as a conversion when using these APIs.

Вы можете использовать разные API в зависимости от версии Windows 10, для которой предназначено ваше приложение:There are different APIs for you to use depending on the version of Windows 10 that your app targets:

  • Windows 10 версии 1607 или выше: используйте класс StoreContext в пространстве имен Windows.Services.Store.Windows 10, version 1607, or later: Use the StoreContext class in the Windows.Services.Store namespace. При использовании этого API вы можете получить идентификаторы пользовательской кампании для любых соответствующих приобретений независимо от того, выполнил ли пользователь вход с помощью актуальной учетной записи Майкрософт.When using this API, you can retrieve custom campaign IDs for any qualified acquisitions, whether or not the user is signed in with a recognized Microsoft account.

  • Windows 10 версии 1511 или более ранних версий: используйте класс CurrentApp в пространстве имен Windows.ApplicationModel.Store.Windows 10, version 1511, or earlier: Use the CurrentApp class in the Windows.ApplicationModel.Store namespace. При использовании этого API вы можете получить идентификаторы пользовательской кампании для соответствующих приобретений, только если пользователь выполнил вход с помощью актуальной учетной записи Майкрософт.When using this API, you can only retrieve custom campaign IDs for qualified acquisitions where the user is signed in with a recognized Microsoft account.

Примечание

Хотя пространство имен Windows.ApplicationModel.Store доступно во всех версиях Windows 10, рекомендуется использовать API в пространстве имен Windows.Services.Store, если ваше приложение предназначено для Windows 10 версии 1607 или выше.Although the Windows.ApplicationModel.Store namespace is available in all versions of Windows 10, we recommend that you use the APIs in the Windows.Services.Store namespace if your app targets Windows 10, version 1607, or later. Дополнительные сведения о различиях между этими пространствами имен см. в разделе Покупки из приложения и пробные версии.For more information about the differences between these namespaces, see In-app purchases and trials. В следующем примере кода показано, как структурировать код для использования обоих API в одном проекте.The following code example shows how to structure your code to use both APIs in the same project.

Пример кодаCode example

В следующем примере кода показано, как получить идентификатор пользовательской кампании.The following code example shows how to retrieve the custom campaign ID. В этом примере используются оба набора API в пространствах имен Windows.Services.Store и Windows.ApplicationModel.Store, используя адаптивный код версии.This example uses both sets of APIs in the Windows.Services.Store and Windows.ApplicationModel.Store namespaces by using version adaptive code. При выполнении описанного далее процесса ваш код может выполняться в Windows 10 любой версии.By following this process, your code can run on any version of Windows 10. Чтобы использовать этот код, целевая версия ОС вашего проекта должна быть Windows 10 Anniversary Edition (10.0; сборка 14394) или более поздней версии, хотя минимальная версия ОС может быть более ранней.To use this code, the target OS version of your project must be Windows 10 Anniversary Edition (10.0; Build 14394) or later, although the minimum OS version can be an earlier version.

// 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
    }
}

Этот код делает следующее:This code does the following:

  1. Во-первых, он проверяет, доступен ли класс StoreContext в пространстве имен Windows.Services.Store на текущем устройстве (это означает, что устройство работает под управлением Windows 10 версии 1607 или выше).First, it checks to see if the StoreContext class in the Windows.Services.Store namespace is available on the current device (this means the device is running Windows 10, version 1607, or later). Если это так, код использует данный класс.If so, the code proceeds to use this class.

  2. Затем он пытается получить идентификатор пользовательской кампании для случая, когда у текущего пользователя есть актуальная учетная запись Майкрософт.Next, it attempts to get the custom campaign ID for the case where the current user has a recognized Microsoft account. Для этого код получает объект StoreSku, представляющий текущий SKU приложения, а затем получает доступ к свойству CampaignId, чтобы получить идентификатор кампании, если он доступен.To do this, the code gets a StoreSku object that represents the current app SKU, and then it accesses the CampaignId property to retrieve the campaign ID, if one is available.

  3. Код пытается получить идентификатор кампании для случая, когда у текущего пользователя нет актуальной учетной записи Майкрософт.The code then attempts to retrieve the campaign ID for the case where the current user does not have a recognized Microsoft account. В этом случае идентификатор кампании внедрен в лицензию приложения.In this case, the campaign ID is embedded in the app license. Код извлекает лицензию с помощью метода GetAppLicenseAsync и затем анализирует содержимое JSON лицензии, чтобы получить значение ключа с именем customPolicyField1.The code retrieves the license by using the GetAppLicenseAsync method and then parses the JSON contents of the license for the value of a key named customPolicyField1. Это значение содержит идентификатор кампании.This value contains the campaign ID.

  4. Если класс StoreContext в пространстве имен Windows.Services.Store недоступен, код возвращается к использованию метода GetAppPurchaseCampaignIdAsync в пространстве имен Windows.ApplicationModel.Store для получения идентификатора пользовательской кампании (это пространство имен доступно во всех версиях Windows 10, включая 1511 и более ранние).If the StoreContext class in the Windows.Services.Store namespace is not available, the code then falls back to using the GetAppPurchaseCampaignIdAsync method in the Windows.ApplicationModel.Store namespace to retrieve the custom campaign ID (this namespace is available in all versions of Windows 10, including version 1511 and earlier). Обратите внимание, что при использовании этого метода вы можете получить идентификаторы пользовательских кампаний для соответствующих приобретений только при наличии у пользователя актуальной учетной записи Майкрософт.Note that when using this method, you can only retrieve custom campaign IDs for qualified acquisitions where the user has a recognized Microsoft account.

Укажите идентификатор кампании в прокси-файле для пространства имен Windows.ApplicationModel.StoreSpecify the campaign ID in the proxy file for the Windows.ApplicationModel.Store namespace

Пространство имен Windows.ApplicationModel.Store содержит CurrentAppSimulator, специальный класс, имитирующий операции Магазина для тестирования кода перед отправкой приложения в Магазин.The Windows.ApplicationModel.Store namespace includes CurrentAppSimulator, a special class that simulates Store operations for testing your code before you submit your app to the Store. Этот класс получает данные из локального файла с именем Windows.StoreProxy.xml.This class retrieves data from a local file named Windows.StoreProxy.xml file. В предыдущем примере кода показано, как включить использование CurrentApp и CurrentAppSimulator в отладку и не отлаживать код в проекте.The previous code example shows how to include use both CurrentApp and CurrentAppSimulator in debug and non-debug code in your project. Чтобы проверить этот код в среде отладки, добавьте элемент AppPurchaseCampaignId в файл WindowsStoreProxy.xml на компьютере разработчика, как показано в следующем примере.To test this code in a debug environment, add an AppPurchaseCampaignId element to the WindowsStoreProxy.xml file on your development computer, as shown in the following example. При запуске приложения метод GetAppPurchaseCampaignIdAsync всегда будет возвращать это значение.When you run the app, the GetAppPurchaseCampaignIdAsync method will always return this value.

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

Пространство имен Windows.Services.Store не предоставляет класс, который можно использовать для имитации лицензионных сведений во время тестирования.The Windows.Services.Store namespace does not provide a class that you can use to simulate license info during testing. Вместо этого необходимо опубликовать приложение в Магазине и скачать его на свое устройство разработки, чтобы использовать его лицензию для тестирования.Instead, you must publish an app to the Store and download that app to your development device to use its license for testing. Подробнее см. в разделе Покупки из приложения и пробные версии.For more information, see In-app purchases and trials.

Проверка вашей пользовательской кампанииTest your custom campaign

Перед продвижением URL-адреса пользовательской кампании рекомендуем проверить пользовательскую кампанию, выполнив следующие действия:Before you promote a custom campaign URL, we recommend that you test your custom campaign by doing the following:

  1. Выполните вход в учетную запись Майкрософт на устройстве, используемом для проверки.Sign in to a Microsoft account on the device you are using for testing.

  2. Щелкните URL-адрес пользовательской кампании.Click your custom campaign URL. Убедитесь, что открылась страница вашего приложения, а затем закройте приложение UWP или страницу браузера.Make sure you are taken to your app page, and then close the UWP app or the browser page.

  3. Щелкните URL-адрес несколько раз, закрывая приложение UWP или страницу браузера после каждого посещения страницы вашего приложения.Click the URL several more times, closing the UWP app or the browser page after each visit to your app's page. Во время посещения страницы приложения получите приложение для создания преобразования.During one of the visits to your app's page, acquire your app to generate a conversion. Посчитайте общее количество щелчков URL-адреса.Count the total number of times you clicked the URL.

  4. Убедитесь, что ожидаемые Просмотры страниц и преобразования отображаются в представлениях страниц приложений и преобразуются по идентификатору кампании и диаграммам итоговых преобразований кампаний в отчете о приобретении, и протестируйте код приложения, чтобы убедиться, что он может успешно получить идентификатор кампании с помощью API, описанных выше.Confirm whether the expected page views and conversions appear in the App page views and conversions by campaign ID and Total campaign conversions charts in the Acquisitions report, and test your app's code to confirm whether it can successfully retrieve the campaign ID using the APIs described above.