コンテンツにジャンプ

Google Android ログイン

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

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

  1. 複数のAndroidクライアントIDを作成できます。これは、複数のSHA1証明書を持つ場合に必須です。

    1. AndroidクライアントIDを作成する。

      Google Console 検索バー
    2. を検索し credentials にクリック APIs and Services スクリーンショットの2番目のアイテム

      APIs & Services が強調表示されている資格情報オプションを表示する検索結果
    3. にクリック create credentials

      Google Console の資格情報作成メニューの
    4. Create credentials OAuth client ID

      資格情報作成メニューの
    5. OAuth クライアント ID Android 資格情報作成メニューの

      アプリケーションタイプの選択
    6. Android スタジオを開きます

    7. ナビゲーターの最下部で、 Gradle Scripts

      Android スタジオプロジェクトナビゲータの
    8. を探します build.gradle モジュール app

      Gradle Scripts セクションで
    9. ファイルを見つけます android.defaultConfig.applicationId。これはあなたの package name Google コンソール

      Build.gradle ファイルのアプリケーションID設定を表示します
    10. ターミナルを開きます。アプリのフォルダに移動し、 android アプリのフォルダで ./gradlew signInReport

    ターミナルに gradlew signInReport コマンドが表示されます。
    1. このコマンドの先頭にスクロールしてください。次の内容が表示されます。コピーしてください。 SHA1.
    SHA1 証明書の指紋が表示されるターミナル出力
    1. Google Console に戻り、 applicationIdPackage Name 証明書フィールドに create
    Android クライアント作成フォーム
  2. Android クライアントを作成するには、Web クライアントも作成する必要があります。

    1. Google Console の Create credentials ページに移動してください。

    2. アプリケーションの種類を Web

      アプリケーションの種類の選択画面
    3. Click Create

      Web client creation form with Create button at bottom
    4. Copy the client ID, you’ll use this as the webClientId in your JS/TS code

      Client ID details showing Web client ID to copy
  3. Modify your MainActivity

    1. Please open your app in Android Studio. You can run cap open android

    2. Find MainActivity.java

      1. Open the app folder

        App folder in Android Studio project navigator
      2. Find java

        JavaフォルダのAndroid Studioプロジェクト構造
      3. __CAPGO_KEEP_0__を探して MainActivity.java とクリックしてください

        MainActivity.javaファイルのパッケージ構造
    3. 変更 MainActivity.java. 以下のcodeを追加してください

      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. エミュレータをテスト用に設定

    1. Go into Device manager and click the plus button

      Device Manager in Android Studio with plus button highlighted
    2. Create a virtual device

      Create Virtual Device button in Virtual Device Configuration
    3. Select any device with a Play Store icon

      Hardware selection showing devices with Play Store support

      As you can see, the pixel 8 supports the Play Store services

    4. Click next

      デバイス作成ウィザードの次のボタン
    5. __CAPGO_KEEP_0__のタイプであることを確認してください Google Play. IT MUST __CAPGO_KEEP_0__のタイプであることを確認してください Google Play

      Google Playのタイプのイメージを表示するシステムイメージ選択画面
    6. 次のボタンをクリックしてください

      デバイスの確認画面。エミュレータの名前は好きなように設定できます
    7. デバイスの設定を確認する画面。完了ボタンが表示されます

      __CAPGO_KEEP_0__に進んで、シミュレータを起動してください
    8. 仮想デバイスが表示され、プレイボタンが表示されるデバイスマネージャー Device Manager Cloudflare

      Capacitor
    9. After the simulator boots up, go into its __CAPGO_KEEP_0__

      __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ showing settings app
    10. Go into __CAPGO_KEEP_0__ Google Play

    __CAPGO_KEEP_0__ screen with Google Play option
    1. Click __CAPGO_KEEP_0__ Update and wait about 60 seconds
    Google Play update screen with __CAPGO_KEEP_0__ button
  6. Test your application

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

    __CAPGO_KEEP_2__ of Google login flow on Android showing sign-in process and successful authentication

あなたが問題がある場合、以下の情報を参照してください。 Github.

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

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

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

セクション “Google ログイン on Android から続けてください。”

Google ログイン on Android を使用している場合 Google ログイン on Android を計画し、認証とアカウントフローの接続を行うには @capgo/capacitor-social-loginを使用する @capgo/capacitor-social-loginのネイティブ機能のために@capgo/capacitor-social-loginを使用する @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の実装詳細のために@capgo/capacitor-native-biometricを使用する、 2要素認証 2要素認証の実装詳細のために2要素認証を使用する