The Android Developer Challenge is back! Submit your idea before December 2.

实现促销活动

利用促销活动或促销代码,您可以向数量有限的用户免费提供一次性商品或订阅试用服务。用户在您的应用或 Google Play 商店应用中输入促销代码,即可免费获享相应商品或订阅试用服务。您可以充分发挥创意,使用促销代码以多种方式来吸引用户,这些方式包括:

  • 您可以在活动中分发带促销代码的卡片,用户输入他们收到的促销代码即可将一个特殊的游戏内商品解锁。
  • 您可以向员工提供代码,以便他们与亲朋好友分享。
  • 您可以向在特定时间段内购买您应用的用户发送促销代码。

关于订阅,请注意以下几点:

  • 用户可通过促销代码体验免费订阅试用服务(而不是免费订阅)。
  • 促销活动不会延长其他免费订阅试用期。如果一项订阅无需促销代码即可开始免费试用,则促销活动会覆盖最初的免费试用期限。
  • 不符合非促销免费试用条件的用户(例如,过去已购买过订阅内容的用户)仍然可以通过促销活动获取免费试用的机会。

您可以通过 Google Play 管理中心分配促销代码。要创建促销代码,请参阅创建促销活动

兑换促销代码

用户可以通过以下某种方式兑换促销代码:

  • 在 Google Play 商店应用中手动输入代码。
  • 点击 Google Play 购买屏幕中的付款方式旁边的向下箭头,然后点击兑换链接。

图 1 显示了带有向下箭头的购买屏幕。图 2 显示了兑换链接。图 3 显示了用户输入促销代码的屏幕。

图 1. Google Play 商品兑换对话框。
图 2. 显示兑换按钮的“付款”对话框。
图 3. 促销代码屏幕。

生成促销代码网址

兑换促销代码时,用户可以在 Google Play 商店中手动输入促销代码。或者,您也可以生成一个网址,方便用户通过该网址转到 Google Play 商店并自动填写输入代码字段。促销代码网址采用以下格式:

https://play.google.com/redeem?code=promo_code

图 4 显示了 Google Play 应用的“兑换代码”对话框:

图 4. Google Play 应用的兑换代码对话框。

用户按兑换按钮后,Google Play 商店会提示他们打开应用(如果用户已安装最新版本的应用)。否则,Google Play 商店会提示用户更新或下载您的应用。

在您的应用中支持促销代码

您还必须在应用内做出更改,以识别和处理促销代码。每次启动或恢复您的应用时,应用都必须调用 queryPurchases() 方法。此方法将返回当前未消耗的所有购买商品,包括用户通过兑换促销代码发起的购买交易。最简单的方式是在 Activity 的 onResume() 方法中调用 queryPurchases(),因为该回调会在创建和取消暂停 Activity 时触发。在 onStart()onResume() 中调用 queryPurchases() 可保证您的应用了解用户在其未运行时可能发起的所有购买交易和兑换的相关信息。此外,如果用户在应用运行时发起购买交易,但您的应用由于某种原因而未能跟踪该购买交易,那么仍然可以在 Activity 下一次恢复并调用 queryPurchases() 时了解该购买交易的相关信息。

您的 Activity 的 onPurchasesUpdated() 方法将接收到一个响应 Intent,指明购买是否已完成。不过,如果购买和消耗工作流程未完成,您的应用应该仍在 onStart()onResume() 中调用 queryPurchases()。例如,如果用户成功兑换了促销代码,但您的应用在用户消耗商品之前崩溃,那么在它下次启动并调用 queryPurchases() 时,仍会收到有关该购买交易的信息。

您的应用还应支持用户在其运行时通过 Google Play 商店应用兑换促销代码的情形。您的应用可以通过 onPurchasesUpdated() 监听器了解兑换的相关信息。