現在ionicのハイブリットプラットフォームでios,androidのアプリを開発している中でgoogleアカウントでのloginの認証を行なっているところ、
andorid側でloginができない(正確にはloginアカウントの選択をするとsigninページに戻る)現象が起こっています
実機デバックしたことでわかったこととしては
googleLogin() { const self = this; self.googlePlus .logout() .then(res => {}) .catch(err => {}); self.googlePlus .login({ webClientId: self.config.get('WEB_CLIENT_ID') }) .then(res => { let profileData = { lastName: res['familyName'], firstName: res['givenName'], profilePic: res['imageUrl'], email: res['email'], id: res['userId'] }; let socialInfo = { accessToken: res['idToken'], id: res['userId'], profile: profileData }; let userRequestData = { provider: 'Google', lastName: res['familyName'], firstName: res['givenName'], profilePic: res['imageUrl'], socialInfo: socialInfo, platform: self.platform.is('ios') ? 'iOS' : 'Android', deviceToken: window.localStorage.getItem('DeviceToken'), version: self.version }; self.userAPIService .socialLoginUser(userRequestData) .then(ress => { console.log('res', ress); if ('multiple' in ress && ress['multiple']) { self.userEmailService.isFromSignup = false; window.localStorage.removeItem('noEmailFound'); self.event.publish('emailExists', { email: res['email'], userData: userRequestData }); } else { window.localStorage.removeItem('noEmailFound'); let userData = ress['userData']; if ('isWalkThrough' in userData) { if (userData['isWalkThrough']) { self.event.publish('walkThrough'); } else { self.event.publish('loggedIn'); } } else { self.event.publish('loggedIn'); } } }) .catch(error => { let msg = error.error; if (msg.error) { self.utilityService.showAlert(msg.error); } }); }) .catch(err => { console.error('err', err); }); }
最下部のcatchに捕まっているので接続に成功していないと仮定しておりまして原因としては認証のエラーが吐かれていると思いそこ周りなのかどうかなのという点で見ており調べておりますが他に何か知見のある方こういうった情報が欲しいなどありましたら追加で掲載させて頂きますよろしくお願い致します。
追記
こちらですがアプリに設定されていたwebClientIDとgoogle-sevice.json及びGCPに登録されているものが違うものでしてこちらを確認してconfigに設定されているものをgoogle-service.jsonに変更したのですが解決にいたらずです
こちらがgoogleのlogin画面が出て実際に処理を行おうとした際に出てきたlogです
D/CordovaActivity: Incoming Result. Request code = 1552 D/CordovaInterfaceImpl: Sending activity result to plugin I/GooglePlugin: In onActivityResult I/GooglePlugin: One of our activities finished up I/GooglePlugin: Handling SignIn Result I/GooglePlugin: Wasn't signed in D/CordovaActivity: Resumed the activity. W/com.facebook.appevents.AppEventsLogger: activateApp events are being logged automatically. There's no need to call activateApp explicitly, this is safe to remove. D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 10446 : google login error I/chromium: [INFO:CONSOLE(10446)] "google login error", source: file:///android_asset/www/build/main.js (10446) D/SystemWebChromeClient: file:///android_asset/www/build/main.js: Line 10447 : 10 I/chromium: [INFO:CONSOLE(10447)] "10", source: file:///android_asset/www/build/main.js (10447) D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_origin(_o)=auto, firebase_previous_class(_pc)=SignInHubActivity, firebase_previous_id(_pi)=#############firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=###########}]
その際のエラーの取得のコードはこちら
.catch(err => { console.log("google login error"); console.error(err); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。