Search
Write a publication
Pull to refresh

Создание Trial версии для вашего приложения на Windows Phone для самых начинающих

Вместо вступления


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

Ошибка номер раз!

Я наивно полагал что придется изобретать велосипед и переписывать пол-программы (или даже писать вторую копию программы с урезанным функционалом и заливать в app hub два .xap файла), но в Microsoft уже позаботились об этом (msdn иногда и правда полезно почитать).
Итак нужно добавить сборку для использования LicenseInformation в нашу программу
using Microsoft.Phone.Marketplace;
LicenseInformation li = new LicenseInformation();

Вся легкость заключается в том что в классе LicenseInformation есть свойство IsTrial() которое проверяет триальное приложение или нет.
Казалось бы можно использовать простой код и задача решена:
if (!li.IsTrial())
{
// что то для тех кто приобрел полную версию программы
}
else
{
//код для триальной версии
}

Ошибка номер два!

Если использовать данный метод слишком часто — приложение начинает неимоверно тормозить. Поэтому не стоит злоупотреблять — можно просто один раз при запуске приложения проверять состояние лицензии и это сэкономит ресурсы пользователя и приложение не будет притормаживать (не забывайте что при сертификации приложений в marketplace выполняется проверка на время запуска приложения и если ваша программа не укладывается в 5 секунд — сертификацию вы не пройдете).

Ошибка номер три. Последний выдох.

В эмуляторе IsTrial() всегда будет ложью (т.е. false). Я об этом не знал и пока не погуглил как следует — не мог понять что я делаю не так.
Прописываем простейшее условие и проблема решена:
bool debugTrial = false;

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

Вместо заключения


В этой статье я собрал три единственно важные и в той же степени легкие проблемы которые у меня возникли. Думаю начинающим будет полезно — мне очень не хватало подобной статьи.
В следующей статье хочу рассказать про подводные камни при сертификации приложения в Marketplace.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.