2017-02-28 41 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)。 –

相关问题