Android 向けログインを試す

Android サンプルアプリを使用してログインの仕組みを確認できます。既存のアプリにログインを追加することもできます。

必須: 最新バージョンの Android StudioGoogle Play 開発者サービス

プロジェクトを取得する

初めて Google サービス サンプルを使用する場合は、google-services レポジトリをチェックアウトします。

$ git clone https://github.com/googlesamples/google-services.git

Android Studio を開きます。

[File] > [Open] を選択し、google-services リポジトリのクローンを作成した場所に移動して google-services/android/signin を開きます。

Google API Console プロジェクトを構成する

サンプルを使用するには、Android クライアントとウェブ アプリケーション クライアントで Google API Console プロジェクトを構成する必要があります。
  1. API Console で既存のプロジェクトを開くか、まだ作成していない場合はプロジェクトを作成します。
  2. OAuth 同意画面ページで、すべての情報が完全かつ正確であることを確認します。
  3. [Credentials] ページで、Android タイプのクライアント ID を作成します。サンプルアプリのパッケージ名は com.google.samples.quickstart.signin です。署名証明書フィンガープリントの SHA-1 ハッシュも指定する必要があります。詳細については、クライアントの認証をご覧ください。
  4. [認証情報] ページで、ウェブ アプリケーション タイプのクライアント ID を作成します。[承認済みの JavaScript 生成元] フィールドと [承認済みのリダイレクト URI] フィールドは空白のままにできます。サンプルの IdTokenActivityServerAuthCodeActivity の例では、このウェブ クライアント ID が必要になります。実際のアプリでは、このクライアント ID がアプリのバックエンド サーバーを表します。
  5. クライアント ID をコピーしてプロジェクトの strings.xml ファイルに貼り付けます。

    <string name="server_client_id">YOUR_SERVER_CLIENT_ID</string>

サンプルの実行

これで、Android Studio からサンプルをビルドして実行する準備ができました。

サンプルをビルドして実行ボタンをクリックし、最新バージョンの Google Play 開発者サービスがインストールされているデバイスまたはエミュレータを選択します。

仕組み

アプリは、必要なログイン オプションを指定して GoogleSignInClient を作成します。その後、ログインボタンがクリックされると、アプリケーションがログイン インテントを開始し、ユーザーに Google アカウントでログインするよう求めます。

// Configure sign-in to request the user's ID, email address, and basic
// profile. ID and basic profile are included in DEFAULT_SIGN_IN.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
// Build a GoogleSignInClient with the options specified by gso.
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
private void signIn() {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

次のステップ

独自のアプリに Google ログインを実装する方法については、実装ガイドをご覧ください。

アプリに「ログイン」を追加する

うまく試すことができず問題が発生した場合 ご意見、ご感想をお聞かせください。