Android에서 Google 로그인
이 플러그인에 대한 설치 단계와 전체 마크다운 가이드를 포함한 설정 명령어를 복사하십시오.
이 가이드에서, Android용 Capgo Social Login을 사용하여 Google 로그인을 설정하는 방법을 배울 것입니다. 이 가이드를 읽기 전에 일반 설정 가이드를 이미 읽었다고 가정합니다. 일반 설정 가이드.
Android에서 Google 로그인을 사용하는 방법
제목이 'Android에서 Google 로그인을 사용하는 방법'인 섹션이 부분에서 Android에서 Google 로그인을 설정하는 방법을 배울 것입니다.
-
Create an Android client ID.
-
Click on the search bar
-
Search for
credentialsand click on theAPIs and Servicesone (number 2 on the screenshot)
-
Click on the
create credentials
-
선택
OAuth client ID
-
선택하세요
Android응용 프로그램 유형
-
안드로이드 스튜디오를 열으십시오.
-
네비게이터의 가장 아래 부분에서
Gradle Scripts
-
Gradle Scripts 섹션에서
build.gradle모듈의app
-
복사하십시오.
android.defaultConfig.applicationId. 이 프로젝트에 대한package nameGoogle 콘솔에서
-
터미널을 열어보세요. 당신이 현재 프로젝트 폴더에 있는지 확인하세요.
android프로젝트 폴더에서 터미널을 열고./gradlew signInReport
- 이 명령어의 맨 위로 스크롤을 내보세요. 다음을 확인하세요.
SHA1.
- Google 콘솔로 돌아가세요. 패키지 이름
applicationId인증서 필드에Package NameSHA1을 입력하고create
-
-
Android 웹 클라이언트를 생성하세요 (이것은 Android용이 필요합니다).
-
Go to the
Create credentialsGoogle Console의 -
페이지에서 설정하세요.
Web
-
Web 옵션을 선택하세요.
Create
-
웹 클라이언트 생성 폼에 Create 버튼이 있습니다.
webClientId클라이언트 ID를 복사하세요. 이 값을 JS/TS에서 code로 사용합니다.
-
-
Android Studio에서
MainActivity-
앱을 열어주세요. Android Studio에서 앱을 실행할 수 있습니다.
cap open android -
__CAPGO_KEEP_0__
MainActivity.java-
Open the
appfolder
-
Find
java
-
Find your
MainActivity.java그리고 클릭하여
-
-
Modify
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() {}} -
__CAPGO_KEEP_0__
-
-
Google 로그인 기능을 애플리케이션에 사용하세요
-
먼저 import를 해주세요
SocialLoginimport { SocialLogin } from '@capgo/capacitor-social-login'; -
initialize를 호출하세요. 이 함수는 한 번만 호출해야 합니다.
// 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))
-
-
테스트를 위해 에뮬레이터를 설정하세요.
-
Go into
Device manager에뮬레이터로 들어가서 플러스 버튼을 클릭하세요.
-
가상 장치를 생성하세요.
-
가상 장치 구성에서
Play Store아이콘을 클릭하세요.
보시다시피,
pixel 8는Play Store서비스를 지원합니다. -
클릭
next
-
운영 체제 이미지가
Google Play. IT MUST 의 유형이어야 합니다.Google Play
-
클릭
-
__CAPGO_KEEP_0__를 확인하세요. 에뮬레이터의 이름을 마음대로 지어도 됩니다.
-
__CAPGO_KEEP_0__로 들어가
Device Manager__CAPGO_KEEP_0__를 부팅하세요.
-
__CAPGO_KEEP_0__가 부팅되면 __CAPGO_KEEP_0__로 들어가세요.
-
__CAPGO_KEEP_0__로 들어가
Google Play
- __CAPGO_KEEP_0__을 클릭하세요.
Update__CAPGO_KEEP_0__ 후 약 60초 기다리세요.
-
-
__CAPGO_KEEP_0__
If you did everything correctly, you should see the Google login flow working properly:
Troubleshooting
Android에서 Google 로그인 흐름의 데모입니다. 로그인 프로세스와 인증이 성공적으로 완료됩니다.If you have any issues, first compare your app configuration with the Google Cloud Console values. Android Google Sign-In failures are usually caused by a package name, SHA-1, or client ID mismatch.
Android에서 Google Sign-In 오류는 일반적으로 패키지 이름, SHA-1, 또는 클라이언트 ID가 일치하지 않아 발생합니다.androidx.credentials and Sign in with Google), not the legacy GoogleSignInClient API. Logcat errors such as GetCredentialCustomException: [28444] Developer console is not set up correctly Android에서 이 플러그인은 Google Credential Manager (Google Sign in with Google) 및 legacy를 사용하지 않습니다. 로그캣 오류는 다음과 같은 스택에서 발생합니다. __CAPGO_KEEP_0__.
로그캣 필터링 GoogleProvider 또는 CapgoSocialLogin 로그인 실패 후에. 플러그인은 패키지 이름, 서명 SHA-1, 그리고 가려진 webClientId 이를 Google Cloud 콘솔에서 비교할 수 있도록 합니다.
Google Cloud 설정이 필요합니다.
구성 요소: Google Cloud 설정이 필요합니다.Google Cloud 프로젝트에 두 가지 종류의 OAuth 2.0 클라이언트 ID가 필요합니다.
| 클라이언트 유형 | 사용 | 위치 |
|---|---|---|
| 웹 애플리케이션 | 서버 / ID 토큰 청구자 | webClientId Android에서 하나의 서명 키당 SocialLogin.initialize() |
| Google Cloud Console에서만 확인할 수 있습니다. 이 ID를 | Android 클라이언트 ID를 사용하는 경우 일반적인 실수입니다. Credential Manager는 Web 클라이언트 ID를 요구합니다. Android 클라이언트에는 단지 콘솔에 등록된 올바른 패키지 이름과 SHA-1만 필요합니다. | 테스트 빌드를 위한 각 인증서에 대해 Android OAuth 클라이언트를 하나씩 생성하세요. webClientId |
Debug: webClientIddebug 버전용입니다.
Release: 실제로 설치하는 APK 또는 AAB에서.
- Play App Signing: Play Console > 앱 무결성 > 앱 서명 키 인증서에서 확인하세요. Play Store 빌드에는 업로드 키 SHA-1이 이미 등록되어 있어도 필요합니다.
./gradlew signingReportThe - __CAPGO_KEEP_0__
- __CAPGO_KEEP_1__
__CAPGO_KEEP_2__ applicationId Android OAuth 클라이언트 패키지 이름이 정확히 일치해야 합니다. 패키지 이름의 모든 후치 포함. android/app/build.gradle OAuth 동의 화면이 테스트 모드일 경우, 사용자 > 테스트 사용자에서 테스트하는 모든 Google 계정을 추가하세요. 앱을 프로덕션으로 출시하는 것은 필요하지 않습니다. .debug Google Cloud의 변경 사항은 몇 시간 동안 전파될 수 있습니다.
Error 28444: 개발자 콘솔이 올바르게 설정되지 않았습니다. email 개발자 콘솔 설정이 올바르지 않다는 것은 거의 항상 Google가 설치된 APK 서명 인증서, 패키지 이름, 및 combination을 거부했을 때입니다. profile 이 문제를 해결하기 위해 다음 체크리스트를 참조하세요.assetlinks.jsonscopes.
Digital Asset Links (
)은 Sign in with Google through Credential Manager를 위해 필요하지 않습니다.
andPublishing the app to Production is not required for webClientIdIf the OAuth consent screen is in Testing mode, add every Google account you test with under Audience > Test users.
- 확인
webClientIdWeb 애플리케이션 클라이언트 ID이며.apps.googleusercontent.com. - 앱을 실행하고 실패를 재현한 후 Logcat을 읽어보세요.
GoogleProvider,signingSha1=, 및package=. - In Google Cloud Console > Credentials, Android OAuth 클라이언트를 열고 정확한 패키지 이름과 SHA-1을 확인하세요.
- 릴리즈 빌드 테스트 중인 경우, 디버그 키 스토어의 SHA-1만 등록하지 마세요.
- Play Store를 통해 앱을 배포하는 경우, Play App Signing SHA-1도 등록하세요.
- Web 및 Android 클라이언트는 동일한 Google Cloud 프로젝트에 존재해야 합니다.
- consent 화면이 테스트 중인 경우, Google 계정은 테스트 사용자여야 합니다.
- 콘솔 변경 후 기다리며 다시 시도하세요.
USER_CANCELLED __CAPGO_KEEP_0__
설치한 빌드에서 SHA-1을 추출하세요.
설치한 빌드에서 SHA-1을 추출하세요.debug 빌드의 경우:
cd android && ./gradlew signingReport서명된 릴리스 APK:
keytool -printcert -jarfile android/app/release/app-release.apkAndroid OAuth 클라이언트에 해당 패키지 이름과 일치하는 SHA-1을 추가하고 동일한 서명된 APK를 다시 설치한 후 다시 테스트하세요.
adb install android/app/release/app-release.apk로그인 결과를 읽는 중입니다.
로그인 결과를 읽는 중입니다. 섹션__CAPGO_KEEP_0__ 하위에 __CAPGO_KEEP_1__가 있습니다. result:
const login = await SocialLogin.login({ provider: 'google' });const idToken = login.result?.idToken;Firebase Auth의 경우 __CAPGO_KEEP_0__를 생성하고 __CAPGO_KEEP_1__를 사용하세요. idToken __CAPGO_KEEP_1__를 사용하여 __CAPGO_KEEP_2__를 입력하세요. webClientId __CAPGO_KEEP_2__에 __CAPGO_KEEP_3__가 없으면 개발 SHA-1 인증서를 얻을 수 없습니다. __CAPGO_KEEP_4__를 사용하세요. initialize.
__CAPGO_KEEP_4__는 이ssue 댓글에서 설명합니다. __CAPGO_KEEP_4__를 사용하여 __CAPGO_KEEP_5__를 프로젝트에 추가하세요. __CAPGO_KEEP_5__에서 __CAPGO_KEEP_6__를 계속하세요.
__CAPGO_KEEP_6__ 섹션: __CAPGO_KEEP_6__를 계속하세요.
__CAPGO_KEEP_0__: __CAPGO_KEEP_7__만약 Android에서 Google 로그인을 사용하고 있다면 Android에서 Google 로그인을 사용하는 경우 인증 및 계정 흐름을 계획하고 Using @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login Android에서 사용하는 @capgo/capacitor-social-login의 네이티브 기능을 위해 Using @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_KEEP_0__/__CAPGO_KEEP_1__-native-biometric의 구현 세부 정보를 위해, 그리고 두 요소 인증 __CAPGO_KEEP_0__ 구현 세부 사항입니다.