1. firebase 연결
https://chobodogfootruler.tistory.com/28
여기 보면서 firebase 설정 중
ios는
https://romeoh.tistory.com/entry/React-Native-Firebase-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0
여기 보는 중
#import <Firebase.h>
이거다 파이어 베이스에서 @import 라 했지만.. # 임
앱 실행해서 연동된거만 ios android 둘 다 확인하고 그 다음은 rn 방법으로 해야 하니까 아래로 고고
2. Usage
https://www.thumbsu.dev/6 (링크 삭제되엉 아래 링크로 대체)
flamingotiger.github.io/frontend/ReactNative/react-native-firebase-google-login/
SHA-1 뽑기 (디버그용)
https://chobodogfootruler.tistory.com/28
=> app -> Tasks -> android -> signingReport를 더블 클릭하면 SHA-1키를 뽑을수 있다.
=> 근데 이게 안먹힐 때도 있어서 android/app 에서
keytool -list -v -keystore debug.keystore
로 얻은 SHA1을 넣어야 할 수도 있다.
그리고 꼭 google-services.json 다시 다운받아서 앱에 적용시키기
2-1. 에러 (xcode 내에서 에러 바로 발견되니 에러나면 여기서 빌드 해보기)
duplicate symbol '_AuthErrorCode_toJSErrorCode' in:
/Users/daheeahn/Library/Developer/Xcode/DerivedData/roubit-casvcbolrczuutfjuvbsrafckcpm/Build/Products/Debug-iphonesimulator/RNFBAuth/libRNFBAuth.a(RNFBAuthModule.o)
/Users/daheeahn/Library/Developer/Xcode/DerivedData/roubit-casvcbolrczuutfjuvbsrafckcpm/Build/Products/Debug-iphonesimulator/RNFirebase/libRNFirebase.a(RNFirebaseAuth.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
@react-native-firebase/auth
@react-native-firebase/app
설치하고 앱 빌드하니까 자꾸 저런 에러 나는거
구글링 해보니 react-native-firebase랑 같이 못쓴다네
https://github.com/react-native-market/firebase-authentication-kit/issues/24
허,,,,, 됐다
-------------------------------------------------------------------------------------------------------------------------
에러) DEVELOPER_ERROR
[현상]
1. 릴리즈 버전 apk에서 구글로그인을 하면 developer_error 가 난다.
2. 플레이스토어에 출시하면 릴리즈 SHA-1을 추가해도 같은 에러가 난다.
[원인]
디버그용 SHA-1만 추가해서
SHA-1이 뭐냐? 파이어베이스에서는 이렇게 설명한다.
SHA-1: 앱에 대한 API 키와 OAuth 2 클라이언트를 만드는 데 사용됩니다
(아마 이게 안맞는듯 싶다. 나같은 경우는 keystore를 중간에 한번 다시 발급해서 그렇고)
보통 디버그용 SHA-1만 추가해놔서 생기는 문제다
2번 Usage 블로그에서 추가한건 디버그용이고, 릴리즈용 SHA-1를 뽑아야한다.
또한 현상2를 해결하기 위해서는 플레이스토어 콘솔 - 앱 - 설정 - 앱 무결성 - 앱 서명 키 인증서 - SHA-1 인증서 지문
도 가져와야 한다.
[해결책]
그래서 SHA 인증서 지문에 2개가 있어야 한다 - 디버그용, 릴리즈용, 플레이스토어용
https://prince-mint.tistory.com/11
이블로그에서 release 인증서 지문 섹션 보면된다.
https://jizard.tistory.com/231
또는 이 블로그 참고.
keytool -list -keystore [keystore경로]
이걸 하고 나온 SHA1을 파이어베이스에 추가해준다!
그러면 이렇게 인증서 지문에 2개3개가 있어야 한다. (사진은 2개인데 3개여야 함)
* google-services.json 다시 다운받아서 앱 내에 넣어준다. 꼭!!
- 또한, 테스트 파이어베이스를 따로 두고 있다면, webClientId도 신경써야함
const FIREBASE_WEB_CLIENT_ID = __DEV__
? '테스트앱 파이어베이스 - 빨간 동그라미 부분'
: '릴리즈앱 파이어베이스 - 빨간 동그라미 부분';
GoogleSignin.configure({
scopes: [],
webClientId: FIREBASE_WEB_CLIENT_ID,
});
이런식으로!
- 그러면 릴리즈된 apk에서도, 플레이스토어에 출시된 apk에서도 구글 로그인 테스트 가능!
-------------------------------------------------------------------------------------------------------------------------
에러) a non recoverable sign in failure occurred
-----
Dev, Release 나눴을 때 둘 다 구글로그인 되도록
REVERSED_CLIENT_ID 을 Dev, Release 버전 둘 다 이렇게 추가하며 ㄴ되지 않을까?
target - Info
Buy Me A Coffee!
https://www.buymeacoffee.com/daheeahn
'Development > React Native' 카테고리의 다른 글
[React Native] 현재 위치 위도/경도 알기 (0) | 2020.04.29 |
---|---|
[React Native] 차트 (0) | 2020.04.17 |
[노마드코더] 초보자를 위한 리덕스 101 (0) | 2020.03.31 |
[React Native] (2021 v3 업데이트) Kakao login 카카오 로그인 구현하기 (36) | 2020.03.28 |
[React Native] 에러 모음 (2) | 2020.03.28 |