C# 如何检查应用程序的首次安装日期?

C# 如何检查应用程序的首次安装日期?,c#,uwp,windows-store-apps,C#,Uwp,Windows Store Apps,我有一个付费应用程序,想在商店里免费提供几天。但我只想为那些在这些特殊日子安装它的人展示广告 如何检查用户是否在特定时间范围内安装了应用程序 我想到了这些解决方案: 我可以在以前的软件包中登录,并在这里进行检查 包裹如果不可用,这是第一次安装 我可以在第一次安装后保存日期 但这些现在不起作用了 谢谢。您可以从商店(看起来如何)解析产品的购买日期。但是,这将返回应用程序首次安装的日期,如果用户已重新安装应用程序,则将返回第一次安装的日期(从商店首次“购买”) 您还可以在LocalSetting

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

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

我想到了这些解决方案:

  • 我可以在以前的软件包中登录,并在这里进行检查 包裹如果不可用,这是第一次安装
  • 我可以在第一次安装后保存日期
但这些现在不起作用了

谢谢。

您可以从商店(看起来如何)解析产品的购买日期。但是,这将返回应用程序首次安装的日期,如果用户已重新安装应用程序,则将返回第一次安装的日期(从商店首次“购买”)

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

您可以从商店(看起来如何)解析产品的购买日期。但是,这将返回应用程序首次安装的日期,如果用户已重新安装应用程序,则将返回第一次安装的日期(从商店首次“购买”)


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

您可以使用Windows collection API将查询范围限定到特定产品(应用程序或附加组件)。发送请求后,您将收到一个响应,其中包括一个数组项
CollectionItemContractV6
,其中包含
acquiredDate
等参数以及您可能使用的其他一些参数。然后,您可以向在正确时间范围内安装您的应用程序的用户解锁该功能

您可以按照以下步骤使用此API:

  • 在您的服务中,代表您的 出版商身份
  • 在Windows应用程序的客户端代码中,表示当前用户的身份,并传递 Windows应用商店ID密钥返回到您的服务
  • 在您拥有所需的Azure AD访问令牌和Windows应用商店之后 ID密钥

  • 有关更多详细信息,您可以查看包含请求和响应示例的

    您可以使用Windows collection API将查询范围限定到特定产品(应用程序或附加组件)。发送请求后,您将收到一个响应,其中包括一个数组项
    CollectionItemContractV6
    ,其中包含
    acquiredDate
    等参数以及您可能使用的其他一些参数。然后,您可以向在正确时间范围内安装您的应用程序的用户解锁该功能

    您可以按照以下步骤使用此API:

  • 在您的服务中,代表您的 出版商身份
  • 在Windows应用程序的客户端代码中,表示当前用户的身份,并传递 Windows应用商店ID密钥返回到您的服务
  • 在您拥有所需的Azure AD访问令牌和Windows应用商店之后 ID密钥

  • 有关更多详细信息,您可以查看包含请求和响应示例的

    谢谢@Romasz的回答。作为第二个选项的说明,如果我没记错的话,我们可以在安装应用程序后立即运行后台任务,而不需要实际运行它。我同意第一种选择。谢谢。@Blendester AFAIK如果不先运行并注册应用程序,就不可能运行后台任务,有类似于UpdateRigger的功能,但对于该用户,还必须至少运行一次应用程序(我想)。@Blendester在投入生产之前,在商店中发布的应用程序的测试版上检查此项-如果它工作正常。感谢@Romasz提供您的答案。作为第二个选项的说明,如果我没记错的话,我们可以在安装应用程序后立即运行后台任务,而不需要实际运行它。我同意第一种选择。谢谢。@Blendester AFAIK如果不先运行并注册应用程序,就不可能运行后台任务,有类似于UpdateRigger的功能,但对于该用户,还必须至少运行一次应用程序(我想)。@Blendester在投入生产之前,在发布到应用商店的应用程序的测试版上检查此项-如果它工作正常。这不是仅适用于与Azure关联的应用程序吗?(
    客户拥有与您的Azure AD客户端ID关联的应用程序)
    )它只要求您拥有Azure Active Directory(Azure AD)目录,并且您必须拥有该目录的全局管理员权限,因为此API使用Azure AD身份验证来访问客户所有权信息。有关具体步骤,请参阅。这不是仅适用于与Azure关联的应用程序吗?(
    客户拥有与您的Azure AD客户端ID关联的应用程序)
    )它只要求您拥有Azure Active Directory(Azure AD)目录,并且您必须拥有该目录的全局管理员权限,因为此API使用Azure AD身份验证来访问客户所有权信息。有关具体步骤,请参阅。