1

我正在开发 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

在调用 login 函数的那一刻,使用 msg 调用错误回调

SignInResult is null

. 但是在设备中,会显示 Google 帐户创建弹出窗口,当我点击我的帐户时,既不会调用成功回调也不会调用失败回调。

我使用以下命令安装了插件

ionic plugin add cordova-plugin-googleplus

4

3 回答 3

1

我的问题是因为我使用cordova-plugin-background-mode.

如果您也在使用cordova-plugin-background-mode,请在您的

config.xml 项目的文件。

<preference name="AndroidLaunchMode" value="singleTop" />
于 2017-08-14T23:35:57.447 回答
0

这发生在身份验证服务器返回 NULL 时。

确保您已将证书指纹添加到项目中

如果没有,请转到\Users\{username}\.android(在 Windows 上)

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

这将显示您的证书指纹。复制SHA1指纹并将其添加到您的 firebase 项目设置中(选择项目 > Cog 图标 > 项目设置)

这应该可以解决问题。

于 2019-01-10T18:32:56.397 回答
0

我得到了相同的 Google Plus“SignInResult 为空”错误,但显示用户设备谷歌帐户弹出行为。在我的 Ionic v1 应用程序中

在我的情况下,使用 Angular Material Library 导致了这个问题。

原来 Angular Material 与下面的 Ionic 链接存在一些已知的集成问题: https ://material.angularjs.org/1.1.5/getting-started

于 2018-01-02T11:31:22.730 回答