2017-02-28 72 views
0

我有一個付費應用程序,並希望在店內免費提供幾天。但只有在這些特殊日子裏安裝它的人才想展示廣告。如何檢查應用程序的安裝日期?

如何檢查用戶是否在特定時間範圍內安裝了應用程序?

我認爲這些解決方案:

  • 我可以在以前的包裝標誌,並檢查它在這個 包。如果它不可用,這是第一次安裝。
  • 自第一次以來,我可以保存安裝後的日期。

但是這些現在不起作用。

謝謝。

回答

3

您可以get App receipt從商店(here is怎麼能像),並分析你的產品的而purchaseDate。然而,這將返回應用程序第一次安裝的日期,如果用戶重新安裝了應用程序,那麼它將返回第一次安裝的日期(第一次從商店購買)。

您也可以在LocalSettings中設置一個值,它將負責記住應用程序首次運行的日期。但這並不意味着安裝日期 - 用戶可以安裝應用程序並在一個月後運行。當用戶重新安裝應用程序時,您將獲得新的價值。

+0

感謝@Romasz爲您解答。作爲第二個選項的說明,如果我沒有記錯,我們可以在安裝應用程序後立即運行後臺任務,而不需要實際運行它。我會選擇第一個選項。謝謝。 – Blendester

+0

@Blendester AFAIK如果不先運行和註冊應用程序,就不可能運行後臺任務,有像UpdateTrigger這樣的東西,但是對於這個用戶來說,至少也要運行一次應用程序(我想)。 – Romasz

+0

@Blendester在投入生產之前,請檢查此應用程序是否已發佈到商店的測試版 - 如果它正常工作。 – Romasz

0

您可以使用Windows集合API來將您的查詢範圍限定到您的特定產品(應用程序或附加組件)。發送請求後,您將收到一個包含數組項目CollectionItemContractV6的響應,其中包含acquireDate等參數以及您可能會使用的其他參數。然後,您可以在正確的時間範圍內向安裝了您的應用的用戶解鎖該功能。

您可以按照以下步驟來使用這個API:

  1. Configure a Web application in Azure AD
  2. Associate your Azure AD client ID with your application in the Windows Dev Center dashboard
  3. 在您的服務中,create Azure AD access tokens代表您的 發行商身份。
  4. 在Windows應用程序中的客戶端代碼create a Windows Store ID key中表示當前用戶的身份,並將Windows Store ID密鑰傳回給您的服務。
  5. 當您擁有所需的Azure AD訪問令牌和Windows Store ID密鑰call the Windows Store collection API or purchase API from your service

有關詳細信息,你可以檢查Query for products其中既包括請求和響應樣本。

+0

這不僅適用於與Azure相關的應用程序嗎? (客戶擁有與您的Azure AD客戶端ID關聯的應用程序) – Romasz

+0

它只需要您擁有Azure Active Directory(Azure AD)目錄,並且您必須具有目錄的全局管理員權限,因爲此API使用** Azure AD身份驗證**可訪問客戶所有權信息。有關具體步驟,請參閱[本文](https://docs.microsoft.com/en-us/windows/uwp/monetize/view-and-grant-products-from-a-service#overview)。 –

相關問題