День #12. Создание триальной версии приложения

Posted on Декабрь 24, 2010

10


Добрый вечер!

Это 12 пост в цикл Windows Phone 7 для начинающих и сегодня мы с вами поговорим о создании временной (далее триальной) версии для приложения. Эта тема будет одинаково интересна и разработчикам и тем, кто только начал. Ведь надо же как-то показать пользователю, что он не может жить без нашего приложения и что очень скоро, ему придётся его купить.
Предположим, что мы создаем игру, в которой будет 100 уровней. Что бы пользователь вник в игру, дадим ему возможность пройти 11 бесплатно, а потом затребуем купить игру. В этом нам поможет временная лицензия, о которой далее.

Использование LicenseInformation

Вся прелесть в создании триала состоит в том, что обо всем давно позаботились вместо нас. Опять же, никто не будет изобретать кривые велосипеды (Ну в теории). Добавим сборку Microsoft.Phone.Marketplace в наше приложение:

using Microsoft.Phone.Marketplace;

Теперь мы сможем использовать класс LicenseInformation

LicenseInformation li = new LicenseInformation();

И наконец, наш класс LicenseInformation имеет очень хорошее Boolean свойство IsTrial(), которое и проверяет состояние приложения. Ну и использовать его очень просто:

if (!li.IsTrial())
{
	//This is not a trial version. Add some code here.
}
else
{
	//This is a trial version. Here you can show Buy Now page or whatever you prefer.
}

И, Топ 5 вещей, о которых не следует забывать при использовании триальных версий

  1. Истечение Триала.
  2. Когда пользователь пробует ваше приложение, на его телефон устанавливается триальная версия. Версия приложения с триальной лицензией не заканчивается, но когда пользователь покупает ваше приложение, скачивается полная лицензия и заменяет триальную лицензию для приложения.

  3. Проверяйте состояние IsTrial() при загрузке и воскрешении вашего приложения.
  4. Ваше приложение может использовать метод IsTrial() для определения текущей лицензии. Этот метод возвращает true если приложение запущено с триальной лицензией и false если приложение купили и используют с полной лицензией.

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

    Важно: Если вы запускаете приложение во время разработки (т.е. в эмуляторе), то IsTrial() ВСЕГДА будет возвращать FALSE.  Вы можете обойти это с помощью простого условия:

    bool debugTrial = false;
    if (!li.IsTrial() || !debugTrial)
    {
    	//This is not a trial version. Add some code here.
    }
    else
    {
    	//This is a trial version. Here you can show Buy Now page or whatever you prefer.
    }
    

    Не забудьте убрать переменную при релизе продукта.

  5. Дайте пользователю возможность приобрести ваше приложение до истечения триала.
  6. Можете включить функцию в приложение, которая позволит пользователю с триальной лицензией купить приложение в Windows Phone Marketplace вызвав метод Show() класса MarketplaceDetailTask.

  7. Не полагайтесь на триалы с ограниченным временем использования. Если вы предлагаете приложение, которое дает возможности полной версии, но на ограниченное время, то помните, что пользователь может свободно удалить приложение и установить его вновь и тогда единственной причиной покупки станет неудобство от постоянных переустановок.
  8. Для триального режима в XNA приложениях следует использовать класс Guide из GamerServices что бы разделить временную и полную лицензии и путь для покупки Игр. Больше информации: Simulating Trial Mode for Marketplace Content.

Когда вы выгружаете приложение с временной лицензией в Windows Phone Marketplace, просто отметьте «Trial Application» и Windows Phone Marketplace покажет «Try» на странице о приложении.

Удачи с приложениями!

Реклама