メニューに進む

Googleログイン on Android

GitHub

Capgo Android用のソーシャルログインの設定方法を学びます。このガイドでは、Googleログインの設定方法について説明します。一般的な設定ガイドをすでに読んだと想定しています。 AndroidでGoogleログインを使用する.

このセクションでは、AndroidでGoogleログインを設定する方法を学びます。

  1. Create an Android client ID.

    1. Click on the search bar

      Google Console search bar
    2. Search for credentials and click on the APIs and Services one (number 2 on the screenshot)

      Search results showing credentials option with APIs and Services highlighted
    3. Click on the create credentials

      Create credentials button in Google Console
    4. 選択 OAuth client ID

      資格情報作成メニューのOAuthクライアントIDオプションを選択
    5. 選択してください Android アプリケーションの種類

      Androidオプションが強調表示されているアプリケーション種類の選択
    6. Android Studioを開く

    7. ナビゲーターの最下部で、Android Studioプロジェクトナビゲーターの Gradle Scripts

      Gradle Scriptsセクションを見つける
    8. Gradle Scriptsセクションで build.gradle モジュール app

      build.gradle (Module: app) ファイルをコピーする
    9. for the module android.defaultConfig.applicationId. このアプリケーションはあなたの package name Googleコンソール内

      Build.gradleファイルのapplicationId設定
    10. ターミナルを開いてください。アプリのフォルダに移動し、 android アプリのフォルダで gradlew signInReportコマンドを実行 ./gradlew signInReport

    このコマンドの先頭に移動してください。次の内容が表示されるはずです。
    1. SHA1証明書の指紋 SHA1.
    Googleコンソールに戻り、
    1. パッケージ名とSHA1を入力し、 applicationId Androidクライアント作成フォーム Package Name パッケージ名とSHA1を入力したAndroidクライアント作成フォーム create
    パッケージ名と
  2. Android用のWebクライアントを作成してください(このステップは必須です)

    1. Capgoの Create credentials Google Consoleの

    2. を選択してください Web

      Webオプションが強調表示されているアプリケーションタイプの選択
    3. をクリックしてください Create

      Webクライアントの作成フォーム
    4. Client IDをコピーしてください。 webClientId in your JS/TS code

      Client IDの詳細
  3. Capgoの MainActivity

    1. をAndroid Studioで開いてください。 cap open android

    2. Find MainActivity.java

      1. Open the app folder

        Android Studioプロジェクトナビゲータで
      2. Appフォルダを java

        Java folder in Android Studio project structure
      3. Find your MainActivity.java MainActivity.javaファイルを

        MainActivity.java file in package structure
    3. Modify MainActivity.javacodeを追加してください

      import ee.forgr.capacitor.social.login.GoogleProvider;
      import ee.forgr.capacitor.social.login.SocialLoginPlugin;
      import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
      import com.getcapacitor.PluginHandle;
      import com.getcapacitor.Plugin;
      import android.content.Intent;
      import android.util.Log;
      import com.getcapacitor.BridgeActivity;
      // ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!
      public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Google Activity Result", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
      }
      }
      // This function will never be called, leave it empty
      @Override
      public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
      }
    4. ファイルを保存

  4. アプリケーションにGoogleログインを使用

    1. 最初に SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. 初期化を呼び出してください。この呼び出しは一度だけ呼ばれる必要があります。

      // onMounted is Vue specific
      // webClientId is the client ID you got in the web client creation step not the android client ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. 呼び出し SocialLogin.login. クリックすると、次のcodeを実行するボタンを作成してください。

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. __CAPGO_KEEP_1__

    1. __CAPGO_KEEP_2__ Device manager Android Studioのデバイスマネージャーに移動し、プラスボタンをクリックしてください。

      __CAPGO_KEEP_3__
    2. __CAPGO_KEEP_4__

      __CAPGO_KEEP_5__
    3. __CAPGO_KEEP_6__ Play Store __CAPGO_KEEP_7__

      ハードウェアの選択画面で、プレイストアをサポートするデバイスが表示されます。

      ご覧のとおり、 pixel 8Play Store サービス

    4. クリック next

      デバイス作成ウィザードの次のボタン
    5. OSイメージが次のタイプであることを確認してください。 Google Play. __CAPGO_KEEP_0__Google Play

      システムイメージの選択画面でGoogle Playタイプのイメージが表示されます。
    6. 次のボタンをクリック

      システムイメージの選択画面の次のボタン
    7. __CAPGO_KEEP_0__を確認してください。エミュレータの名前は好きなように設定できます

      __CAPGO_KEEP_1__の設定を確認する画面です。Finishボタンが表示されます
    8. __CAPGO_KEEP_2__に進み Device Manager __CAPGO_KEEP_3__を起動してください

      __CAPGO_KEEP_4__に進み、仮想デバイスが表示されます。Playボタンが表示されます
    9. シミュレータが起動したら、__CAPGO_KEEP_5__に進みます

      __CAPGO_KEEP_6__の設定画面です。Google Playオプションが表示されます
    10. __CAPGO_KEEP_7__に進みます Google Play

    __CAPGO_KEEP_8__をクリックし、約60秒待ちます
    1. Google Playの更新画面です。Updateボタンが表示されます Update __CAPGO_KEEP_9__
    __CAPGO_KEEP_10__
  6. Test your application

    If you did everything correctly, you should see the Google login flow working properly:

    Android上でGoogleログインフローを実行するデモ

If you have any issues, please look at the Github issues.

Googleログインの問題は ALWAYS SHA1証明書に関連しています。

開発用のSHA1証明書を取得できない場合は、カスタムキーストアを使用してください。 ここ はプロジェクトにキーストアを追加する方法についてのコメントです。

AndroidのGoogleログインから続けてください

AndroidのGoogleログインから続けてください

Capgoを使用している場合 AndroidのGoogleログイン 認証とアカウントフローの計画に使用し、CloudflareのCapacitorと接続する @capgo/capacitor-social-login @capgo/capacitor-social-login @capgo/capacitor-social-login @capgo/capacitor-passkey @capgo/capacitor-passkey @capgo/capacitor-passkey @capgo/capacitor-native-biometric @capgo/capacitor-native-biometricの実装詳細について Two-factor authentication Two-factor authenticationの実装詳細について