Вход в Ionic Native GooglePlus завершается без ошибок - PullRequest
0 голосов
/ 09 мая 2018

Я следовал инструкциям от https://ionicframework.com/docs/native/google-plus/.

Я создал Android-клиент в https://console.cloud.google.com/apis/credentials/oauthclient, используя правильный SHA-1 (перепроверен, используя keytool -list -printcert -jarfile <path to your apk>)

Код для входа в систему прост, как в инструкции:

this.googlePlus.login({})
.then(res => console.log(res))
.catch(err => console.error(err));

Однако, это никогда не входит ни в then, ни catch. В консоли не отображается ошибка.

Ионная версия 3.20.0

Cordova версия 7.1.0

Ionic Native GooglePlus 5.3.0

версия телефона Android 5.1.1

cordova-plugin-googleplus 5.3.0

Я провел два дня, Ionic Native Facebook работает нормально, в то время как GooglePlus просто молча терпит неудачу.

Пожалуйста, совет.

ОБНОВЛЕНИЕ 1

Кажется, проблема с cordova-plugin-googleplus, например, когда я меняю GooglePlus.execute на

@Override
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {
    this.savedCallbackContext = callbackContext;
    savedCallbackContext.error(42);
    action = "abracadabra";
    ... //remains unchanged

тогда я вижу в консоли Chrome 42 - это означает, что обработка ошибок не работает должным образом в плагине cordova-plugin-googleplus.

Ответы [ 8 ]

0 голосов
/ 11 августа 2019

У меня такая же проблема с ионным 4.

Следующее изменение исправило мою проблему: -----

до:

cordova.system.library.5=com.google.android.gms:play-services-auth:11.8.0
cordova.system.library.6=com.google.android.gms:play-services-identity:11.8.0

После:

cordova.system.library.5=com.google.android.gms:play-services-auth:15.0.1
cordova.system.library.6=com.google.android.gms:play-services-identity:15.0.1

вы можете найти эти настройки в вашем файле "platform / android / project.properties".

0 голосов
/ 22 мая 2019

дюйм platforms>android>project.properties

изменение:

cordova.system.library.6=com.google.android.gms:play-services-auth:11.8.0
cordova.system.library.7=com.google.android.gms:play-services-identity:11.8.0

до:

cordova.system.library.6=com.google.android.gms:play-services-auth:+
cordova.system.library.7=com.google.android.gms:play-services-identity:+
0 голосов
/ 14 июля 2019

В моем случае я исправил это, изменив значения из сервисов воспроизведения, чтобы они были одинаковыми, потому что использование разных версий вызывает некоторые ошибки

Поэтому я изменяю эти значения

"cordova-plugin-request-location-accuracy": {
        "PLAY_SERVICES_LOCATION_VERSION": "16.+"
      },
      "cordova-plugin-googleplus": {
        "REVERSED_CLIENT_ID": "MY_REVERSED_ID",
        "PLAY_SERVICES_VERSION": "11.8.0"
      },

К

"cordova-plugin-request-location-accuracy": {
        "PLAY_SERVICES_LOCATION_VERSION": "11.8.0"
      },
      "cordova-plugin-googleplus": {
        "REVERSED_CLIENT_ID": "MY_REVERSED_ID",
        "PLAY_SERVICES_VERSION": "11.8.0"
      },

И удалите платформы, www и папку плагинов и выполните команду «ionic cordova build android», и все это работает.

0 голосов
/ 30 марта 2019

В моем случае то же самое происходило, и я пытался почти 1 месяц, и, наконец, мне помогло то, что я удалил папку с плагинами, удалил платформу Android и добавил ее снова. Это сработало для меня. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 13 марта 2019
I  used com.google.android.gms:play-services-auth:11.8.0 but still popup is not coming. No error. it never comes into neither then nor catch. No error is displayed in console.

Tried below code :

<code>
      if (this.platform.is('cordova')) {
        this.googlePlus.login({
          'scopes': '', // optional, space-separated list of scopes, If not included or empty, defaults to `profile` and `email`.
          'webClientId': environment.googleWebClientId, // optional clientId of your Web application from Credentials settings of your project - On Android, this MUST be included to get an idToken. On iOS, it is not required.
          'offline': true
        }).then((response) => {
          const googleCredential = firebase.auth.GoogleAuthProvider.credential(response.idToken);
          firebase.auth().signInWithCredential(googleCredential)
          .then(user => {
            console.log("Firebase success: " + JSON.stringify(user));
            resolve();
        });
        },(err) => {
         console.log("Error in doGoogleLogin " + err);
          reject(err);
        });
      }
</code>
0 голосов
/ 06 ноября 2018

Спасибо героин за ответ. Моя проблема была с:

1) com.google.android.gms: play-services-tagmanager: +

2) com.google.android.gms: play-services-auth: 11.8.0

3) com.google.android.gms: play-services-identity: 11.8.0

То, что я сделал, чтобы исправить это, было предложено героином, но вместо этого я удаляю 11.8.0 для 2) и 3) и просто заменил его на «+». Затем я пошел в config.xml нашел:

имя переменной = "PLAY_SERVICES_VERSION" значение = "11.8.0"

, как предложил героин, затем заменил "11.8.0" на "+". Перекомпилировал и запустил, и теперь гугл плюс снова работает.

0 голосов
/ 09 августа 2018

Я попытался изменить свойства android / project.properties, строки с google_auth и личностью на

cordova.system.library.5=com.google.android.gms:play-services-auth:+ cordova.system.library.6=com.google.android.gms:play-services-identity:+

0 голосов
/ 12 мая 2018

Наконец, была найдена основная причина и решение. Эта проблема возникла из-за того, что Google обновил все модули com.google.android.gms: play- *, и это затронуло все плагины Google для служб cordova.

Если вы используете только плагин Google Plus, то все должно быть хорошо, я думаю.

В другом случае все зависимости в файлах project.properties, plugin.xml в com.google.android.gms:play-* следует заменить на более старую версию 11.8.0:

был

com.google.android.gms:play-services-auth:+

должно быть

com.google.android.gms:play-services-auth:11.8.0

Я знаю, что это лучше назвать обходным путем, но другие решения не работают.

Спасибо, ребята из:

https://github.com/EddyVerbruggen/cordova-plugin-googleplus/issues/492

https://github.com/EddyVerbruggen/cordova-plugin-googleplus/issues/484

https://github.com/EddyVerbruggen/cordova-plugin-googleplus/issues/488

ОБНОВЛЕНИЕ 08.10.2018

После последних обновлений плагин снова не работает. Проблема возникла из-за конфликта версий `` com.google.android.gms: play-services- : `.

Например, com.google.android.gms:play-services-maps:15.0.1, используемый плагином Google Maps, и com.google.android.gms:play-services-auth:11.8.0, используемый плагином Google Plus.

Решение тогда простое:

  1. В config.xml положить <variable name="PLAY_SERVICES_VERSION" value="15.0.1" /> (вместо 15.0.1 может быть более новая / старая версия) для каждого плагина, который использует сервисы воспроизведения - обычно все плагины, связанные со сервисами Google.
  2. В platforms/android/project.properties везде используется для игровых сервисов версия 15.0.1 (здесь должна быть версия, аналогичная пункту 1).
...