【问题标题】:Windows Phone 8.1 Store app - Link to storeWindows Phone 8.1 商店应用程序 - 商店链接
【发布时间】:2014-09-08 21:41:57
【问题描述】:

在 Windows 8.1 应用程序中,我们可以使用 ms-windows-store 协议链接到存储应用程序。

var storeURI = new Uri("ms-windows-store:PDP?PFN=<package family name>");
await Windows.System.Launcher.LaunchUriAsync(storeURI);

Windows Phone 8.1 有没有类似的方法?我不想链接到商店中应用程序的网页 (http://windowsphone.com/s?appId=appGUID),然后在商店中打开应用程序。我想直接在商店里打开应用。

【问题讨论】:

    标签: c# windows-store-apps windows-8.1 windows-phone-8.1 windows-phone-store


    【解决方案1】:

    在 Windows Phone 8.1 中,我们可以使用 ms-windows-store 协议链接到商店。

    到详情页:

    var uri = new Uri(string.Format("ms-windows-store:navigate?appid={0}", appid));
    await Windows.System.Launcher.LaunchUriAsync(uri);
    

    查看页面:

    var uri = new Uri(string.Format("ms-windows-store:reviewapp?appid={0}", appid));
    await Windows.System.Launcher.LaunchUriAsync(uri);
    

    到搜索页面:

    var uri = new Uri(string.Format(@"ms-windows-store:search?keyword={0}",keyword));
    await Windows.System.Launcher.LaunchUriAsync(uri);
    

    【讨论】:

    • 我得到拒绝访问例外
    • 尝试使用此处解释的直接链接:URI schemes for launching built-in apps for Windows Phone 8。它适用于我使用 URI 作为zune:navigate?appid=[app ID]
    • 我收到“此商品在商店中不可用”请帮助 var appid = Windows.ApplicationModel.Store.CurrentApp.AppId;我传递了应用程序 ID
    • 你应该在开发中心传递应用ID。
    【解决方案2】:

    您可以使用MarketplaceDetailTask 并从应用商店打开该应用的页面:

    var marketplaceDetailTask = new MarketplaceDetailTask(); 
    marketplaceDetailTask.ContentIdentifier = "<GUID of the app>"; // optional
    marketplaceDetailTask.Show();
    

    您可以选择指定要打开的应用程序,默认为当前应用程序。

    更多信息:

    http://msdn.microsoft.com/en-us/library/windows/apps/microsoft.phone.tasks.marketplacedetailtask(v=vs.105).aspx

    【讨论】:

    • 看起来不错,但它是否也适用于非 Silverlight Windows Phone 8.1 应用程序?如果是这样,我该如何使用它?我在参考文献中找不到它。
    • 上面的 msdn 链接说它兼容 7.0 和 8.1 之间的所有版本
    • 我在这里 msdn.microsoft.com/en-us/library/windows/apps/… 发现它适用于“Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1”,因此显然不适用于 Windows Phone 8.1(非 Silverlight)跨度>
    • 这是唯一适合我的方法(WP8.1 设备上的 WP8.0 应用程序)。稍微澄清一下,ContentIdentifier 属性是 not Visual Studio 中项目程序集信息的 GUID 也不是 WMAppManifest.xaml 的产品 ID。 正确的值是您可以在 Windows Phone Dashboard 中的应用程序列表中找到的值,该值位于应用程序管理 > 应用程序标识下(它具有 GUID 的形式)。
    • 应用上述代码,此商品在商店中不可用。
    【解决方案3】:
     await Launcher.LaunchUriAsync(
              new Uri("ms-windows-store:reviewapp?appid=723e25d1-a0ee-4824-b389-XXXXXX"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      相关资源
      最近更新 更多