Поддержка покупок продуктов из приложения (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

Ваше приложение может предлагать клиентам покупать из него продукты и услуги. В этом разделе рассказывается о том, как разрешить такие продажи из приложения.

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

Что необходимо знать

Технологии

Необходимые условия

  • Приложение среды выполнения Windows, в которое предполагается добавить компоненты для продажи.

Инструкции

Этап 1: Инициализация сведений о лицензии для приложения

Во время инициализации приложения получите для него объект LicenseInformation путем инициализации CurrentApp или CurrentAppSimulator, чтобы включить покупки продуктов из приложения.

function appInit()
{
    // some app initialization functions

        // Get current product object 
        // Execute only one of these statements. 
        // The next line is commented out for testing.
        // currentApp = Windows.ApplicationModel.Store.CurrentApp;

        // The next line is commented out for production/release.
        currentApp = Windows.ApplicationModel.Store.CurrentAppSimulator;

        // We should have either a real or a simulated CurrentProduct object here.

        // Get the license info
        licenseInformation = currentApp.licenseInformation;

    // other app initializations function
}

Примечание  Когда вы создадите код для продаж продукта из приложения и будете проверять его в первый раз, используйте объект CurrentAppSimulator вместо объекта CurrentApp. В этом случае вы сможете проверить логику лицензирования путем имитации обращения к серверу лицензирования вместо вызова реального сервера. Для этого в %userprofile%\AppData\local\packages\<package name>\LocalState\Microsoft\Windows Store\ApiData необходимо изменить файл с именем WindowsStoreProxy.xml. Имитатор Microsoft Visual Studio создает этот файл при первом запуске приложения. Кроме того, вы можете загрузить собственный вариант файла во время выполнения. Подробнее см. в документах по CurrentAppSimulator.

 

Этап 2: Добавьте внутренние предложения продуктов в свое приложение

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

Важно  В приложение необходимо добавить все продукты, предназначенные для продажи клиентам, до отправки в Магазин. Если потом вы захотите добавить новые продукты из приложения, вам придется обновить приложение и отправить в Магазин новую версию.

 

  1. Создание маркера продажи из приложения

    Вы определяете каждый продукт в своем приложении по маркеру. Маркер — это строка, которую вы определяете и используете в своем приложении и в Магазине для идентификации определенного продукта из приложения. Присвойте маркеру имя, понятное и уникальное для вашего приложения, чтобы быстро определять, какой компонент он представляет, при написании кода. Вот несколько примеров имен:

    • "SpaceMissionLevel4",
    • "ContosoCloudSave",
    • "RainbowThemePack".
  2. Помещение кода компонента в условный блок

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

    Вот пример кода для продукта под названием featureName в условном блоке лицензирования. Строка featureName — это маркер, однозначно определяющий этот продукт в приложении и в Магазине.

    
    if (licenseInformation.productLicenses.lookup("featureName").isActive) 
    {
        // the customer can access this feature
    }
    else 
    {
        // the customer can't access this feature
    }
    
  3. Добавление пользовательского интерфейса покупки для данного компонента

    В приложении вам также следует реализовать возможность покупки продукта или компонента, предлагаемого для продукта из приложения. Пользователи не могут приобрести их через Магазин, как приобрели само приложение.

    В следующем примере показано, как проверить, есть ли у пользователя продукт, предлагаемый для продажи из приложения, и если нет, отобразить диалоговое окно покупки. Замените комментарий "показать диалоговое окно покупки" своим кодом для вызова диалогового окна (например, страницы с понятной кнопкой "Купить это приложение").

    function buyFeature1() {
        if (!licenseInformation.productLicenses.lookup("featureName").isActive)
        {
            // The customer doesn't own this feature, so 
            // show the purchase dialog.
    
            // note: currentApp is a reference to CurrentAppSimulator from a previous declaration
            currentApp.requestProductPurchaseAsync("featureName", false).then(
                function () {
                    //Check the license state to determine if the in-app purchase was successful.
                }, 
                function () {
                    // The in-app purchase was not completed because 
                    // there was an error.
                });
        } 
        else
        {
            // The customer already owns this feature.
        }
    }
    

Этап 3: Замена тестового кода окончательной версией

Это просто: замените в коде приложения все ссылки на CurrentAppSimulator ссылками на CurrentApp. Файл WindowsStoreProxy.xml больше не нужен, поэтому удалите его из пути приложения (хотя его можно сохранить до следующего этапа настройки продажи из приложения для справки).

Этап 4: Настройте продукт из приложения в Магазине

Перед отправкой приложения в Магазин добавьте все продукты из приложения в рабочий процесс Отправить приложение. Не забудьте указать маркер внутреннего продукта, цену и срок действия компонента. Убедитесь, что настройка идентична настройке, выполненной в WindowsStoreProxy.xml при тестировании.

Этап 5: Описание продукта из приложения в Магазине

После выкладывания пакета приложения в Магазин можно ввести описание каждого продукта из приложения на странице Описание при отправке приложения. Если ваше приложение поддерживает несколько языков, введите описание на каждом из них.

Опишите возможности компонента четко и ясно, объясните, какие конкретно преимущества он дает приложению. В противном случае вам будет трудно продать его. Подробнее об отдельных частях описания продукта из приложения: Описание приложения.

Замечания

Если вы хотите предоставить пользователям возможность покупать потребляемые товары из приложения, перейдите в раздел Поддержка покупок потребляемых продуктов из приложения.

Если вам нужно использовать квитанции для подтверждения покупки, совершенной пользователем из приложения, ознакомьтесь с разделом Проверка покупок с помощью квитанций.

Связанные разделы

Поддержка покупок потребляемых продуктов из приложения

Образец пробной версии приложения и продажи из приложения