안드로이드에서 구글 로그인
이 설정 프롬프트를 복사하여 설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함합니다.
이 가이드에서, Google 로그인과 Capgo Android용 Social Login을 설정하는 방법을 배울 것입니다. 이미 일반 설정 가이드를 읽으셨다고 가정합니다. Android에서 Google 로그인을 사용하는 방법.
일반 설정 가이드
Android에서 Google 로그인 사용하기이 부분에서, Android에서 Google 로그인을 설정하는 방법을 배울 것입니다.
-
Android 클라이언트 ID를 생성하세요.
-
검색 바를 클릭하세요.
-
검색하세요.
credentials그것을 클릭하세요.APIs and Services스크린샷의 두 번째 항목 (번호 2)
-
그것을 클릭하세요.
create credentials
-
선택
OAuth client ID
-
선택한
Android응용 프로그램 유형
-
Android Studio를 열기
-
네비게이터의 가장 아래쪽에서
Gradle Scripts
-
모듈
build.gradlebuild.gradle (모듈: 앱) 파일을 Gradle Scripts 섹션에서 찾기app
-
Google 로그인 플러그인
android.defaultConfig.applicationId이 값을 복사하세요.package name이 값은 Google 콘솔에서 사용됩니다.
-
Build.gradle 파일을 열어보세요.
android터미널을 열어보세요. 현재 폴더가 앱 폴더인지 확인하세요../gradlew signInReport
- 이 명령어의 맨 위로 스크롤을 내보세요.
SHA1.
- Google 콘솔로 돌아가보세요.
applicationId이메일 주소Package Name인증서create
-
-
Android용 웹 클라이언트를 생성하세요 (이것은 Android용으로 필요합니다).
-
Google Console의
Create credentials페이지로 이동하세요. -
Google Console에서
Web
-
선택된 Web 옵션을 강조합니다.
Create
-
웹 클라이언트 생성 폼에 Create 버튼이 아래쪽에 있습니다.
webClientId클라이언트 ID를 복사하세요. 이 ID를 JS/TS code에서 사용하겠습니다.
-
-
Android 앱을
MainActivity-
Android Studio에서 앱을 열어 주세요. 실행할 수 있습니다.
cap open android -
찾아보기
MainActivity.java-
열기
app폴더
-
찾아보기
java
-
찾아보기
MainActivity.java그리고 클릭하세요
-
-
수정
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 {@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',}})}) -
앱플로우와 카프고의 차이점을 비교할 때, 카프고의 초기화 함수를 호출합니다.
SocialLogin.login. 버튼을 만들고 클릭 시 code를 실행합니다.const res = await SocialLogin.login({provider: 'google',options: {}})// handle the responseconsole.log(JSON.stringify(res))
-
-
플러스 버튼을 클릭하세요
-
Android Studio의 디바이스 매니저에서 플러스 버튼이 강조된 상태로
Device manager가상 디바이스를 생성하세요
-
어떤 디바이스라도 선택하세요
-
__CAPGO_KEEP_0__
Play Storeicon
보시다시피,
pixel 8지원합니다Play Store서비스 -
클릭
next
-
OS 이미지가
Google Play. IT MUST 유형이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`). 페이지/영역: Appflow 비교/이동 마케팅 복사본. 역할: 장기 마케팅 또는 법률 문단. 본문 키 `alternatives_cta_questions` (대안 CTA 질문). | Appflow 비교/이동 마케팅 복사본. 페이지/영역: Appflow 비교/이동 마케팅 복사본. 역할: 장기 마케팅 또는 법률 문단. 본문 키 `appflow_cta_questions` (Appflow CTA 질문). | Capawesome 비교 페이지. 페이지/영역: Capawesome 비교 페이지. 역할: 장기 마케팅 또는 법률 문단. 본문 키 `capwesome_cta_questions` (Capwesome CTA 질문). | HTML 텍스트 조각. 페이지/영역: 컨설팅 서비스 페이지. 역할: 섹션 서브 타이틀 또는 태그 라인. 본문 키 `consulting_faq_subtitle` (컨설팅 FAQ 서브 타이틀). | Appflow 비교/이동 마케팅 복사본. 페이지/영역: Appflow 비교/이동 마케팅 복사본, Appflow Enterprise 플러그인 페이지, 솔루션/ Appflow Enterprise 플러그인 페이지. 본문 키 `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이 이미 등록되어도 필요합니다.
Google Android OAuth 인증 클라이언트 패키지 이름이 반드시 정확히 일치해야 합니다. 패키지 이름에 포함된任何 접미사도 포함해야 합니다. applicationId 테스트 모드인 OAuth 동의 화면이 있는 경우, 사용자 > 테스트 사용자에서 테스트하는 모든 Google 계정을 추가하세요. 앱을 프로덕션으로 출시하는 것은 필수적이지 않습니다. android/app/build.gradle 페이지/영역: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 위치: trust.astro 페이지. 메시지 키 `and` (And). .debug Google Cloud의 변경 사항은 몇 시간이 걸릴 수 있습니다.
오류 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다. email 제목: 오류 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다. profile 설치된 APK 서명 인증서, 패키지 이름, 및 Google이 거부한 combination이 거의 항상 의미합니다.assetlinks.json페이지/영역: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 위치: trust.astro 페이지. 메시지 키 `and` (And).
Google Android OAuth 인증 클라이언트 패키지 이름이 반드시 정확히 일치해야 합니다. 패키지 이름에 포함된任何 접미사도 포함해야 합니다.
Google Cloud의 변경 사항은 몇 시간이 걸릴 수 있습니다.
오류 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다.제목: 오류 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다. webClientId. 앱을 개발하는 데 필요한 사항을 확인하세요:
- 확인
webClientId은 웹 애플리케이션 클라이언트 ID로 끝나며.apps.googleusercontent.com. - 앱을 실행하고 실패를 재현한 후 Logcat을 읽어보세요.
GoogleProvider,signingSha1=, 그리고package=. - Google Cloud Console > Credentials 에서 앱을 열고 정확한 패키지 이름과 SHA-1을 확인하세요.릴리스 빌드를 테스트하는 경우, 디버그 키 스토어만 등록하는 것이 아니라 릴리스 빌드의 SHA-1을 등록하세요.
- Play Store를 통해 앱을 배포하는 경우, 또한 Play App Signing SHA-1을 등록하세요.
- 웹 애플리케이션과 안드로이드 클라이언트가 동일한 Google Cloud 프로젝트에 존재해야 합니다.
- consent 화면이 테스트 모드일 경우, Google 계정이 테스트 사용자인지 확인하세요.
- __CAPGO_KEEP_0__
- 재시도 후 콘솔 변경
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
Android에서 Google 로그인 계속하기Google 로그인 Android를 사용 중이라면 Google 로그인 Android 인증 및 계정 흐름을 계획하고 연결하려면 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-social-login 두 단계 인증 두 단계 인증 구현에 대한 구체적인 정보입니다.