更新记录
V1.0.91(2022-08-11)
新增AuthCode返回,新增Scope授权
V1.0.9(2022-08-10)
修复登录报错的问题
V1.0.8(2022-08-08)
新增可选scope授权和serverClientID授权
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
JY-GoogleSignin插件使用说明
如果有问题或者其他需求(如新增方法等),可联系我处理;
如果有其他原生插件需要定制开发,也可以联系我开发。
我的QQ是:374850759 (加好友麻烦备注:JY-GoogleSignin插件(谷歌登录))
注意:
插件示例工程,所有的方法都是做的按钮点击事件,具体的方法调用是按照自己业务来进行; 使用插件前,请先到第三方里面注册账号、创建应用,才能拿到后续插件里面使用的client_id
一、插件使用流程(原生插件调试,都需要自定义基座)
1.项目配置JY-GoogleSignin插件 a.找到项目manifest.json,APP原生插件配置 b.勾选JY-GoogleSignin(有试用和已购买两种方式,如果前期调试,建议试用,没问题了再购买) c.保存一下代码(有的时候HBX有bug,所以建议保存一下代码)
2.引用原生插件
const JYGoogleSignin = uni.requireNativePlugin('JY-GoogleSignin');
二、iOS特殊配置(如果是测试iOS,请记得一定要先配置这个方法!!!!!)
再确保完成上述的插件引入后,再做此项配置
a.找到项目manifest.json,源码视图,找到这个节点=== app-plus -> distribute -> ios (初始化项目一般只到这个节点,如果没有,可以自己新增) b.新增如下配置 "urltypes" : [ { "urlidentifier" : "com.googleusercontent.apps.746568146308-", "urlschemes" : [ "com.googleusercontent.apps.746568146308-" ] } ] urlidentifier和urlschemes的值为谷歌登录后台Client_id的值,做翻转以后的; (原始的值应该是:77273717237127-****.apps.googleusercontent.com 翻转以后就是:com.googleusercontent.apps.77273717237127-****)
c.保存一下代码(有的时候HBX有bug,所以建议保存一下代码)
三、谷歌登录初始化(其他方法调用前,一定要先调用这个方法!)
再确保完成上述的插件引入后,再调用初始化的方法
JYGoogleSignin.jy_init({
// 安卓的client_id应该是谷歌开发者后台默认Web应用的;iOS的client_id应该是谷歌开发者后台iOS对应的
client_id: "******"
}, res=> {
// 这里不会有返回数据
})
jy_init新增参数serverClient_id/scopes;非必传
serverClient_id 传递一个字符串
scopes 为数组,仅支持传递一个值
例如(按需):
JYGoogleSignin.jy_init({
// 安卓的client_id应该是谷歌开发者后台默认Web应用的;iOS的client_id应该是谷歌开发者后台iOS对应的
client_id: "******",
serverClient_id: "",
scopes: [
"https://www.googleapis.com/auth/drive.file"
]
}, res=> {
// 这里不会有返回数据
})
四、唤起登录页面(iOS/Android)
jy_startLogin
JYGoogleSignin.jy_startLogin(res=> { // 这里会返回登录的结果,如果errorCode = 1,代表错误,可检查msg返回的数据判断;如果errorCode = 0,代表成功,也会在data里面返回登录数据 console.log(JSON.stringify(res)); uni.showToast({ icon:'none', title:JSON.stringify(res) }) })
五、检查登录信息(iOS/Android),登录前应该先检查是否有登录信息,如果有,则可以继续使用
jy_getLastSigned
JYGoogleSignin.jy_getLastSigned(res=> { // 这里会返回登录的结果,如果errorCode = 1,代表未登录;如果errorCode = 0,代表已登录,也会在data里面返回登录数据 console.log(JSON.stringify(res)); uni.showToast({ icon:'none', title:JSON.stringify(res) }) })
六、退出登录
jy_logout
JYGoogleSignin.jy_logout(res=> { // 不会返回数据,调用就成功 })