> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Auth0.Android のインストール、初期化、使用方法について説明します

# Auth0.Android

Auth0.Android は、Android アプリでユーザーを認証し、[Auth0 APIs](/ja/docs/api) にアクセスするために使用できるクライアントサイドライブラリです。

GitHub の [Auth0.Android repository](https://github.com/auth0/Auth0.Android) を参照してください。

<div id="requirements">
  ## 要件
</div>

Android API バージョン 21 以降が必要です。

<div id="installation">
  ## インストール
</div>

SDK をプロジェクトに追加します。このライブラリは、Auth0 の Authentication API と Management API にリクエストを送信します。

<div id="add-auth0-to-gradle">
  ### Gradle に Auth0 を追加する
</div>

アプリの`build.gradle`の依存関係セクションに、次を追加します。

```kotlin lines theme={null}
dependencies {
  // Auth0 Android SDKを追加する
  implementation 'com.auth0.android:auth0:2.+'
}
```

Android Studio で `+` 記号に lint の警告が出る場合、または固定バージョンを使用したい場合は、最新バージョンを [Maven](https://central.sonatype.com/artifact/com.auth0.android/auth0) で確認してください。

<Card title="Gradle でプロジェクトを同期">
  Android Studio の案内に従って同期するか、コマンドラインから `./gradlew clean build` を実行してください。
</Card>

`android` セクションでは、Android プラグインと Kotlin プラグインのそれぞれで、Java 8 バイトコードをターゲットにしてください。

```kotlin lines theme={null}
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
    jvmTarget = '1.8'
  }
}
```

<div id="permissions">
  ### 権限
</div>

アプリケーションの `AndroidManifest.xml` ファイルを開き、次の権限を追加します。

```text lines theme={null}
<uses-permission android:name="android.permission.INTERNET" />
```

<div id="configure-for-universal-login">
  ## Universal Login 用に設定する
</div>

まず、[Dashboard > Applications](https://manage.auth0.com/#/applications) に移動し、編集するアプリケーションの名前をクリックします。**Allowed Callback URLs** で、URL が次の形式になっていることを確認します。
`https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback`

次に、`{YOUR_APP_PACKAGE_NAME}` を実際のアプリケーションのパッケージ名に置き換えます。これは、`app/build.gradle` ファイル内の `applicationId` の値で確認できます。

次に、`app/build.gradle` ファイルに、Auth0 のドメインおよび Auth0 Scheme プロパティ用の [Manifest Placeholders](https://developer.android.com/build/manage-manifests) を追加します。ライブラリはこれらを使用して、コールバック URI を受け取る intent-filter を登録します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Web認証 機能を使用する予定がなく、マニフェスト プレースホルダーを宣言しない場合は、Android アプリのマニフェスト ファイルで activity を手動で再宣言することで、マージ後のマニフェスト ファイルから削除できます。これにより、マニフェスト プレースホルダーが不足しているという Gradle の警告を回避できます。

  詳しくは、[FAQ を参照してください](https://github.com/auth0/auth0.android/blob/main/FAQ.md)。
</Callout>

```kotlin lines theme={null}
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.auth0.samples"
        minSdkVersion 21
        targetSdkVersion 30
        //...

        //---> 次の行を追加
        manifestPlaceholders = [auth0Domain: "@string/com_auth0_domain", auth0Scheme: "https"]
        //<---
    }
    //...
}
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  単にハードコーディングするのではなく、`@string/com_auth0_domain` のような再利用可能なリソースとして定義することをおすすめします。
</Callout>

<div id="initialize-auth0">
  ## Auth0 を初期化する
</div>

Auth0 の <Tooltip tip="クライアントID: Auth0 が登録済みリソースに付与する識別値です。" cta="用語集を見る" href="/ja/docs/glossary?term=client+ID">クライアントID</Tooltip> とドメインを使用して、新しい `Auth0` オブジェクトを作成します。このオブジェクトは、後で Auth0 のエンドポイントとやり取りするときに使用されます。

```kotlin lines theme={null}
val auth0 = Auth0("{yourClientId}", "YOUR_DOMAIN")
```

このオブジェクトは、[この使用例](https://github.com/auth0/Auth0.Android/tree/master#usage)のように、Android Context を使って初期化することもできます。

<div id="next-steps">
  ## 次のステップ
</div>

[`WebAuthProvider` クラスを使用して、アプリケーションでユーザーのログインとログアウトを行う](/ja/docs/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)。

<div id="reset-user-password">
  ### ユーザーのパスワードをリセットする
</div>

ユーザーのパスワードリセットを開始するには、ユーザーのメールアドレスとデータベース接続の名前をパラメータとして指定して、`resetPassword` を呼び出します。

パスワードリセットのリクエストは、ネットワーク関連のエラーが発生した場合は失敗しますが、指定したメールアドレスがデータベース内に存在しない場合でも失敗しません (セキュリティ上の理由によります) 。

<div id="learn-more">
  ## 詳細
</div>

* [Auth0.Android のログイン、ログアウト、ユーザープロフィール](/ja/docs/libraries/auth0-android/auth0-android-login-logout-and-user-profiles)
* [Auth0.Android の設定オプション](/ja/docs/libraries/auth0-android/auth0-android-configuration)
* [Auth0.Android のデータベース認証](/ja/docs/libraries/auth0-android/auth0-android-database-authentication)
* [Auth0.Android のパスワードレス認証](/ja/docs/libraries/auth0-android/auth0-android-passwordless)
* [Auth0.Android: ユーザー管理](/ja/docs/libraries/auth0-android/auth0-android-user-management)
