前提条件
以下のリストは、LWAをVegaアプリに追加する前に必要な項目を示しています。- コンピューターにインストールされたVega SDK。
- Amazon開発者アカウント。
- 既存のVegaアプリ。Vegaビデオサンプルアプリをダウンロードして、アプリのテンプレートとして使用できます。
- アプリはAmazonでログインに登録しておく必要があります。詳細については、Amazonでログインに登録するを参照してください。
- アプリのAPIキー。詳細については、APIキーの取得を参照してください。
- Vega対応のFire TV Stick。LWAはVega仮想デバイスに対応していないため、デバイス上で統合をテストする必要があります。
APIキーの取得
アプリでLWAを使用するには、アプリのAPIキーを提供する必要があります。APIキーは、Amazon Authorization Managerによって使用される識別子で、これによりLWA認証サービスを通じたアプリの識別が行われます。デバッグアプリと実稼働アプリには異なるAPIキーが必要です。APIキーは、アプリパッケージIDとアプリのMD5署名およびSHA256署名を使用して生成します。アプリのデバッグ版と実稼働版のパッケージIDは同じですが、MD5署名とSHA256署名を取得する手順は異なります。デバッグアプリの署名を取得するには、デバッグアプリのMD5署名とSHA256署名を参照してください。実稼働アプリについては、実稼働アプリのMD5署名とSHA256署名を参照してください。 以下の手順に従ってAPIキーを作成し、LWAアカウントに追加します。- Amazonアプリストア開発者コンソールを開き、アカウントにログインします。
- セキュリティプロファイルを作成するか、既存のセキュリティプロファイルを開きます。詳細については、LWAのドキュメントを参照してください。
- Vegaアプリ用のAPIキーを追加します。
- [Android/Kindleの設定] を選択します。
-
[Add an API Key] に移動します。次の情報を入力します。
- [APIキー名] - アプリを識別するための名前を作成します。
- [パッケージ] - パッケージID(
com.mycompany.myappなど)を入力します。 - [MD5署名] - MD5署名を入力します。
- [SHA256署名] - SHA256署名を入力します。
デバッグアプリのMD5署名とSHA256署名
- Fire TV Stickを開発用コンピューターに接続します。
- ターミナルシェルを開き、vda
devicesコマンドを実行します。 - デバイスのシリアル番号が出力に表示されていることを確認します。
- ターミナルシェルを開き、vda
-
ターミナルで、
vpm info <package_name>を実行します。<パッケージ名>をアプリのパッケージ名に置き換えます。パッケージ名はmanifest.tomlファイルで確認できます。 -
署名情報を特定します。
- コマンド出力で “Signers info” セクションを見つけます。
-
いずれかの署名者のMD5署名とSHA256署名の両方を書き留めます。SHA256署名は、出力で2行にわたって表示されます。これらの行を
:で接続します。たとえば、SHA256の出力が次のようになっているとします。SHA256の正しい文字列は次のとおりです。17:6c:1b:d5:24:d6:0d:6c:e7:88:fd:9c:61:09:c2:01:b2:21:2a:79:66:10:c8:a7:74:64:11:d0:13:39:31
実稼働アプリのMD5署名とSHA256署名
アプリのリリース版、つまり「実稼働」版の場合は、AmazonアプリストアのMD5署名およびSHA256署名を使用して追加のAPIキーを作成し、アプリのmanifest.tomlファイルに保存する必要があります。これはアプリ内課金(IAP)やライブアプリテスト(LAT)を使用するアプリの場合も行う必要があります。 既存のアプリのAPIキーを作成するには、開発者コンソールでAmazonアプリストアの証明書ハッシュ値を確認します。[マイアプリ] に移動してアプリの現在のバージョンを選択し、[アプリファイルをアップロード] > [Amazonアプリストアの証明書ハッシュ] の順にクリックします。APIキーからのclientIDの抽出
APIキーはJWT(JSON Web Token)です。このキーをデコードして、バックエンドサービスで使用されるclientIDを見つけることができます。
任意のJWTデコードツールを使用してAPIキーをデコードします。
セットアップ
- package.jsonファイルの
dependenciesセクションに、以下のライブラリ依存関係を追加します。
-
manifest.tomlに以下の権限を追加し、
api_keyを、取得済みのAPIキーに置き換えます。
使用方法
例:ユーザーを認可する
以下のコード例は、Authorize呼び出しをReact Nativeコンポーネントに統合してユーザー認可フローを開始し、アクセストークンとユーザーの詳細を取得する方法を示しています。
例:認可トークンを取得する
以下のコード例は、GetToken呼び出しをReact Nativeコンポーネントに統合して、指定されたスコープの認可トークンを取得する方法を示しています。
例:ユーザーの詳細を取得する
以下のコード例は、GetUser呼び出しをReact Nativeコンポーネントに統合し、ユーザープロフィール情報を取得して表示する方法を示しています。
例:ユーザーをサインアウトする
以下のコード例は、Signout呼び出しをReact Nativeコンポーネントに統合して、ユーザーが自分のアカウントから安全にサインアウトできるようにする方法を示しています。
APIリファレンス
クラス
- AuthorizationManager - LWATurboModules(Amazonでログイン)でのインタラクションを管理します。
インターフェイス
- AuthorizeCallbacks - AuthorizeCallbacks。
- AuthorizeCancellationReason - 認証キャンセルの考えられる理由を表します。
- AuthorizeRequest - 認可リクエストを格納するリクエストデータオブジェクトです。
- AuthorizeSuccessParams - AuthorizeSuccessParams。
- GetTokenCallbacks - TokenCallbacks。
- GetUserCallbacks - GetUserCallbacks。
- Scope - OAuth 2.0スコープのプログラムコンセプトを定義します。
- SignOutCallbacks - SignOutCallbacks。
- User - Amazonアカウントから取得したユーザーのプロフィール情報を表します。
列挙型
- GrantTypeName
- ScopeName - Amazon Identityでサポートされる可能性のあるすべてのスコープのリストが含まれます。
- Status - 認証エラーや認可エラーのさまざまなステータスコードを表す列挙型。

