【问题标题】:How to check the first date an app is installed?如何检查应用程序的首次安装日期?
【发布时间】:2017-07-18 22:30:09
【问题描述】:

我有一个付费应用,想在商店中免费提供几天。但仅针对那些在这些特殊日子里安装它的人,我想展示广告。

如何检查用户是否在特定时间范围内安装了应用?

我想到了这些解决方案:

  • 我可以在以前的包中登录并在此检查 包裹。如果它不可用,这是第一次安装。
  • 我可以保存第一次安装后的日期。

但现在这些都行不通了。

谢谢。

【问题讨论】:

    标签: c# uwp windows-store-apps


    【解决方案1】:

    您可以从商店中get App receipthere is 它看起来如何)并解析您产品的PurchaseDate。但是,这将返回应用程序首次安装的日期,如果用户重新安装了应用程序,那么它将返回第一次安装的日期(第一次从商店“购买”)。

    您还可以在 LocalSettings 中设置一个值,该值将负责记住应用程序首次运行的日期。但这并不意味着安装日期 - 用户可以安装应用程序并在一个月后运行它。此外,当用户重新安装应用程序时,您将获得新值。

    【讨论】:

    • 感谢@Romasz 的回答。作为第二个选项的注释,如果我没记错的话,我们可以在安装应用程序后立即运行后台任务,而无需实际运行它。我会选择第一个选项。谢谢。
    • @Blendester AFAIK 如果不先运行和注册应用程序,就不可能运行后台任务,有类似 UpdateTrigger 的东西,但对于这个用户来说,它还必须至少运行一次应用程序(我认为)。
    • @Blendester 在投入生产之前,请检查发布到商店的应用程序的 beta 版本 - 如果它工作正常。
    【解决方案2】:

    您可以使用 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 应用商店 ID 密钥返回您的服务。
    5. 获得所需的 Azure AD 访问令牌和 Windows 应用商店后 ID 密钥,call the Windows Store collection API or purchase API from your service

    有关更多详细信息,您可以查看 Query for products,其中包括请求和响应示例。

    【讨论】:

    • 这不只适用于与 Azure 关联的应用程序吗? (customer owns for apps that are associated with your Azure AD client ID)
    • 它只要求你有一个 Azure Active Directory(Azure AD) 目录,并且你必须拥有该目录的全局管理员权限,因为这个 API 使用 Azure AD 身份验证来访问客户所有权信息。具体步骤见this article
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多