【发布时间】:2017-07-18 22:30:09
【问题描述】:
我有一个付费应用,想在商店中免费提供几天。但仅针对那些在这些特殊日子里安装它的人,我想展示广告。
如何检查用户是否在特定时间范围内安装了应用?
我想到了这些解决方案:
- 我可以在以前的包中登录并在此检查 包裹。如果它不可用,这是第一次安装。
- 我可以保存第一次安装后的日期。
但现在这些都行不通了。
谢谢。
【问题讨论】:
标签: c# uwp windows-store-apps
我有一个付费应用,想在商店中免费提供几天。但仅针对那些在这些特殊日子里安装它的人,我想展示广告。
如何检查用户是否在特定时间范围内安装了应用?
我想到了这些解决方案:
但现在这些都行不通了。
谢谢。
【问题讨论】:
标签: c# uwp windows-store-apps
您可以从商店中get App receipt(here is 它看起来如何)并解析您产品的PurchaseDate。但是,这将返回应用程序首次安装的日期,如果用户重新安装了应用程序,那么它将返回第一次安装的日期(第一次从商店“购买”)。
您还可以在 LocalSettings 中设置一个值,该值将负责记住应用程序首次运行的日期。但这并不意味着安装日期 - 用户可以安装应用程序并在一个月后运行它。此外,当用户重新安装应用程序时,您将获得新值。
【讨论】:
您可以使用 Windows 集合 API 将查询范围限定为您的特定产品(应用程序或插件)。发送请求后,您将收到包含数组项CollectionItemContractV6 的响应,其中包含acquireDate 等参数以及您可能使用的其他一些参数。然后您可以在正确的时间范围内向安装您的应用的用户解锁该功能。
您可以按照以下步骤使用此 API:
- Configure a Web application in Azure AD。
- Associate your Azure AD client ID with your application in the Windows Dev Center dashboard。
- 为您服务,create Azure AD access tokens 代表您的 发布者身份。
- 在您的 Windows 应用程序的客户端代码中,create a Windows Store ID key 表示当前用户的身份,并传递 Windows 应用商店 ID 密钥返回您的服务。
- 获得所需的 Azure AD 访问令牌和 Windows 应用商店后 ID 密钥,call the Windows Store collection API or purchase API from your service。
有关更多详细信息,您可以查看 Query for products,其中包括请求和响应示例。
【讨论】:
customer owns for apps that are associated with your Azure AD client ID)