Это в приложении Ionic 4. Долгое время он работал идеально, и теперь я понимаю, что он просто не работает - без какой-либо подсказки. Итак, вот код:
doGoogleLogin() {
console.log(111);
return new Promise<any>((resolve, reject) => {
if (this.platform.is('cordova')) {
console.log(222);
this.googlePlus.login({
'scopes': '',
'webClientId': environment.google_web_client_id,
'offline': true
}).then((response) => {
console.log(333, response);
const googleCredential = firebase.auth.GoogleAuthProvider.credential(response.idToken);
firebase.auth().signInWithCredential(googleCredential)
.then((user) => {
console.log(444, user);
resolve({
id: user.uid,
originUserId: response.userId,
email: response.email,
first_name: response.givenName,
last_name: response.familyName,
image: response.imageUrl
});
});
}, (err) => {
console.log(err);
reject(err);
});
}
});
}
Соответствующий элемент package.json:
...
"@ionic-native/google-plus": "^5.2.0",
...
"cordova-plugin-googleplus": "^7.0.0",
"cordova-support-google-services": "1.2.1",
...
"cordova-plugin-googleplus": {
"REVERSED_CLIENT_ID": "com.googleusercontent.apps.myid",
"WEB_APPLICATION_CLIENT_ID": "myid.apps.googleusercontent.com",
"PLAY_SERVICES_VERSION": "11.8.0"
},
...
Так что перестал работать не так давно, я не уверен, когда. Что я знаю, так это то, что когда я перешел на Ionic 4, это работало, а сейчас - нет. Но дело в том, что это не дает никакой ошибки вообще! Просто печатает в консоли:
111
222
А потом просто ничего. Нет 333
ни ошибок.