her*_*oin 7 cordova ionic-framework google-plus-signin ionic-native ionic3
我按照https://ionicframework.com/docs/native/google-plus/中的说明操作.
我使用正确的SHA-1 在https://console.cloud.google.com/apis/credentials/oauthclient中创建了Android客户端(重新检查使用keytool -list -printcert -jarfile <path to your apk>)
登录代码很简单,如说明:
this.googlePlus.login({})
.then(res => console.log(res))
.catch(err => console.error(err));
Run Code Online (Sandbox Code Playgroud)
然而,它从未进入既不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
Run Code Online (Sandbox Code Playgroud)
然后我在Chrome控制台42中看到 - 这意味着,错误处理在cordova-plugin-googleplus插件中无法正常工作.
her*_*oin 10
最后,找到了根本原因和解决方案.问题发生的原因是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:+
Run Code Online (Sandbox Code Playgroud)
应该
com.google.android.gms:play-services-auth:11.8.0
Run Code Online (Sandbox Code Playgroud)
我知道,这被称为变通方法更好,但没有其他解决方案可行.
谢谢你们:
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插件使用.
解决方案很简单:
config.xmlput <variable name="PLAY_SERVICES_VERSION" value="15.0.1" />(而不是15.0.1可能有更新/更旧的版本)到每个使用播放服务的插件 - 通常所有插件都与Google服务相关.platforms/android/project.properties任何地方都可以使用播放服务版本15.0.1(这里应该与第1点中的版本相同).小智 5
谢谢海洛因的回答。我的问题是:
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
我所做的修正是按照海洛因的建议,但是我删除了2)和3)的11.8.0,只是将其替换为“ +”。然后我进入config.xml,发现:
变量名称=“ PLAY_SERVICES_VERSION”值=“ 11.8.0”
如海洛因建议的,然后将“ 11.8.0”替换为“ +”。重新编译并运行,现在google plus再次运行。
| 归档时间: |
|
| 查看次数: |
4923 次 |
| 最近记录: |