ASK SDK for Pythonを使うと、ボイラープレートコード(毎回書かなければならないお決まりのコード)を書く手間が不要になります。これにより空いた時間をさまざまな機能の実装に充てることができ、人気のスキルをより簡単に作成できるようになります。
SDKの使用をより迅速に開始するには、次のリソースを参照してください。
SDKはネイティブのAlexa JSONリクエストおよびレスポンスではなく、モデルクラスで動作します。これらのモデルクラスは、 開発者向けドキュメント <https://developer.amazon.com/docs/custom-skills/request-and-response-json-reference.html> __のRequest、Response JSONスキーマを使用して生成されます。モデルクラスのソースコードは ここに <https://github.com/alexa/alexa-apis-for-python> __にあります。
モデルクラスのドキュメントは here <https://alexa-skills-kit-python-sdk.readthedocs.io/en/latest/models/ask_sdk_model.html> __にあります。
このセクションでは、ASK SDK for Pythonを使って魅力的なAlexaスキルを開発する方法を説明するスキルサンプルを紹介します。
このコードサンプルでは、サンプルがトリガーされたときのAlexaの応答を聞くことができます。Alexa Skills KitやAWS Lambdaに慣れるための最小限のサンプルです。このサンプルでは、リクエストハンドラーのクラスを使用してスキルを作成する方法を説明します。詳細については、 リクエスト処理 を参照してください。
このコードサンプルでは、サンプルがトリガーされたときのAlexaの応答を聞くことができます。Alexa Skills KitやAWS Lambdaに慣れるための最小限のサンプルです。このサンプルでは、リクエストハンドラーのデコレーターを使用してスキルを作成する方法を説明します。詳細については、 リクエスト処理 を参照してください。
Hello Worldから機能を一歩進めて、ユーザーが好きな色を指定したら、Alexaが覚えてユーザーに知らせるようにします。ユーザーからの入力をキャプチャーできるようにします。スロットの使い方についても説明します。さらに、セッションアトリビュートと、リクエスト、応答のインターセプターの使い方も説明します。
基本的な豆知識スキルのテンプレートです。トピックについての豆知識のリストを提供すると、ユーザーがスキルを呼び出したときに、Alexaがリストから豆知識をランダムに選んでユーザーに伝えます。スキルで複数のロケールを使用し国際化する方法を説明します。
基本的なクイズゲームスキルのテンプレートです。あらかじめ提供しておいた豆知識のリストの中から、Alexaがユーザーにクイズを出します。画面付きのAlexa搭載デバイスでの表示をサポートする、テンプレートレンダリングディレクティブの使い方について説明します。
ユーザーのデバイス設定で設定したアドレスをリクエストし、設定されたアドレスにアクセスするサンプルスキルです。SDKを使用したAlexa APIの使い方について説明します。詳細については、Alexaサービスクライアントを参照してください。
スキル内課金 機能を使用した豆知識スキルのサンプルです。購入を促進するさまざまなパックや、パックを一括でロック解除するサブスクリプションを提供します。収益化Alexaサービスの呼び出し方とASK CLIを使ってスキル内課金を有効にする方法を説明します。
周辺地域のお勧め情報スキルのテンプレートです。Alexaはユーザーのリクエストに従って、開発者が提供したデータからお勧め情報をユーザーに知らせます。スキルから外部APIを呼び出す方法を説明します。
ユーザーとペットをマッチングするサンプルスキルです。Alexaは一致するペットを見つけるのに必要な情報をユーザーにたずねます。必要な情報をすべて収集できたら、スキルはデータを外部のウェブサービスに送信し、そこでデータが処理されてマッチングデータが返されます。ダイアログ管理と エンティティ解決 を使って、プロンプトを出してユーザーから複数の値を受け取り解析する方法を説明します。
基本的なハイ&ローゲームスキルのテンプレートです。ユーザーが数字を推測し、Alexaがその数字が正解より大きいか小さいかを答えます。SDKの永続アトリビュートと永続アダプターの使い方について説明します。
Alexaの AudioPlayerインターフェース と PlaybackControllerインターフェース を使ってAudioPlayerスキルを開発する方法を説明するスキルサンプルです。SingleStreamスキルサンプルでは、ローカリゼーションのサポート付きでライブラジオスキルを作成する方法を説明します。MultiStreamスキルサンプルでは、録音済みの複数のオーディオストリームを再生できる基本的なポッドキャストスキルを作成する方法を説明します。
このサンプルでは、APLの3つの機能である Pagerコンポーネント 、 SpeakItemコマンド 、スキルコードの デバイスの特性 へのアクセスについて説明します。
このセクションでは、現在SDKでサポートされているAlexaのすべての機能を紹介します。
- Amazon Pay
- Audio Player
- Display – 画面付きデバイス用のBodyテンプレート
- GadgetsGame Engine – Echo Buttons(日本未対応)
- Directiveサービス(プログレッシブ応答)
- メッセージ
- 収益化
- ビデオ
- デバイスのアドレス
- リスト
- ユーザー連絡先情報のリクエスト
- ユーザー設定情報の取得
- アカウントリンク
- スロットタイプ値の同義語とIDを定義する(エンティティ解決)
- ダイアログ管理
- 位置情報サービス
- リマインダー
- プロアクティブイベント
- 動的エンティティ
- スキルメッセージ
- Connections
..警告:
以下の機能は、プレビュー版としてリリースされています。インターフェースは正式版リリースの際に変更される可能性があります。
SDKはホスティングを可能にする `` ask-sdk-webservice-support``パッケージを提供します カスタムWebサービスとしてのスキルフレームワーク固有のアダプタも提供します。 統合するために `` flask-ask-sdk``と `` django-ask-sdk``パッケージの下に それぞれのフレームワークのスキルとWebサービスとして展開します。
これらのパッケージの使用方法に関する詳細はこちらにあります。 ドキュメントのリンク<https://alexa-skills-kit-python-sdk.readthedocs.io/ja/latest/WEBSERVICE_SUPPORT.html> __。
- バグ、機能のリクエスト、ご質問、簡単なフィードバックがあればぜひお聞かせください。新しく問題を提起する前に既存の問題を検索してください。また、問題やプルリクエストはテンプレートに従って作成してください。プルリクエストの場合は投稿のガイドラインに従ってください。
- Alexaの機能に関するリクエストや投票は、こちらをご覧ください。
- Amazon開発者フォーラム: ぜひ会話に参加してください。
- Hackster.io ー 他の人がAlexaでどんなものをビルドしているか見てみましょう。
- 音声デザインガイド ー 会話型スキルや音声ユーザーインターフェースのデザインを学ぶことができる優れたリソースです。