Приложение для Windows Phone работает с полной версией, а не с пробной версией. - PullRequest
1 голос
/ 31 января 2012

Я добавил пробную версию в свое приложение WP7, но при развертывании приложения на устройстве Windows Phone в режиме выпуска оно запускает полную версию приложения, а не пробную версию. Поэтому, когда я отправляю свое приложение, меня беспокоит, что если люди смогут использовать полную версию моего приложения, не покупая его. Или это может быть то, что должно быть до отправки приложения или установки на телефон таким способом, но я не могу найти никакой информации об этом. Вот мои примеры кода.

В App.xaml я установил для LicenceInformation.IsTrial статическую переменную bool для кэширования.

public static bool IsTrial
{
  get;
  private set;
}

private void DetermineIsTrial()
{
  #if TRIAL
    IsTrial = true;
  #else
    var license = new Microsoft.Phone.Marketplace.LicenseInformation();
    IsTrial = license.IsTrial();
  #endif
}

private void Application_Launching(object sender, LaunchingEventArgs e)
{
    DetermineIsTrial();
}

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    DetermineIsTrial();
}

Затем я проверяю, является ли это пробной версией или полной.

if(App.IsTrial)
{
  //Trial Version
} 
else
{
  //Full Version
}

Итак, я сделал все тестовые и полные версии тестов, и он готов к отправке, но при развертывании его на устройстве Windows Phone в режиме выпуска, не предполагает ли запуск пробной версии вместо полной версии? Любая помощь будет оценена.

Привет.

Ответы [ 2 ]

3 голосов
/ 31 января 2012

Похоже, что это делает то, что ожидается - ваше приложение еще не в Marketplace, поэтому флаг IsTrial по умолчанию равен false.

См. Как выполнить пробную версию в приложении Silverlight для Windows Phone .

Реальная информация о лицензии доступна для приложения только после ее публикации в Windows Phone Marketplace.

Попытка пустого проекта Windows Phone с помощью следующего кода, добавленного на главную страницу, также дает false.

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        var license = new Microsoft.Phone.Marketplace.LicenseInformation();
        bool isT = license.IsTrial();
    }
3 голосов
/ 31 января 2012

Это зависит от того, определите ли вы переменную компиляции TRIAL в конфигурации выпуска?

Если это так, вам нужно будет удалить ее.

Обновить

Это ожидаемое поведение в соответствии с Как: протестировать и отладить пробную версию приложения для Windows Phone :

При отладке в эмуляторе Windows Phone илиПри тестировании на разблокированном устройстве ваше приложение должно имитировать пробный режим.В этих случаях, которые обычно называются режимом отладки, метод IsTrial всегда возвращает false

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