Login with Amazonプロジェクトを作成する
このセクションでは、Login with Amazonの新しいAndroidプロジェクトを作成する方法、プロジェクトの構成方法、プロジェクトにコードを追加してLogin with Amazonでユーザーをサインインする方法を紹介します。Login with Amazonを使用するためのアプリプロジェクトがまだ準備できていない場合は、以下の手順に従ってAndroid Studioでプロジェクトを作成してください。アプリが準備できている場合は、Login with Amazonライブラリをインストールするに進んでください。
- Android Studioで新規プロジェクトを作成する
- Login with Amazonライブラリをインストールする
- プロジェクトのネットワークパーミッションを設定する
- プロジェクトにAPIキーを追加する
- アクティビティの構成変更を処理する
- プロジェクトにWorkflowActivityを追加する
- Amazonショッピングアプリをプロジェクトに追加する
Android Studioで新規プロジェクトを作成する
- Android Studioを起動します。
- [File] メニューから、[New] > [Project] の順に選択します。
- アプリの [Application Name] と [Company Name] を入力します。
- [Application Name] と [Company Name] には、Login with Amazonにアプリを登録したときに選択したパッケージ名に対応する名前を入力します。まだアプリを登録していない場合は、パッケージ名を選択し、プロジェクトを作成した後でLogin with Amazonに登録する手順に従ってください。アプリのパッケージ名が登録済みのパッケージ名と一致しない場合、Login with Amazonを呼び出せません。
- [Minimum Required SDK] は
API 16: Android 4.1 (JellyBean)以上を選択して、[Next] をクリックします。 - 作成するアクティビティの種類を選択して、[Next] をクリックします。
- 関連する項目を入力して [Finish] をクリックします。
Login with Amazonの呼び出しに使用できる新しいプロジェクトがワークスペースに作成されます。
Login with Amazonライブラリをインストールする
Android用のLogin with Amazon SDKをダウンロードしていない場合は、Android用のLogin with Amazon SDKをインストールするを参照してください。
- コンピューターのファイルシステムを使用し、Android用のLogin with Amazon SDK内でlogin-with-amazon-sdk.jarファイルを検索します。そのファイルをクリップボードにコピーします。
- Android Studioでプロジェクトを開き、[Project View] を開きます。
- [Project View] でプロジェクト/アプリの親ディレクトリを右クリックし、[Paste] を選択します。
- [Project View] で login-with-amazon-sdk.jarを右クリックし、[Add As Library] を選択します。
プロジェクトのネットワークパーミッションを設定する
アプリでLogin with Amazonを使用するには、インターネットに接続し、ネットワーク状態の情報にアクセスできなければなりません。アプリは、Androidマニフェストでネットワークパーミッションをアサートする必要があります(未実施の場合)。
- [Project View] から、AndroidManifest.xmlをダブルクリックして開きます。
-
以下のコードをコピーして、このファイル(
applicationブロックの外側)に貼り付けます。<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
例:

プロジェクトにAPIキーを追加する
AndroidアプリをLogin with Amazonに登録すると、APIキーが割り当てられます。これは、Amazon Authorization ManagerがLogin with Amazon認可サービスでアプリを特定するために使用する識別子です。
アプリの署名にAmazonアプリストアを使用している場合、Amazonアプリストアから自動的にAPIキーが提供されます。Amazonアプリストアを使用していない場合は、Amazon Authorization Managerがassetsディレクトリ内のapi_key.txtファイルからランタイム時にこの値を読み込みます。
- APIキーがない場合は、Androidアプリの署名とAPIキーを参照し、Android APIキーを取得する手順に従ってください。
- Android Studioの [Project View] で、
assetsフォルダを右クリックし、[New] > [File] の順にクリックします。assetsフォルダがない場合は、プロジェクトの親ディレクトリを右クリックし、[New] > [Folder] > [Assets Folder] の順に選択します。 - ファイルに「api_key.txt」と名前を付けます。
- api_key.txtというテキストファイルのエディターウィンドウができます。APIキーをテキストファイルに追加します。
- [File] メニューで、[Save] をクリックします。
api_key.txtファイルに文字(バイトオーダーマークなど)が追加された場合、Login with Amazon認可サービスに接続しようとするとERROR_ACCESS_DENIEDが表示されることがあります。その場合、先頭または末尾のスペース、ラインフィード、疑わしい文字をすべて削除してください(たとえば、バイトオーダーマークを使用するエディターが、0xEF 0xBB 0xBFまたはそのほかの16進数のシーケンスをapi_key.txtファイルの先頭に追加することがあります)。新しいAPIキーの取得を試みることもできます。Login with Amazonとアプリ内課金の統合アプリ
Appstore SDKまたはアプリ内課金SDK(IAP SDK)を使用するアプリには、APIキーに関する個別の要件があります。
デバッグアプリ
プレリリース(デバッグ)版アプリの場合は、APIキーを作成してプロジェクトに保存する必要があります。
- プロジェクトのassetsフォルダに
api_key.txtという名前のファイルを作成します。このファイルは、必ずassetsフォルダに配置するようにしてください。 api_key.txtファイルにAPIキーを挿入します。これ以外のデータは含めないでください。
実稼働アプリ
リリース(実稼働)版アプリで、Appstore SDKを使用している場合は、そのアプリ用に追加のAPIキーを作成する必要があります。また、以前のIAP SDK v2.0を使用していて、独自の証明書を使用してアプリに署名する場合も、そのアプリ用のAPIキーを作成する必要があります。これに対して、IAP SDK v2.0を使用していて、アプリへの署名をAmazonに任せる場合は、新たなAPIキーを作成する必要はありません。概要については、以下の表を参照してください。
| Appstore SDKの使用 | リリース版アプリへの自己署名 | 本稼働版/デバッグ版 | アプリの署名方法 |
|---|---|---|---|
| 本稼働版 | APIキーは自動的に生成され、リリース版アプリに挿入されるため、何もする必要はありません。 | ||
| 本稼働版 | 独自のリリース版証明書ハッシュを使用して開発者側でAPIキーを作成し、それをアセットに追加する必要があります。 | ||
| 本稼働版 | 開発者コンソールから取得したリリース版証明書ハッシュを使用して開発者側でAPIキーを作成し、それをアセットに追加する必要があります。 | ||
| 本稼働版 | 独自のリリース版証明書ハッシュを使用して開発者側でAPIキーを作成し、それをアセットに追加する必要があります。 | ||
| 任意 | 任意 | デバッグ版 | 独自のリリース版証明書ハッシュを使用して開発者側でAPIキーを作成し、それをアセットに追加する必要があります。 |
既存のアプリのAPIキーを作成するには、Amazonアプリストアの証明書ハッシュ値を使用する必要があります。このハッシュ値は、開発者コンソールで以下の手順に従って確認できます。
- 開発者コンソールにログインします。
- ナビゲーションバーから [マイアプリ] をクリックします。
- 該当するアプリの行を展開し、[View] をクリックしてアプリ一覧のエントリを開きます。
- [アプリファイルをアップロード] 画面で、[Amazonアプリストアの証明書ハッシュ] をクリックします。
アクティビティの構成変更を処理する
ユーザーがログイン中に画面の向きや端末のキーボードの状態を変更した場合、実行中のアクティビティを再起動するよう求められます。この再起動により、ログイン画面が突然終了します。このような事態を防ぐには、構成の変更を手動で処理できるように、authorizeメソッドを使用するアクティビティを設定する必要があります。この設定でアクティビティの再起動を回避できます。
- [Project View] で、AndroidManifest.xmlをダブルクリックしてファイルを開きます。
- Applicationブロックで、Login with Amazonを処理するアクティビティを検索します(例:MainActivity)。
-
手順2で特定したアクティビティに次の属性を追加します。
android:configChanges="keyboard|keyboardHidden|orientation"API 13以上の場合
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" - [File] メニューから、[Save] をクリックします。
これで、キーボードやデバイスの向きが変わるときには、AndroidがアクティビティのonConfigurationChangedメソッドを呼び出します。ご自身のアプリでこうした構成の変更に対処する必要がなければ、この機能を実装する必要はありません。
プロジェクトにWorkflowActivityを追加する
ユーザーが [Login with Amazon] ボタンをクリックすると、APIがウェブブラウザを起動して、ユーザーにログインと同意のページを表示します。ブラウザのこうしたアクティビティを機能させるには、WorkflowActivityをマニフェストに追加する必要があります。
これまでにLogin with Amazon SDKと統合している場合、またはAndroidManifest.xmlでcom.amazon.identity.auth.device.authorization.AuthorizationActivityアクティビティを宣言している場合は、それを削除してWorkflowActivityに置き換える必要があります。
- [Project View] で、AndroidManifest.xmlをダブルクリックしてファイルを開きます。
-
Applicationブロックに、次のコードを追加します。
<activity android:name="com.amazon.identity.auth.device.workflow.WorkflowActivity" android:theme="@android:style/Theme.NoDisplay" android:allowTaskReparenting="true" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <!-- android:hostは、Manifest General Attributesに含まれる完全なパッケージ名を使用する必要があります --> <data android:host="${applicationId}" android:scheme="amzn"/> </intent-filter> </activity>
${applicationId}をこのアプリのパッケージ名に置き換えます。Amazonショッピングアプリをプロジェクトに追加する
AmazonショッピングアプリがAndroid端末にインストールされている場合、[Login with Amazon] ボタンをクリックすると、APIが作動してAmazonショッピングアプリを起動し、ログインページまたは同意ページが表示されます。ユーザーが既にAmazonショッピングアプリにサインインしている場合、再度ログインする必要はありません。
Amazonショッピングアプリが見やすくなるように、プロジェクトがAndroid 11(APIレベル30)以上を対象としている場合は、AndroidManifest.xmlファイルに次のセクションを含めてください。
- [Project View] で、AndroidManifest.xmlをダブルクリックしてファイルを開きます。
- 以下のコードをコピーして、このファイル(
applicationブロックの外側)に貼り付けます。<queries > <intent> <action android:name="com.amazon.identity.auth.device.authorization.MapAuthorizationService"/> </intent> </queries>
Last updated: 2026年2月17日

