カスタムタスクのQuick Linkを作成する
Quick Linkを生成すると、カスタムスキル内の特定のカスタムタスクにユーザーを誘導し、入力パラメーターを渡すことができます。たとえば、トリビアスキルの新しいトリビアカテゴリーや公開したばかりの新しいオーディオコンテンツに、ユーザーが直接アクセスできるように誘導することができます。ほかにも、オンライン注文サービスと連携したスキルで注文を追跡する機能があれば、Quick Linkを介して注文サービスのサイトからスキルに注文IDを渡すことができます。これにより、スキルを使用しているユーザーは注文の追跡ができます。
Quick Linkの利用可能状況と要件
カスタムタスクのQuick Linkの利用可能状況と要件は、カスタムスキルのQuick Linkとほぼ同じですが、以下の点が追加されます。
- デバイス: ユーザーがQuick Linkを使用してスキルを起動できるデバイスは、 Echo(すべてのバージョン)、Echo Tap、Echo Dot(すべてのバージョン)、Echo Show(すべてのバージョン)、Echo Spot、Fire TVです。
- ロケール:
en_AU
,en_CA
,en_IN
,en_GB
,en_US
,fr_CA
,fr_FR
,de_DE
,hi_IN
,it_IT
,ja_JP
,pt_BR
,es_ES
,es_MX
,es_US
に向けて作成されたカスタムスキルで利用できます。
スキルが満たす必要のある要件は次のとおりです。
- 子ども向けスキルとHIPAAスキルで、Quick Linkを使うことはできません。
カスタムタスクが満たす必要のある要件は次のとおりです。
- Amazon定義済みタスクではなく、カスタムタスクである必要があります。
- 公開中であること(認定済みおよび公開済み)で、希望する各マーケットプレイスで有効であること。詳細については、多言語に対応するスキルを開発するおよびスキルストアの詳細と公開範囲を定義するを参照してください。
- タスク定義ファイルで、次の操作を行います。
x-amzn-alexa-access-scope
フィールドは、vendor-private
ではなく、public
に設定する必要があります。components.schemas.Input
オブジェクトに少なくとも1つの入力パラメーターが含まれている必要があります。
- 製品サイトの公開日(PSLD)が将来に設定されているスキルは、PSLDで指定された日付までローンチの対象外です。
カスタムタスクを作成する
スキルにカスタムタスクを追加するの手順に従って、スキルにカスタムタスクを構築します(まだ行っていない場合)。
タスクタイトルと入力パラメーターにわかりやすい文字列を追加します。タスクのQuick Links for Alexaのウェブページで、この文字列がユーザーに表示されます。
- タスクタイトル:
info
オブジェクトのx-amzn-display-details
フィールドは、カスタム拡張フィールドです。タスクタイトルにわかりやすい文字列を追加し、オプションでローカライズしたタイトルを割り当てることがきます。x-amzn-display-details
値が指定されない場合、タイトルフィールドのデフォルト値が使用されます。 - 入力パラメーター: タスクコンポーネントの
input
プロパティにあるx-amzn-display-details
フィールドは、カスタム拡張フィールドです。タスクの入力パラメーターにわかりやすい文字列を追加し、オプションでローカライズしたパラメーターを割り当てることができます。x-amzn-display-details
フィールドが指定されない場合、properties
フィールド内のプロパティ名が使用されます。
詳細については、タスク定義ファイルを作成するを参照してください。
カスタムタスクのQuick Linkを生成する
カスタムタスクのQuick Linkに使用するURLの構文は、https://alexa-skills.amazon.<domain>/apis/custom/skills/<skill-id>/tasks/<custom-task-name>/versions/<task-version>?<task-input-key1>=<task-input-value1>&<task-input-key2>=<task-input-value2>
です。
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
domain |
リンクに含まれる、各マーケットプレイスに対応するドメイン。 | 文字列 | ◯ |
skill-id |
スキルのスキルID。 | 文字列 | ◯ |
custom-task-name |
カスタムタスクの内部名。 | 文字列 | ◯ |
task-version |
カスタムタスクのバージョン番号。 | 文字列 | ◯ |
task-input-key1 |
カスタムタスクの第1パラメーターの名前。 | 文字列 | ✕ |
task-input-value1 |
カスタムタスクの第1パラメーターの値。 | 文字列 | ✕ |
https://alexa-skills.amazon.com/apis/custom/skills/
以降のすべてのURLコンポーネントでは、大文字と小文字が区別されます。カスタムタスクのQuick Linkを作成する
- 公開中のカスタムスキルの
skill-id
を確認します。- Alexa開発者コンソールに移動します。
- 必要に応じて、ログインします。
- スキルタブで、スキル名の下にあるスキルIDの表示リンクをクリックします。
- 前述の構文を使用し、
<skill-id>
を前の手順で確認したスキルIDに置き換えます。
- トップレベルドメイン(
domain
)を確認します。- スキルが米国以外のマーケットプレイスで利用できる場合は、スキルのクイックリンクURLに異なるドメインを設定し、マーケットプレイスごとに個別のQuick Linkを作成することをお勧めします。
- スキルのQuick Linkは、AU、BR、CA、DE、ES、FR、GB、IN、IT、JP、MX、およびUSのマーケットプレイスで生成できます。
- スキルのQuick Linkを表示するマーケットプレイスごとに、以下の表からURLドメインを選択し、前述の構文の
<domain>
部分を置き換えます。マーケットプレイス ドメイン AU .com.au
BR .com.br
CA .ca
DE .de
ES .es
FR .fr
GB .co.uk
IN .in
IT .it
JP .co.jp
MX .com.mx
US .com
注: 特定のマーケットプレイスのQuick Linkは、他のマーケットプレイスでも機能します。ただし、別のマーケットプレイスのQuick Linkをクリックしたユーザーがスキルを起動するには、そのユーザーのマーケットプレイスのAmazon認証情報を使用してサインインする必要があります。これは、多くの場合、ユーザーがAmazonに2回サインインし、ユーザーの満足度を低下させる可能性があることを意味します。
たとえば、UKのユーザーが普段利用しているマーケットプレイスのAmazonドメインは.co.uk
であるとします。この場合に.com
ドメインのQuick Link URLをクリックすると、多くの場合、*.amazon.com
にサインインする必要があります。これは、頻繁に訪問するドメインではないためです。サインインすると、ユーザーは*.amazon.co.uk
にリダイレクトされます。ここで、*amazon.co.uk
に最後にアクセスしてから経過した時間によっては、再度サインインする必要があります。最後に、AlexaのQuick Linkページが表示され、Alexaデバイスを選択してスキルを起動できます。
- スキルIDをURLに追加します。
- カスタムタスク名とバージョンを追加します。
カスタムタスクで<task-input-key> = <task-input-value>
という入力パラメーターと値のペアが必要な場合は、標準URLクエリ文字列として含めることができます。タスクパラメーターは、文字列、数値、ブール値などの単純なデータ型である必要があります。
トラフィック分析にキャンペーンアトリビューションを追加する
さまざまなオンラインチャネルで表示された個々のリンクからのスキルの起動回数を追跡できます。スキルのカスタムタスクの入力パラメーターとQuick Link URLのクエリ文字列パラメーターを組み合わせて、起動を追跡します。
各種のソーシャルメディアチャネルなど、オンラインで実行している個々の広告キャンペーンのトラフィック分析をスキルを通じて取得できます。そのためには、Quick Linkとして表示するスキルの各カスタムタスクに、a2z_ref
という名前の入力パラメーターを作成します。このパラメーターをQuick Link URLのクエリ文字列パラメーターとして使用できます。特定のソースにアトリビュートされるように、値を一意の文字列に設定します。任意の入力パラメーターを作成してアトリビューション文字列を渡すこともできますが、キャンペーンアトリビューション専用にa2z_ref
入力パラメーターが用意されています。このパラメーターは、Quick Links for Alexaのウェブページには表示されません。
以下は、トラフィック分析にキャンペーンアトリビューションを追加する手順です。
Quick Linkにアトリビューションパラメーターを追加する方法
- スキルにカスタムタスクを作成するには、タスク定義ファイルを作成するの手順に従います。既存のカスタムタスクがある場合は、そのタスクを使用することもできます。
- カスタムタスクのタスク定義ファイルで、
string
型のa2z_ref
という名前の入力パラメーターを作成します。 -
このタスクの機能をスキルのハンドラーコードに実装します。
ユーザーに起動エクスペリエンスのみを提供する場合は、
LaunchRequest
ハンドラーのcan_handle
ロジックに新しいチェックを追加するだけです。このアクションは、これがカスタムタスクのリクエストかどうかをチェックします。以下のPythonは、その新しいチェックの例です。def can_handle(self, handler_input): return is_request_type("LaunchRequest")(handler_input)\ and handler_input.request_envelope.request.task.name == "<タスク名>"
- 新規または変更したカスタムタスクを公開にするには、スキルを公開します。
- カスタムタスクが公開されたら、このタスクのQuick Linkを作成し、URLに
a2z_ref
パラメーターを含めて、オンラインで表示するキャンペーン(広告キャンペーンなど)に応じて値を割り当てます。
ユーザーがこのQuick Linkをクリックしてスキルを起動すると、a2z_ref
パラメーターの値を入力パラメーターとして持つリクエストがカスタムタスクに渡されます。そのパラメーターを使用して、対応するキャンペーンに起動をアトリビュートさせることができます。
ベストプラクティス: カスタムタスクパラメーター
カスタムタスクではディープリンクがサポートされているため、Quick Linkの機能を強化することができます。ただし、スキルのタスクを使用して、開発者やユーザーのプライバシーとセキュリティを保護する必要があります。カスタムタスクパラメーターを設計し、これらのタスクにQuick Linkを生成する場合は、次の推奨事項を考慮してください。
- 入力パラメーターに適したデータ型を選択します。たとえば、入力パラメーターが常に数値になる場合は、タスクの定義時にパラメーターに数値データ型を選択します。
- 可能であれば、自由形式の文字列を受け入れるのではなく、入力パラメーターで使用する値を列挙します。そうすると、この列挙にマッピングされていない値は、Quick Linkクエリ文字列からの取得を拒否できます。使用可能な値を列挙することにより、Quick Linkクエリパラメーターの意図的な悪用を防止できます。
a2z_ref
アトリビューションパラメーターを使用する場合は、マーケティングチームに役立つような定義済みの文字列パターンを使用し、このパターンと一致しない値をすべて拒否します。たとえば、<website-or-app-name>_<campaign>
というパターンが考えられます。ここで、<website-or-app-name>
は、リンクを表示するウェブサイトまたはアプリケーションの名前を表す文字列です。<campaign>
は、マーケティングキャンペーン用に考案した名前を表す文字列です。このパターン(アンダースコアを含む)を常に使用するようマーケターに要求することで、カスタムタスクのハンドラーロジックで受け取る入力値を検証できます。- ユーザー個人を特定できる情報(PII)を示す可能性のあるパラメーター名または値を含めないでください。PIIデータには、ユーザーの名前、住所、メールアドレス、社会保障番号などが含まれます。
- 場合によっては、エンコードした値をURLパラメーターで渡し、カスタムタスクのハンドラーロジックでデコードすることもできます。その場合は、入力パラメーターの説明文字列で、値がエンコードされていることを常に示す必要があります。たとえば、割引オファーIDをエンコードして、カスタムタスクURLのパラメーターとして渡し、ユーザーに表示される前にハンドラーロジックでIDをデコードするとします。その場合、カスタムタスクの入力パラメーターに人が読める名前(「秘密のオファーID」など)を選択すると、Amazonのページでユーザーに 「秘密のオファーID:a1b2c3」のような文字列を表示できます。この文字列により、ユーザーとスキルの両方を保護しながら、この値は表示すべきものではないとユーザーに伝えることができます。
関連トピック
最終更新日: 2022 年 06 月 30 日