此主题尚未评级 - 评价此主题

Windows Phone 8 的 Wallet

2013/12/5

Windows Phone 8 引入了 Wallet,用户可以使用它执行以下操作:

  • 从一个位置收集优惠券、信用卡、成员资格、会员卡和更多信息。

  • 管理用户在应用和音乐商店中使用的支付方式。

  • 将 Wallet 中的商品链接到他们手机上的应用。

  • 在某些市场中使用近距离无线通信 (NFC) 进行非接触式交易。

作为开发人员,您可以创建与 Wallet 集成的应用。使用 Wallet API 提供的功能,您可以从您的应用创建、读取、编写和删除 Wallet 商品。在 Windows Phone 8 Wallet 体验中,您可以使用代理和使用状态消息和自定义字段与用户进行交互来将商品保持为最新。此外,Wallet 项目还允许用户深层链接至您的应用,以方便您提供更多有意义的应用内体验。

通过将 Wallet 功能添加至您的应用,可以提高您的应用的到达率。您可以添加带有您的品牌徽标的项,使您的品牌在 Wallet 内可见。从 Wallet 至您的应用之间的深层链接为用户提供了另外的进入您的应用的入口点(您的应用仍将显示在所有应用列表中),而且让您知道关于他们如何打开您的应用的上下文,使您能够提供相关信息。处理俱乐部成员资格、优惠券或交易和银行业务的应用都是很好的 Wallet 集成对象,但是您可以创新,提出独一无二的将您的应用集成至 Wallet 的方案。与 Wallet 集成也会将您的应用推广给用户,因为它将显示在 Wallet 的 UX 中,用于添加 Wallet 项(如果用户在 商店 中查找您的应用,仍能找到)。

Wallet API 提供对 Wallet 的完整的编程方式访问。它允许您创建、读取、更新和删除 Wallet 项。项访问是受控的:您的应用只能使用其在 Wallet 中所创建的项或被用户链接至您的应用的项。对于特定的项类型,手机会提示用户接受添加您的项向至 Wallet,让用户可以安心。也可以使用 Wallet 代理保持您的 Wallet 项为最新,该代理要求您的应用在任何需要的时候更新项。每一个 Wallet 项类型都具有丰富的方案,该方案还能让您添加自定义字段。您可以根据意愿选择填写任意多少的字段。

如果 Wallet 可扩展性解决方案包括条形码图像,请使用以下图像大小。如果您不想对每种分辨率均提供图像,则为最高的分辨率提供单个图像,然后它将按需要进行缩放。

手机分辨率

条形码图像大小

480 × 800

434 × 174

720 × 1280

651 × 261

768 × 1280

695 × 278

如果解决方案包括 QR 代码或其他正方形图像,提供大小为 278x278 的单个图像,然后它将按需要进行缩放。

下表列出了要在 Windows Phone 8 中使用 Wallet API 所需的功能。如果它们未在 WMAppManifest.xml 中指定,应用可能无法正常工作,或者无法完成对 商店 的提交过程。

功能

需要此功能的 API

ID_CAP_WALLET

所有 Wallet API(在 Microsoft.Phone.WalletMicrosoft.Phone.SecureElement 中为任何值)都需要。

ID_CAP_WALLET_PAYMENTINSTRUMENTS

PaymentInstrumentOnlinePaymentInstrument 需要。

ID_CAP_WALLET_SECUREELEMENT

SecureElementSessionSecureElementChannelSecureElementReader 需要。

重要说明重要说明:

若要部署或提交使用 ID_CAP_WALLET_SECUREELEMENTID_CAP_WALLET_PAYMENTINSTRUMENTS 的应用,则必须请求特殊权限,并将这些权限应用于您的开发人员帐户。有关更多信息和帮助,请联系开发人员中心支持

有关 Windows Phone 8 功能的更多信息,请参见 Windows Phone 应用的功能和硬件要求

若要提高与 Wallet 集成的应用的可发现性,您可以将应用定义为 Wallet 扩展。这样当用户点击“添加”时,会使您的应用出现在 Wallet 的“其他”应用列表中。随后,用户可以从该列表中挑选您的应用,该应用将在手机上下载并安装。这是一种很好的提高应用可发现性的方法。

若要出现在 Wallet 的“其他”列表中,请注册为一项 Wallet 扩展。扩展在您的应用项目的 WMAppManifest.xml 文件中指定。以下是 WMAppManifest.xml 文件的一个示例,其中包含用于将应用注册为 Wallet 扩展的 Extension 元素。


<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
  <DefaultLanguage xmlns="" code="en-US" />
  <App xmlns="" ProductID="{3860f72b-b8fc-4503-b922-c25f315da9c3}" Title="SamplePhoneApp" RuntimeType="Silverlight" 
       Version="1.0.0.0" Genre="apps.normal" Author="PhoneApp2 author" Description="Sample description" Publisher="PhoneApp2" 
       PublisherID="{93da0024-839f-4d0a-a1af-414512aba376}">
    <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
    <Capabilities>
      <Capability Name="ID_CAP_NETWORKING" />
      <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
      <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
      <Capability Name="ID_CAP_SENSORS" />
      <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
      <Capability Name="ID_CAP_WALLET" />
    </Capabilities>
    <Tasks>
      <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
    </Tasks>
    <Tokens>
      <PrimaryToken TokenID="PhoneApp2Token" TaskName="_default">
        <TemplateIconic>
          <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\IconicTileSmall.png</SmallImageURI>
          <Count>0</Count>
          <IconImageURI IsRelative="true" IsResource="false">Assets\Tiles\IconicTileMediumLarge.png</IconImageURI>
          <Title>SamplePhoneApp</Title>
          <Message>
          </Message>
          <BackgroundColor>
          </BackgroundColor>
          <HasLarge>false</HasLarge>
          <LargeContent1>
          </LargeContent1>
          <LargeContent2>
          </LargeContent2>
          <LargeContent3>
          </LargeContent3>
          <DeviceLockImageURI IsRelative="true" IsResource="false">
          </DeviceLockImageURI>
        </TemplateIconic>
      </PrimaryToken>
    </Tokens>
    <!--Register as a Wallet extension. The ConsumerID for Wallet extensions is always set to {5B04B775-356B-4AA0-AAF8-6491FFEA5683}, which is the id of the phone's Wallet app. -->
    <Extensions>
      <Extension ExtensionName="Wallet_app_membership" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5683}" TaskID="_default"/>
    </Extensions>
    <ScreenResolutions>
      <ScreenResolution Name="ID_RESOLUTION_WVGA" />
      <ScreenResolution Name="ID_RESOLUTION_WXGA" />
      <ScreenResolution Name="ID_RESOLUTION_HD720P" />
    </ScreenResolutions>
  </App>
</Deployment>

在以上代码中,通过在 WMAppManifest.xml 文件中将一个 Extension 元素添加至 Extensions 部分而定义了扩展。如果缺少 Extensions 元素,您可以在 Tokens 部分后面添加。条目的属性如下所示定义:

  • ExtensionName: 定义所注册扩展的类型。注册为 Wallet 扩展时,此属性的有效值为:

    • Wallet_app_other – 用于非特定 Wallet 项目

    • Wallet_app_loyalty – 用于信用卡

    • Wallet_app_membership – 用于会员卡

    • Wallet_app_transit – 用于储值卡

    • Wallet_app_payment – 用于支付卡

    您只需要注册一次,即使您的应用将用于多种 Wallet 项目类型。您可以按需要注册为多种 Wallet 项目类型的扩展,方法是在 WMAppManifest.xml 文件中将多个 Extension 元素添加到 Extensions 部分中。目前,当用户点击“其他”以显示“添加到 Wallet”对话框并查找 Wallet 扩展时,将会返回所有扩展,无论在注册为扩展时定义的是哪种 Wallet 项目类型。

  • ConsumerID: 这是一个固定值,在手机上设置为 Wallet 应用的 id,即 {5B04B775-356B-4AA0-AAF8-6491FFEA5683}。这显示在以上代码中。

  • TaskID: 将此设置为 default

注册为 Wallet 扩展是自愿行为,但是可以大大提高应用被发现的机会。如果您不注册为扩展,则应用不会显示在“添加到 Wallet”对话框中。但是,用户仍然可以正常搜索 Windows Phone 商店 并下载您的应用。

说明注意:

您的应用不会显示在 Wallet 的“其他”应用列表中,除非您将其提交至 商店 并且已发布。在使用 Windows Phone 8 模拟器 或 Windows Phone 8 设备进行测试时,您的应用不会显示在此列表中。

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft. 版权所有。