2013-11-02 86 views
4

更新:繼續我的調查,我剛剛在Beta商店提交了一個測試應用程序,以顯示CurrentApp.LicenseInformation.IsActive和CurrentApp.LicenseInformation.IsTrial的值。兩者都返回false。這是一個正常的行爲?Windows Phone 8應用程序購買後的許可信息


我剛剛在WP8商店發佈了一個應用程序,它有試用和購買完整版本選項。由於WP8沒有任何機制來測試除了Simulation之外的試用產品,所以我不得不發送到商店。令我驚訝的是,我完成了手機購買,但該應用似乎仍處於試用階段,並顯示購買選項。我使用的代碼從MSDN sdktrialexperiencesample

代碼的主要部分是

public static void RefreshCache() 
    { 
     LicenseManager.isActiveCache = CurrentApp.LicenseInformation.IsActive; 
     LicenseManager.isTrialCache = CurrentApp.LicenseInformation.IsTrial; 
     LicenseManager.RaiseLicenseChanged(); 
    } 

public static LicenseModes LicenseMode 
     { 
      get 
      { 
#if DEBUG 
       return simulatedLicMode; 
#else // DEBUG 
       if (LicenseManager.isActiveCache) 
       { 
        return LicenseManager.isTrialCache ? LicenseModes.Trial : LicenseModes.Full; 
       } 
       else // License is inactive. 
       { 
        return LicenseModes.MissingOrRevoked; 
       } 
#endif // DEBUG 
      } 
     } 

我可以看到,刷新方法獲取調用在適當的地方,當它是需要刷新。

因此,此代碼不可用的唯一可能性是CurrentApp.LicenseInformation.IsActive總是返回false。

我在SE和Google搜索過,有些人提到IsActive始終是錯誤的,我曾經看到它在24小時後刷新並開始返回true。

是的,我看過微軟試用指南in msdn,我的代碼符合它,因爲它在檢查IsTrial之前還首先檢查CurrentApp.LicenseInformation.IsActive

有人可以告訴我,如果我有任何問題,或者購買Windows Phone 8應用真的需要很長時間來刷新手機上的許可證嗎?

NB:

  • 在網上商店,應用程序是顯示在我的帳戶
  • 我做手機的出廠重置購買,去存儲和應用程序仍然 表現爲審判。但下載後,點擊購買,它會刷新(表示重新安裝),現在購買按鈕不在 商店。
  • 我使用相同的手機進行開發&調試/測試,所以它被開發者解鎖,但出廠重置\應用程序已經重新安裝,但沒有運氣。
  • 我的應用程序沒有應用程序內購物,並且與此類代碼無關。
+0

嗨,你有沒有得到這個整理?我和你有同樣的問題。這裏:http:// stackoverflow。com/questions/25040553/trial-experience-app-is-allow-unrestricted-access-windows-phone – TripVoltage

回答

2

這是爲了更新CurrentApp.LicenseInformation.IsActive對WP而言始終是FALSE。這意味着sdktrialexperiencesamples是一次性東西。您只需檢查IsTrial是否屬實即可瞭解試用模式是否開啓,否則強制認爲該應用已支付。

+0

正如你所說的,如果你想獲得試用體驗,你只需要測試IsTrial。下面是一篇很好的文章:http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286402(v=vs.105).aspx。如果您正確標記了您的問題,您可能會得到更快的答案 - 例如windows-phone-8標記。 – Romasz

+1

您指出的文章和附帶的Windows Phone試用體驗示例基本上是錯誤的。這就是這篇文章的起源。我希望人們不要參考那篇文章。感謝您對標籤的建議。 – user2693908

+0

是你們推薦的Microsoft.Phone.Marketplace.LicenseInformation.Istrial或CurrentApp.LicenseInformation.Istrial()?我目前在商店中的應用程序使用Microsoft.Phone.Marketplace.LicenseInformation.Istrial,但它不起作用。 – Waqas

0

是的,至少在beta存儲中部署的應用程序對IsActive和IsTrial返回false。如上所述,IsActive的檢查變得無效。事實上,這也非常混亂!

相關問題