スキル内課金のテストガイド



スキル内課金のテストガイド

スキル内商品を含むスキルを申請する前に、スキルの認定ガイドラインをすべて満たしている必要があります。また、スキル内商品を詳細にテストして、このトピックで説明されている認定要件を満たしていることも確認してください。

スキルをテストする

カスタムスキルのガイドラインに従って、スキルを詳細にテストしてください。詳細については、カスタムスキルのテストとデバッグを参照してください。

商品をテストする

スキルと購入エクスペリエンスを詳細にテストします。スキル内課金を含むスキルは、Alexaスキルをテストする方法で説明されている任意の方法を使用してテストできます。スキルが開発ステージの場合は、商品の購入、拒否、返金やキャンセルの依頼のテストには開発者アカウントを使用します。また、消費型商品の購入と使用のテストも行います。スキルに関連付けられた開発者アカウントでは、スキル内商品に対して課金されないことに注意してください。

テスト購入をリセットする

開発者アカウントでスキル内商品をテストする場合は、スキル内課金のステータスをリセットできます。商品は次のようにリセットされます。

  • entitledNOT_ENTITLEDにリセット
  • purchasablePURCHASABLEにリセット
  • activeEntitlementCountが0にリセット

開発者コンソールを使用して商品の購入をリセットするには、次を実行します。

  1. 開発者コンソールでカスタムスキルを編集します
  2. ビルドページに移動して、スキル内課金をサポートするロケールを選択します。
  3. スキルビルダーのチェックリストで、スキル内商品をクリックします。
  4. このスキルにリンクしましたリストで商品を見つけ、テスト購入をリセットをクリックします。

ASK CLIを使用して商品の購入をリセットするには、reset-isp-entitlementコマンドを使用します。

スキルを有効化および無効化したときの消費型購入をテストする

消費型購入の場合、ユーザーがスキルを無効化したあと再有効化した場合でも、ユーザーのインベントリーが保持されていることをテストします。このテストを行う際は、消費型アイテムをいくつか購入してそのアイテムを使用し、activeEntitlementCount(購入の合計数)が、ユーザーが保持しているアイテム数に正確に対応していないことを確認します。

消費型購入を行ったユーザーのuserIdの保持方法の詳細については、ユーザーがスキルを無効化してから再有効化した場合にユーザーインベントリーを管理するを参照してください。

ユーザーがスキルを無効にしたときにAlexaSkillEvent.SkillDisabledイベントを使用してクリーンアップを実行する場合は、必ず以下の条件をテストしてください。

  • 消費型アイテムを持つユーザーがスキルを無効にした場合、クリーンアップロジックはユーザーのインベントリーを保持します。
  • 消費型アイテムを持っていないユーザーがスキルを無効にした場合、クリーンアップロジックはそのユーザーに関連付けられたデータを安全に消去できます。この場合、ユーザーがスキルを再有効化すると、そのユーザーには新しいuserIdが割り当てられます。

スキル内商品を含むスキルのベータテストを行う(オプション)

スキル内課金を含むスキルの認定を申請する前に、ベータテストツールを使用して、さらにテストすることができます。スキルのベータテストを行う場合は、次のようになります。

  • ベータテスターは、ベータテスト中はスキル内課金に課金されません
  • スキルがベータテストを受けている間は、ベータテスターの商品をリセットできません
  • ベータテストが終了すると、購入された商品は自動的にリセットされます。スキルが公開されると、ユーザーはスキル内課金に対して課金されます

消費型商品のベータテスト

消費型商品を提供するスキルのベータテストを計画する場合は、ベータユーザーのベータ版インベントリーを個別に管理する必要があります。スキルが公開されると、Alexaによってユーザーの購入がリセットされ、activeEntitlementCountが0に戻ります。ベータ版でユーザーが購入したアイテムは、公開中のスキルでは使用できません。

たとえば、ベータユーザーがベータ版で「ヒント5個パック」を3回購入したとします。このユーザーのインベントリーは15個になります。スキルが公開されると、保存されたインベントリー(15)は、公開中の実際の購入(0)と同期しなくなります。

ベータ版と公開版のインベントリーを分けておくには、商品のpurchaseModeプロパティを確認します。ベータユーザーの場合は、TESTが返されます。公開中のスキルの場合は、LIVEが返されます。

公開中のスキルをテストする

前述のとおり、スキルに関連付けられた開発者アカウントではスキル内課金の料金は発生しません。そのため、エンドユーザーのエクスペリエンスを完全にテストするには、開発者アカウント以外のアカウントで最終テストに合格する必要があります。このアカウントではスキル内課金に対して課金されます。