2011-02-04 3 views
1

Я делаю что-то неправильно с этим?WP7 - метод IsTrial() - всегда возвращается false (SIDELOADED and PRODUCTION)

Мое приложение вышло вчера вечером, но я заметил, что мой код для бесплатной пробной версии не стрелял. Этот метод вызывается и он всегда возвращает FALSE (полный режим).

Что я делаю неправильно? Сейчас мое приложение является бесплатным :(

private static Boolean IsTrial() 
    { 
     #if DEBUG 
      return false; 
     #endif 

     var license = new Microsoft.Phone.Marketplace.LicenseInformation(); 
     return license.IsTrial(); 
    } 

В настоящее время я это приложение на моей загружены на машине. Я обновляю свой заголовок поворота и установка статуса для различных проверок у меня есть. На данный момент в загруженных версиях всегда возвращает ложь.

Я загрузил приложение из MarketPlace прошлой ночью (как Free Trial). серийная версия всегда возвращается значение False и поэтому является загруженную версия.

Любые идеи?

Это мой код вызова (просто в случае, если кому-то интересно):

private void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 

    pivotPills.Title = "PillBox v1.2 - Checking Mode:"; 
    App.ViewModel.RefreshTrialMode(); 
    pivotPills.Title = "PillBox v1.2 - Count:" + App.ViewModel.trialItemCollection.Count.ToString(); 
    //Checking Trial Mode: 
    if (App.ViewModel.trialItemCollection.Count == 0) 
    { 
     trialMode tm = new trialMode(); 
     tm.IsTrial = true; 
     tm.Save(); 
     pivotPills.Title = "PillBox v1.2 - Trial Mode:" + App.ViewModel.trialItemCollection.Count.ToString(); 
    } 
    else 
    { 
     if (App.ViewModel.trialItemCollection[0].IsTrial == true) //If saved isTrial = true (still a trial) then check MarketPlace Task 
     { 
      if (IsTrial() == false) //Purchased App 
      { 
       App.ViewModel.trialItemCollection[0].IsTrial = false; 
       StorageHelper.Save<ObservableCollection<trialMode>>(App.trialModeData, App.ViewModel.trialItemCollection); 
       pivotPills.Title = "PillBox v1.2 - Unlimited"; 
      } 
      else //Still in Trial Mode 
      { 
       //show marketplace window 
       NavigationService.Navigate(new Uri("/MarketPlace.xaml", UriKind.Relative)); 
      } 
     } 
    } 
} 

ответ

3

Метод IsTrial всегда возвращает ложь, когда вы работаете в эмулятор (который я предполагаю это дело для вас). Просмотрите статью How to: Test and Debug Your Trial Application for Windows Phone в MSDN для получения отладки пробных приложений.

+0

Это делает это, даже если приложение загружено стороной? У меня был хэш-код #DEBUG в эмуляторе (и, в частности, я использовал указанную вами ссылку). Теперь я загружаю его и приложение было выпущено, и я загрузил его из MarketPlace (в качестве бесплатной пробной версии). Когда я когда-либо называю этот код, он возвращает False (снова загружен боком и версию, которую я загрузил из MP). Так что что-то в моем вызове не right ... – webdad3

+0

Если 'IsTrial' дает вам ложь для приложения, загруженного с Marketplace, то, что касается структуры, приложение не имеет пробной версии. Если вы отправили свою заявку и указали, что она имеет пробную версию, то вам следует обратиться в Microsoft, чтобы исправить это. Независимо от того, находится ли приложение в пробном режиме вне контроля разработчика. –

+0

В соответствии с этим: http: // wp7appl ist.com/app/7500/Pill+Box - Судебная доступность ДА .... У меня такое чувство, что это, наверное, моя проблема больше, чем MS;) Я бы хотел, чтобы все было наоборот. – webdad3

2

Вы уверены, что версия, которую вы указали, не содержит директивы DEBUG?

Также версия на Marketplace - версия 1.0, но ваш код, похоже, считает, что это версия 1.2. Это просто, что код, который вы смотрите, не соответствует тому, что скомпилировано/выпущено?

Также ваше приложение падает, когда я пытаюсь нажать кнопку «Назад» при выборе контакта. :(

+0

@Matt - 1.2 на моей машине dev, я пытаюсь понять это ... Версия 1.0 может иметь директиву #Debug в ней ... Я думал, что прокомментировал это, но теперь я не помните ... И что вы имеете в виду, когда выбираете контакт (Доктор, Аптека или что-то другое)? Я также читал, что даже при загрузке isTrial вернет false. Это и ваше понимание? – webdad3

+0

@Jeff Что вы подразумеваете под «sideloaded»? IsTrial будет работать когда-либо только в приложении, если он пришел из Marketplace. –

+0

@Jeff Сбой, когда я дважды нажимаю на символ телефона следующий «Номер доктора» на панели «Pill Details» и различные другие моменты, когда вы используете Choosers. –

Смежные вопросы