スキル詳細ページにリッチメディアを追加する
現在、スキル詳細ページのリッチメディアは限定的なプレビュー版です。この機能へのアクセスをリクエストするには、alexarichmedia@amazon.comまでEメールでお問い合わせください。
Alexaアプリのスキル詳細ページには、スキルに関する情報が表示されます。画像やビデオなどのリッチメディアアセットを追加することで、スキルのエクスペリエンスを充実させ、詳細ページを使用して新規ユーザーや使用を再開したユーザーにスキルの使用方法を伝えることができます。
用語
このトピックでは、以下の用語を使用します。
-
リッチメディアアセット - スキルの機能を説明、つまり「プレビュー」するための画像やビデオ。
-
主要機能フレーム - リッチメディアビデオアセットが自動再生されない場合に詳細ページに表示される、オプションのカスタムサムネイル画像。主要機能フレームは手動で指定する必要があります。ビデオのフレームまたは別の画像を使用できます。
-
アセットプロファイル - ビューポートモードとアセットシェイプでグループ化された、リッチメディアアセットのコレクション。アセットプロファイルは、Alexa Presentation Language(APL)のビューポートプロファイルとは異なります。ビューポートプロファイルは、APLをレンダリングするデバイスを表します。これとは対照的に、アセットプロファイルはデバイスとアセットを表します。
注: プライベートベータ版では、サポートされているアセットプロファイルは、mobileRectangle
の1つのみです。このプロファイルは、モバイルデバイスに表示される四角形のアセット用です。このプロファイルのアセットはAlexaアプリに表示されます。
前提条件
スキル詳細ページ用のリッチメディアアセットをアップロードする前に、アセットが以下のアセットの制限事項やガイドラインに従っていることを確認してください。
アセットの制限事項
Alexaでは、mobileRectangle
アセットプロファイルに分類されるリッチメディアアセットについて、以下の制限事項が適用されます。一貫性のあるユーザーエクスペリエンスを提供するために、アセットの解像度は正確に一致している必要があります。
画像
- 解像度: 1280 x 800px
- アスペクト比: 16:10
- ファイルの最大サイズ: 20MB
- サポートされている形式: PNG
ビデオ
- 解像度: 1280 x 720px
- アスペクト比: 16:9
- ファイルの最大サイズ: 100MB
- 時間: 15~60秒
- サポートされている形式: QuickTime、H.264 MPEG-4(MP4、MOV)
- 最小ビットレート: 1200kbps
主要機能フレーム
- 解像度: 1280 x 720px
- アスペクト比: 16:9
- ファイルの最大サイズ: 20MB
- サポートされている形式: PNG
アセットガイドライン
使用する画像とビデオがAmazonポリシーガイドラインに従っていることを確認します。詳細については、ポリシーのテストを参照してください。リッチメディアコンテンツでのEchoデバイスの表現については、Echoブランドガイドラインと審査プロセスを参照してください。さらに、スキル詳細ページのリッチメディアコンテンツは、すべての年齢のユーザーに適している必要があります。
リッチメディアをスキルに関連付ける手順
リッチメディアアセットをスキルに関連付けるには、以下の手順を実行します。
ステップ1: アセットをS3にアップロードする
最初の手順は、SMAPIカタログAPIを使用してアセットをS3にアップロードすることです。
スキルのリッチメディアアセットをS3にアップロードするには
-
後続のステップで使用するためにアクセストークンを取得します。
すべてのSMAPIリクエストの
Authorization
ヘッダーに、このトークンを指定する必要があります。 -
新しいカタログを作成するには、以下の
POST
リクエストを実行します。カタログのタイトルには、覚えやすく、所有しているほかのカタログと区別しやすい名前を選択します。
POST /v0/catalogs HTTP/1.1 Host: api.amazonalexa.com Accept: application/json Authorization: Bearer <SMAPIアクセストークン>
{ "title": "<カタログタイトル>", "type": "AMAZON.PreviewMedia", "usage": "AlexaSkillStore.Catalog.PreviewMedia", "vendorId": "<ベンダーID>" }
以下の応答コードを受け取ります。
201 Created
以下の応答本文を受け取ります。後続の手順で使用するために、
id
(catalogId
)の値をメモしておきます。{ "associatedSkillIds": [], "createdDate": "<日付>", "id": "<catalogId>", "lastUpdatedDate": "<日付>", "title": "<カタログタイトル>", "type": "AMAZON.PreviewMedia", "usage": "AlexaSkillStore.Catalog.PreviewMedia" }
- 後続の手順で使用するために、
id
(catalogId
)の値をメモしておきます。 -
カタログをスキルに関連付けるには、以下の
PUT
リクエストを実行します。前のリクエストで取得したものと同じカタログid
の値を使用します。この手順は、カタログにアセットをアップロードする前に行う必要があります。詳細については、カタログをスキルに関連付けるを参照してください。PUT /v0/skills/{skillId}/catalogs/{catalogId} HTTP/1.1 Host: api.amazonalexa.com Accept: application/json Authorization: Bearer <lwaToken>
以下の応答コードを受け取ります。
201 Created
AMAZON.PreviewMedia
カタログにアセットを追加するには、以下の手順に従ってアップロードを作成します。各アップロードは、1つ以上のリッチメディアアセットを含むZIPファイルです。詳細については、アップロードを作成する(v0)を参照してください。- 以下の制限事項に従ってZIPファイルを作成します。
- ZIPファイルには、最大7つのリッチメディアアセットファイルを含めることができます。
- ZIPファイルの最大サイズは500MBです。
- 解凍時の各ファイルの最大サイズは100MBです。
- 画像はPNG形式である必要があります。
- ビデオはMOVまたはMP4形式である必要があります。
- 以下の
POST
リクエストを実行します。POST /v0/catalogs/{catalogId}/uploads HTTP/1.1 Host: api.amazonalexa.com Accept: application/json Authorization: Bearer <lwaToken>
以下の応答コードを受け取ります。
201 Created
以下の応答本文を受け取ります。
{ "id": "<uploadId>", "catalogId": "<catalogId>", "status": "string", "locales": [ "string" ], "createdDate": "2019-04-06T23:52:20.528Z", "lastUpdatedDate": "2019-04-06T23:52:20.528Z", "ingestionSteps": [{ "name": "UPLOAD", "status": "string", "logUrl": "string", "errors": [{ "code": "string", "message": "string" }] }], "presignedUploadParts": [{ "url": "<signedExpiringS3Url>", "partNumber": 1 }] }
- 以下の制限事項に従ってZIPファイルを作成します。
id
(uploadId
)の値をメモしておきます。この値はcatalogId
とは異なります。後でスキルマニフェストでアセットを指定するときに、両方の値を使用します。-
ZIPファイルをS3にアップロードするには、前の手順で取得した
url
(signedExpiringS3Url
)の値を使用して、以下のPUT
リクエストを実行します。詳細については、オブジェクトをアップロードするための署名付きURLの生成を参照してください。PUT <signedExpiringS3Url route> HTTP/1.1 Host: <signedExpiringS3Url host> Content-Type: application/zip
以下の応答コードを受け取ります。ZIPファイルのサイズにもよりますが、この操作には数秒かかる場合があります。
200 OK
-
アップロードを完了としてマークするには、以下の
POST
リクエストを実行します。POST /v0/catalogs/<catalogId>/uploads/<uploadId> HTTP/1.1 Host: api.amazonalexa.com Authorization: Bearer <lwaToken>
以下の応答コードを受け取ります。ZIPファイルのサイズにもよりますが、この操作には数秒かかる場合があります。
202 Accepted
- アップロードを完了としてマークした後、Alexaチームが非同期的にZIPファイルの内容を検証します。
-
(任意)以下の
GET
リクエストを実行して、定期的に検証のステータスを確認します。詳細については、指定したアップロードについての情報を取得する(v0)を参照してください。GET /v0/catalogs/<catalogId>/uploads/<uploadId> HTTP/1.1 Host: api.amazonalexa.com Authorization: Bearer <lwaToken>
以下の応答コードを受け取ります。
200 OK
以下の応答本文を受け取ります。
{ "catalogId": "<catalogId>", "createdDate": "2021-05-19T22:09:27.941Z", "file": { "presignedDownloadUrl": "<url>", "status": "AVAILABLE" }, "id": "<uploadId>", "ingestionSteps": [ { "errors": [], "logUrl": "", "name": "UPLOAD", "status": "SUCCEEDED" }, { "errors": [], "logUrl": "", "name": "VALIDATION", "status": "SUCCEEDED" } ], "lastUpdatedDate": "2021-05-19T22:11:00.831Z", "status": "SUCCEEDED" }
応答には、検証の現在のステータスに関する詳細情報が含まれます。
-
アップロードの検証について現在のステータスを確認するには、
ingestionSteps.[1]
のVALIDATION
ステップを定期的に確認します。表示される可能性のある状態は、
SUCCEEDED
またはFAILED
です。FAILED
の場合、詳細については、ingestionSteps[1].errors
のerrorsフィールドを参照してください。検証が完了すると、アップロードしたアセットをスキルマニフェストで指定できます。
ステップ2: アップロードしたアセットをスキルマニフェストで指定する
アップロードの検証が完了した後、更新したスキルマニフェストをアップロードできるようになるまでに24時間かかります。このスキルマニフェストでは、以下の例に示すように、スキルマニフェストのpublishingInformation
セクションでプレビューメディアアセットを指定します。
{
"manifest": {
"publishingInformation": {
"locales": {
"ja-JP": {
"summary": "これはAlexaカスタムスキルのサンプルです。",
"examplePhrases": [
"アレクサ、サンプルのカスタムスキルを開いて。",
"アレクサ、サンプルのカスタムスキルを再生して。"
],
"keywords": [
"関連するキーワード_1",
"関連するキーワード_2",
"関連するキーワード_3"
],
"smallIconUri": "https://smallUri.com",
"largeIconUri": "https://largeUri.com",
"name": "サンプルのカスタムスキル名です。",
"description": "このスキルの内容はおもしろいです。"
"preview": {
"assets": {
"mobileRectangle": {
"images": [
{
"source": {
"type": "CATALOG_UPLOAD",
"catalogId": "<アップロードしたアセットが含まれるカタログのID>",
"uploadId": "<アップロードしたアセットが含まれるアップロードのID>",
"filePathInUpload": "foo/image.png"
}
}
],
"videos": [
{
"source": {
"type": "CATALOG_UPLOAD",
"catalogId": "<アップロードしたアセットが含まれるカタログのID>",
"uploadId": "<アップロードしたアセットが含まれるアップロードのID>",
"filePathInUpload": "foo/bar.mov"
},
"featuredFrame": {
"type": "CATALOG_UPLOAD",
"catalogId": "<アップロードしたアセットが含まれるカタログのID>",
"uploadId": "<アップロードしたアセットが含まれるアップロードのID>",
"filePathInUpload": "foo/frame.png"
}
}
]
}
}
}
},
"isAvailableWorldwide": false,
"testingInstructions": "1) 'アレクサ、こんにちは'と言って",
"category": "HEALTH_AND_FITNESS",
"distributionCountries": [
"JP",
"GB",
"DE"
]
},
"apis": {
...
},
"manifestVersion": "1.0",
"permissions": [
...
],
"privacyAndCompliance": {
...
},
"events": {
...
}
}
}
更新したスキルマニフェストをアップロードするには
- 更新したスキルマニフェストをアップロードする前に、マニフェストが以下の要件を満たしていることを確認してください。
- プレビューメディアアセットには、アセットプロファイルごとに、最大5つの画像と1つのビデオを含めることができます。前の例で示したように、アセットはロケール固有です。
filePathInUpload
フィールドで以下を確認します。- リッチメディアアセットが作成したZIPファイルのフォルダ内にある場合は、フォルダを指定する必要があります。たとえば、ZIPファイルに
folder
という名前のフォルダが含まれ、そのフォルダにasset1.png
というアセットファイルがあるとします。このアセットファイルへのパスはfolder/asset1.png
のように指定します。 - リッチメディアアセットがフォルダに保存されていない場合、フォルダを指定する必要はありません。たとえば、ZIPファイルに
asset1.png
というアセットファイルが含まれているとします。このアセットファイルへのパスはasset1.png
のように指定します。
- リッチメディアアセットが作成したZIPファイルのフォルダ内にある場合は、フォルダを指定する必要があります。たとえば、ZIPファイルに
- スキルマニフェストをアップロードするには、既存スキルの更新で説明されているような
PUT
リクエストを実行します。
ステップ3: スキル詳細ページでアセットを検証する
各ロケールのアセットを確認するには、モバイルデバイスのAlexaアプリでスキル詳細ページに移動します。Alexaアプリに表示されるアセットは、Amazonアカウントの国/地域の設定によって決まります。スキルを提供する対象のAlexaがサポートされている国ごとにAlexaアカウントが必要です。
関連トピック
最終更新日: 2023 年 02 月 14 日