開発者コンソール

Login with Amazonコンポーネント


Login with Amazonコンポーネント

 IV: コンポーネントを追加して機能性を高める

Login with Amazonコンポーネントを使用すると、ユーザーが特定のアクション(メディアの視聴など)を実行する前に、Amazonアカウントの認証情報を使用してAmazon Fire TV対応アプリにログインするように求めるメッセージを表示できます。詳細については、Login with Amazonを参照してください。

Amazon Fire TVでは、Fire TVをセットアップして登録するときに、既にユーザーにAmazonアカウントでのログインを要求しています。したがって、このコンポーネントの本当のメリットは、ユーザーがAmazonアカウントでログインできることではありません。このコンポーネントのメリットは、ユーザーから、Amazonユーザー名とEメールアドレスをアプリと共有するための同意を得られる点にあります。これにより、ユーザーをよりよく理解することができます。

Login with Amazonコンポーネントのユーザーエクスペリエンス

ユーザーが [今すぐ観る] ボタンをクリックしてメディアを視聴すると、ログインプロセスを開始する [Amazonでログイン] ボタンが表示されます。

図1.[Amazonでログイン] ボタン。

このボタンをクリックすると、(Amazonでホストされている)セキュリティで保護されたログイン画面に、(Fire TVアカウントに関連付けられている)ユーザー名とEメールアドレスが表示されます。ユーザーは、このデータ(名前とEメールアドレス)をアプリと共有することに同意するように求められます。同意画面には、アプリ名、ロゴ、プライバシー規約が表示されます。

図2.プライバシーに関する同意画面。

ユーザーが [同意する] をクリックすると、元のアプリにリダイレクトされ、メディアの視聴を許可するトークンが付与されます。

図3.ログインに成功するとアプリに戻ります。

アプリに戻ったら、[戻る] をクリックします。ユーザーが選択したメディアの再生が始まります。

ユーザーがアプリとの情報の共有に同意しない場合は、アプリにリダイレクトされ、前と同じLogin with Amazonの画面(図1)が表示されます。

ログインしたユーザーは、アプリの下部にある [ログアウト] ボタンを使用してログアウトできます。その後でメディアを視聴しようとすると、再度ログインを求められます(図1)。ユーザーは既にアプリとの詳細情報の共有に同意しているため、プライバシー画面(図2)はバイパスされます。

アプリからデータへのアクセスを取り消すには、次の手順を実行します。

  1. Amazon.co.jpにログインし、[アカウントサービス] > [アカウントサービス] に移動します(または、直接こちらに移動します)。
  2. [その他のアカウント] で、[Amazonログインの設定] をクリックします。
  3. アプリの横にある [アクセスを削除] をクリックします。

構成の概要

Login with Amazonコンポーネントを構成するには、次の手順に従います。

手順1:アプリを構成する

Login with Amazonコンポーネントを構成するには、次の手順を実行します。

  1. ほかのコンポーネントと同様に、コンポーネントを追加または削除する一般的な手順に従います。

    アプリにほかの認証コンポーネント(AdobepassAuthComponent、PassThroughLoginComponent、FacebookAuthComponent)が読み込まれている場合は、すべて削除してください。

  2. アプリのNavigator.jsonファイル(app > assets内)を開きます。
  3. ユーザーにログインを求める画面について、verifyScreenAccessの値をtrueに設定します。たとえば、メディアの再生前にユーザーにログインを求める場合は、次のようにPlaybackActivityで画面へのアクセスを検証します。

      "com.amazon.android.uamp.ui.PlaybackActivity": {
      "verifyScreenAccess": true,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_RENDERER_SCREEN"
    }
    
  4. Login with Amazonの画面(図1)に表示されるテキストを変更するには、LoginWithAmazonComponent > res > values > strings.xmlに移動します。文字列をアプリのcustom.xmlファイル(res > values内)にコピーし、文字列値をカスタマイズします。

コンポーネントを完全に構成するには、Login with Amazonサービスから取得したAPIキーを入力する必要があります。次のセクションでは、このAPIキーの取得方法について説明します。

手順2:開発者コンソールでセキュリティプロファイルを作成する

開発者コンソールで、アプリのセキュリティプロファイルを作成する必要があります。このセキュリティプロファイルはLogin with Amazonサービスで使用され、APIキーを取得するために必要です。

セキュリティプロファイルにはアプリに関する情報が含まれ、プライバシー同意画面(図2)でユーザーに表示されます。プライバシー同意画面には、アプリの名前、ロゴ、プライバシーポリシーへのリンクが表示されます。

セキュリティプロファイルをセットアップするには、Login with Amazonに登録するページの手順に従います。

手順3:Login with AmazonのAPIキーを取得する

開発者コンソールでセキュリティプロファイルを作成したら、そのプロファイルでLogin with Amazonを使用するアプリの設定を追加する必要があります。その後、APIキーを取得して、アプリ内のLogin with Amazonコンポーネントの構成を完了できます。

  1. Login with Amazonに登録するの「セキュリティプロファイルにAndroid設定を追加する」セクションの手順を最後まで実行します。次の点に注意してください。

    • パッケージ名を調べるには、Android StudioでAndroidManifest.xmlファイル(app > manifests内)を開きます。上部にパッケージ名が表示されます。デフォルトのパッケージ名はcom.amazon.android.calypsoです。ただし、このパッケージ名は多くの場合アプリのカスタマイズ時に変更されています。
    • 署名フィールドのMD5SHA-256の値を取得する方法については、アプリの署名の取得セクションを参照してください。
  2. Login with Amazonに登録するページの「Android APIキーを取得する」セクションの手順に従って、APIキーを取得します。

  3. APIキーを取得したら、Android StudioでLoginWithAmazonComponent > assetsフォルダに移動し、api_key.txtファイルを開きます。そのファイルに含まれているデフォルトのテキストをすべて削除し、APIキーを貼り付けます。

アプリの署名の取得

アプリでLogin with Amazonサービスとやり取りするには、アプリが署名されている必要があります。アプリのリリース前の署名は、デバッグキーストアに格納されます。アプリのリリース後の署名は、リリースキーストアに格納されます。Login with Amazonサービスは、アプリの署名を使用して、Login with Amazonコンポーネントの構成に必要なAPIキーを作成します。

アプリをテストしているとき(つまり、まだAmazonアプリストアにリリースしていない場合)は、Android Studioで自動的にAPKファイルの署名が生成されます。コーディングやテストの段階では、この署名を使用してLogin with Amazonの機能をテストできます。アプリを正式にリリースするときは、リリースキーストアの署名を基に、新しいAPIキーを生成する必要があります。

署名の詳細については、Androidアプリの署名とAPIキーを参照してください。また、Androidドキュメントのアプリへの署名も参照してください。

署名からMD5とSHA-256の値を取得するには、keytoolと呼ばれるJavaユーティリティを使用します。keytoolを使用してこれらの値を取得するには、次の手順を実行します。

  1. keytoolをPATHに追加します。

    1. keytoolのパスを特定します。keytoolは、JDKの場所のHome/binディレクトリにあります。たとえば、Macでのパスは/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/binになります(正確なパスはJDKのバージョンによって異なります。使用中のバージョンに応じてパスを更新してください)。
    2. この場所をPATHに追加します。Macの場合は、次のようなコマンドを使用できます。

      echo 'export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin' >> ~/.bash_profile
      

      Windowsユーザーの場合は、WindowsでツールをPATHに追加する方法に従います。

  2. PATHにkeytoolの場所を追加したら、debug.keystoreのあるフォルダに移動します。このパスは次のようになります。

    /Users/<ユーザー名>/.android/debug.keystore
    

    <ユーザー名>は実際のユーザー名に置き換えてください。

  3. 以下のkeytoolコマンドを実行します。<エイリアス>androiddebugkeyに置き換え、<キーストアファイル名>debug.keystoreに置き換えてください。

    keytool -list -v -alias <エイリアス> -keystore <キーストアファイル名>
    

    パスワードはandroidです。

    このエイリアスとパスワードは、Android Studioで自動的に生成されるデバッグキーストアファイルに対応するものです。

    次のような証明書のフィンガープリントが表示されます。

    Alias name: androiddebugkey
    Creation date: Jun 13, 2016
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: C=US, O=Android, CN=Android Debug
    Issuer: C=US, O=Android, CN=Android Debug
    Serial number: 1
    Valid from: Mon Jun 13 22:56:54 PDT 2016 until: Wed Jun 06 22:56:54 PDT 2046
    Certificate fingerprints:
         MD5:  20:91:A5:45:ED:F7:D5:9A:03:65:33:66:AD:02:27:E8
         SHA1: B7:73:5F:AF:28:68:40:AB:31:59:03:A2:46:AB:D6:44:85:2A:C1:0E
         SHA256: 05:E3:7C:82:42:04:4A:0A:DC:98:6A:1C:B3:21:64:9F:AC:CD:3E:CD:B1:57:3F:EA:C0:35:0E:32:8D:39:D5:A6
         Signature algorithm name: SHA1withRSA
         Version: 1
    

    ここでは、MD5とSHA256の値を赤色でハイライトしています。

  4. MD5SHA256の値をコピーします。前のLogin with AmazonのAPIキーを取得するで説明されているように、これらの値を開発者コンソールの対応するフィールドに入力します。

ログインが必要なコンテンツと無料コンテンツの同時提供

ログインが必要なコンテンツを提供している場合でも、ログイン不要の無料コンテンツを同時に提供することができます。そのためには、フィードで「無料」を示すタグをマッピングします。ログインが必要なコンテンツと無料コンテンツの同時提供を参照してください。