안드로이드에서 구글 로그인
이 설정 프롬프트를 복사하여 설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함합니다.
이 가이드에서, Capgo Android용 Social Login을 사용하여 Google 로그인을 설정하는 방법을 배웁니다. 이미 일반 설정 가이드를 읽으셨다고 가정합니다. Android에서 Google 로그인을 사용하는 방법.
일반 설정 가이드
Android에서 Google 로그인 사용하기이 부분에서, Android에서 Google 로그인을 설정하는 방법을 배울 것입니다.
-
Android 클라이언트 ID를 생성하세요.
-
검색 바를 클릭하세요.
-
검색어를 입력하세요.
credentials그리고APIs and Services1번 스크린샷에 표시된 2번을 클릭하세요.
-
클릭하세요.
create credentials
-
선택
OAuth client ID
-
선택한
Android애플리케이션 유형
-
Android Studio 열기
-
네비게이터의 가장 아래 부분에서 Gradle Scripts 섹션을 찾기
Gradle Scripts
-
build.gradle (Module: app) 파일 찾기
build.gradlefor the moduleapp
-
Google Android 플러그인
android.defaultConfig.applicationId이 단계에서 Google Console에package nameGoogle Console에
-
터미널을 열어
android터미널에서 gradlew signInReport 명령어를 실행하세요./gradlew signInReport
- SHA1 인증서 지문이 표시되어야 합니다
SHA1.
- Google Console에
applicationId인증서 필드에 SHA1을 입력하고Package Name클릭하세요create
-
-
Android용 웹 클라이언트를 생성하세요. (이것은 Android용으로 필수입니다.)
-
Google Console의
Create credentials페이지로 이동하세요. -
설정
Web
-
웹 옵션을 강조한 애플리케이션 유형 선택
Create
-
웹 클라이언트 생성 폼에 Create 버튼이 아래쪽에 있습니다.
webClientId클라이언트 ID를 복사하세요. 이 ID를 JS/TS code에서 사용하겠습니다.
-
-
Android용
MainActivity-
Android Studio에서 앱을 열어 주세요. 실행할 수 있습니다.
cap open android -
찾아보기
MainActivity.java-
열기
app폴더
-
찾아보기
java
-
찾아보기
MainActivity.javaMainActivity.java 파일을 찾으세요. 패키지 구조에서 클릭하세요.
-
-
. 다음을 추가하세요. __CAPGO_KEEP_0__.
MainActivity.java. Please add the following codeimport 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 {@Overridepublic 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@Overridepublic void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}} -
파일 저장
-
-
Google 로그인 사용
-
첫 번째로 import를 합니다.
SocialLoginimport { SocialLogin } from '@capgo/capacitor-social-login'; -
초기화 함수를 호출합니다. 이 함수는 한 번만 호출해야 합니다.
// 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',}})}) -
Google 로그인을 호출합니다.
SocialLogin.login. Create a button and run the following code on click.const res = await SocialLogin.login({provider: 'google',options: {}})// handle the responseconsole.log(JSON.stringify(res))
-
-
백엔드에서 데이터를 주고받는 흐름을 위해
-
Google의 리프레시 토큰을 백엔드에 저장하고, 백엔드에서 리프레시하세요.
Device manager테스트를 위해 에뮬레이터를 설정하세요.
-
에뮬레이터를 테스트하기 위해
-
Android Studio의 Device Manager에서 플러스 버튼이 강조되어 있습니다.
Play Storeicon
보시다시피,
pixel 8Play Store 지원을Play Store서비스 -
클릭
next
-
Capgo 빌더 / 네이티브 클라우드 빌드 제품 페이지 (Page/area: Capgo Builder / native cloud build product page).
Google Play. OS 이미지가 IT MUSTGoogle Play
-
Google Play 유형 이미지를 보여주는 시스템 이미지 선택
-
장치 확인을 위해, 에뮬레이터 이름을 원하는 대로 지어보세요
-
시뮬레이터로
Device Manager시뮬레이터를 부팅하세요
-
시뮬레이터가 부팅되면, 설정으로 가보세요
-
설정으로
Google Play
- 클릭하세요
Update약 60초 동안 기다려보세요
-
-
애플리케이션을 테스트하세요.
모든 것을 올바르게 수행했으면, 구글 로그인 흐름이 올바르게 작동되어야 합니다:
문제 해결
문제 해결문제가 발생하면, 구글 클라우드 콘솔의 앱 구성과 값을 비교하세요. 안드로이드 구글 로그인 실패는 일반적으로 패키지 이름, SHA-1, 또는 클라이언트 ID가 일치하지 않아 발생하는 경우입니다.
인증 관리자, SHA-1, 및 파이어베이스
인증 관리자, SHA-1, 및 파이어베이스안드로이드에서 이 플러그인은 구글 인증 관리자 (구글 로그인과 함께)를 사용합니다. (구글 로그인과 함께) legacy 플러그인 대신에androidx.credentials __CAPGO_KEEP_0__. 로그캣 오류 GoogleSignInClient API. GetCredentialCustomException: [28444] Developer console is not set up correctly 그것에서 오는 것입니다.
로그캣 필터링 GoogleProvider 또는 CapgoSocialLogin Capacitor 라이브 업데이트 대안 비교 페이지에서 HTML 텍스트 조각입니다. (부모 키 `alternatives_cta_questions`). 페이지/영역: Capacitor live-update 대안 비교 페이지. 역할: 장기적인 마케팅 또는 법률 문단. 표시되는 곳: 페이지 alternatives.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지하십시오. 메시지 키 `alternatives_cta_questions` (대안 CTA 질문). | Appflow 비교/이동 마케팅 복사본. 역할: 장기적인 마케팅 또는 법률 문단. 표시되는 곳: 페이지 ionic-appflow.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지하십시오. 메시지 키 `appflow_cta_questions` (Appflow CTA 질문). | Capawesome 비교 페이지. 역할: 장기적인 마케팅 또는 법률 문단. 표시되는 곳: 페이지 capwesome.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지하십시오. 메시지 키 `capwesome_cta_questions` (Capwesome CTA 질문). | HTML 텍스트 조각은 더 긴 Capgo UI 문자열 (부모 키 `consulting_faq_subtitle`). 페이지/영역: 컨설팅 서비스 페이지. 역할: 섹션 서브 타이틀 또는 태그 라인. 표시되는 곳: 페이지 consulting.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지하십시오. 메시지 키 `consulting_faq_subtitle` (컨설팅 FAQ 서브 타이틀). | Appflow 비교/이동 마케팅 복사본. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 표시되는 곳: 페이지 ionic-appflow.astro, 페이지 ionic-enterprise-plugins.astro, 페이지 solutions/ionic-enterprise-plugins.astro. 메시지 키 `appflow_plugins_or` (Appflow 플러그인 또는). webClientId 실패한 로그인 후에. 플러그인은 패키지 이름, 서명 SHA-1, 그리고 가려진
그것들을 Google Cloud Console에서 비교할 수 있도록.
필수 Google Cloud 설정필수 Google Cloud 설정
| Google Cloud 프로젝트에서 동일한 프로젝트에 두 가지 종류의 OAuth 2.0 클라이언트 ID가 필요합니다: | 클라이언트 유형 | 사용하는 곳 |
|---|---|---|
| 설치 위치 | 서버 / ID 토큰 청중 | webClientId in SocialLogin.initialize() |
| 안드로이드, 한 개의 서명 키당 | Google이 당신의 APK가 Google을 호출할 수 있는지를 증명한다. | Google Cloud Console에서만. 이 ID를 webClientId |
A 일반적인 실수는 Android 클라이언트 ID를 webClientId에서 사용하는 것입니다. Credential Manager는 Web 클라이언트 ID가 필요합니다. Android 클라이언트는 단지 올바른 패키지 이름과 SHA-1이 콘솔에 등록되어 있는 경우에만 필요합니다.
당신이 테스트하는 빌드에 서명하는 각 인증서에 대해 하나의 Android OAuth 클라이언트를 생성하세요:
- Debug:
./gradlew signingReport데버그 빌드용으로. - Release: 실제로 설치하는 APK 또는 AAB에서.
- Play App Signing: Play Console > 앱 무결성 > 앱 서명 키 인증서에서. Play Store 빌드용으로 필요합니다. 당신의 업로드 키 SHA-1이 이미 등록되어 있는 경우에도.
The applicationId 내 android/app/build.gradle 구글 소셜 로그인 플러그인은 Android OAuth 클라이언트 패키지 이름과 일치해야 합니다. 패키지 이름은 포함하여 정확히 일치해야 합니다. .debug suffix.
구글 OAuth 동의 화면이 테스트 모드일 경우, 테스트 사용자 > 테스트 사용자 목록에 테스트하는 모든 구글 계정을 추가하세요. 앱을 프로덕션으로 출시하는 것은 필수적이지 않습니다. email 그리고 profile scopes. 디지털 자산 링크 (Digital Asset Links)assetlinks.json)은 구글로 로그인하기를 통해 Credential Manager를 사용할 때 인증 정보가 필요하지 않습니다.
구글 클라우드 변경 사항은 몇 시간 동안 전파될 수 있습니다.
에러 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다.
구글 소셜 로그인 플러그인 에러 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다.이 경우 거의 항상 Google이 설치된 APK 서명 인증서, 패키지 이름 및 combination을 거부하는 것을 의미합니다. webClientId. 이 체크리스트를 따라해 보세요:
- 확인
webClientIdWeb 애플리케이션 클라이언트 ID가 맞고 끝에.apps.googleusercontent.com. - 앱을 실행하고 실패를 재현한 후 Logcat에서
GoogleProvider,signingSha1=, 그리고package=. - Google Cloud Console > > Android OAuth 클라이언트를 열고 정확한 패키지 이름과 SHA-1을 확인하세요.
- 릴리스 빌드를 테스트하는 경우, 디버그 키 스토어만 등록하는 것이 아니라, 그 빌드의 SHA-1을 등록하세요.
- 릴리스 빌드를 Play Store를 통해 배포하는 경우, 또한 Play App Signing SHA-1을 등록하세요.
- Web과 Android 클라이언트가 동일한 Google Cloud 프로젝트에 존재하는지 확인하세요.
- consent 화면이 테스트 모드일 경우, Google 계정이 테스트 사용자인지 확인하세요.
- 재시도 후 콘솔 변경
USER_CANCELLED 구성 오류로 인해 디버그 빌드에서 계정을 선택한 후에도 SHA-1 또는 클라이언트 ID 불일치가 발생할 수 있습니다. 위의 콘솔 설정을 먼저 수정하세요.
설치한 빌드에서 SHA-1을 추출하세요
설치한 빌드에서 SHA-1을 추출하세요디버그 또는 로컬 빌드:
cd android && ./gradlew signingReport서명된 릴리스 APK:
keytool -printcert -jarfile android/app/release/app-release.apkSHA-1을 Android OAuth 클라이언트에 추가하고 패키지 이름이 일치하는 동일한 서명 APK를 다시 설치한 후 다시 테스트하세요:
adb install android/app/release/app-release.apk로그인 결과 읽기
로그인 결과 읽기 섹션토큰은 다음과 같이 중첩되어 있습니다. result:
const login = await SocialLogin.login({ provider: 'google' });const idToken = login.result?.idToken;파이어베이스 인증을 위한 인증서를 생성할 때 사용하세요. idToken 웹 클라이언트 ID를 사용하세요. webClientId 만약 개발 SHA-1 인증서를 얻을 수 없다면, 커스텀 키 스토어를 사용하세요. initialize.
이 이슈 댓글 이 프로젝트에 키 스토어를 추가하는 방법을 설명합니다. Google Android 로그인에서 계속 진행하세요.
Keep going from Google Login on Android
구글 로그인(안드로이드)에서 계속하기Google 로그인(안드로이드)를 사용 중이라면 Google 로그인(안드로이드) 인증 및 계정 흐름을 계획하고, Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-social-login Using @capgo/capacitor-passkey Using @capgo/capacitor-passkey Using @capgo/capacitor-native-biometric Using @capgo/capacitor-native-biometric Using @capgo/capacitor-native-biometric 두 단계 인증 두 단계 인증 구현에 대한 구체적인 정보입니다.