Ошибка: cordova-plugin-googleplus — SignInResult имеет значение null

Я работаю над приложением Ionic 2. Я использую EddyVerbruggen/cordova-plugin-googleplus для входа в Google.

Он хорошо работает с моим проектом со следующими подключаемыми модулями:

[ ~/projects/ionic/grmobile ]$ ionic plugins list
cordova-plugin-app-event 1.2.0 "Application Events"
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.6 "Console"
cordova-plugin-device 1.1.5 "Device"
cordova-plugin-googleplus 5.1.1 "Google SignIn"
cordova-plugin-network-information 1.3.2 "Network Information"
cordova-plugin-splashscreen 4.0.2 "Splashscreen"
cordova-plugin-statusbar 2.2.2 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
de.appplant.cordova.plugin.local-notification 0.8.4 "LocalNotification"
info.protonet.imageresizer 0.1.1 "Image Resizer"
ionic-plugin-keyboard 2.2.1 "Keyboard"

Но это не работает с тем же кодом со следующими плагинами:

[ ~/projects/ionic/grmobile ]$ ionic plugin list
cordova-plugin-app-event 1.2.0 "Application Events"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-background-mode 0.7.2 "BackgroundMode"
cordova-plugin-badge 0.7.4 "Badges"
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.6 "Console"
cordova-plugin-device 1.1.5 "Device"
cordova-plugin-facebook4 1.7.4 "Facebook Connect"
cordova-plugin-file 4.3.2 "File"
cordova-plugin-file-transfer 1.6.2 "File Transfer"
cordova-plugin-firebase 0.1.19 "Google Firebase Plugin"
cordova-plugin-google-analytics 1.7.5 "Google Universal Analytics Plugin"
cordova-plugin-googleplus 5.1.1 "Google SignIn"
cordova-plugin-inappbrowser 1.7.0 "InAppBrowser"
cordova-plugin-network-information 1.3.2 "Network Information"
cordova-plugin-splashscreen 4.0.2 "Splashscreen"
cordova-plugin-statusbar 2.2.2 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.6 "SocialSharing"
de.appplant.cordova.plugin.local-notification 0.8.4 "LocalNotification"
info.protonet.imageresizer 0.1.1 "Image Resizer"
ionic-plugin-keyboard 2.2.1 "Keyboard"

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

Мой код:

window.plugins.googleplus.login({}, function(successMsg) {
  console.log(successMsg);
}, function(errorMsg) {
  console.log(errorMsg);
});

Со вторым набором плагинов вход всегда завершается с ошибкой со следующим сообщением:

SignInResult is null

В тот момент, когда вызывается функция входа в систему, обратный вызов ошибки вызывается с помощью msg

SignInResult is null

. Но на устройстве отображается всплывающее окно создания учетной записи Google, и когда я нажимаю на свою учетную запись, не вызывается ни обратный вызов успеха, ни обратный вызов отказа.

Я установил плагин с помощью следующей команды

ionic plugin add cordova-plugin-googleplus


person saiy2k    schedule 15.03.2017    source источник


Ответы (3)


Моя проблема заключалась в том, что я использую cordova-plugin-background-mode.

если вы тоже используете cordova-plugin-background-mode, добавьте строку ниже в свой

файл проекта config.xml.

<preference name="AndroidLaunchMode" value="singleTop" />
person noam aghai    schedule 14.08.2017

Я получил ту же ошибку Google Plus «SignInResult is null», но показываю поведение всплывающего окна учетной записи Google на пользовательском устройстве. в моем приложении Ionic v1

В моем случае использование библиотеки материалов Angular вызывало проблему.

Оказывается, у Angular Material есть некоторые известные проблемы интеграции с Ionic, ссылка ниже: https://material.angularjs.org/1.1.5/getting-started

person vijeth.ag    schedule 02.01.2018

Это происходит, когда сервер авторизации возвращает NULL.

Убедитесь, что вы добавили отпечатки пальцев сертификата в проект

Если нет, перейдите к \Users\{username}\.android (в Windows)

keytool -exportcert -list -v -alias androiddebugkey -keystore debug.keystore  

Это покажет отпечатки пальцев вашего сертификата. Скопируйте отпечаток пальца SHA1 и добавьте его в настройки вашего проекта Firebase (выберите «Проект» > «Значок шестеренки» > «Настройки проекта»).

Это должно решить проблему.

person Deepak Thomas    schedule 10.01.2019