96SEO 2026-06-11 23:00 3
先聊个背景,咱们说说这事儿怎么来的
哈哈,你要是玩uniapp,想在安卓上搞Google登录,那可不是小事。
说实话,hen多小伙伴一上手就卡住别慌,我这儿有点干货。
先别急,咱们先把思路理清楚—— 先准备好Google的OAuth客户端ID,然后在uniapp里装插件,Zui后调接口拿idToken。
顺便插一句,为什么百度不收录?
其实啊,百度爬虫对国外资源的抓取力度不大,加上hen多页面用了SPA框架,渲染出来的内容对它来说是“kan不见”的。
所以Ru果你的网站主要面向国内用户,还想让百度收录,就得Zuo好SSR或者预渲染。
准备工作:Google开发者控制台你得去Google开发者控制台创建一个OAuth 2.0客户端。
记得选“Android”,填入包名和SHA-1指纹。
生成后会得到一个Web端client_id,后面要用到它。
装插件:官方插件改版版这个插件其实是官方的基础上改了点儿。
下面这段代码就是我们要往项目里拷贝的核心:
// 将以下handleSignIn方法替换原有的handleSignIn方法即可
// 原有的代码仅处理了GoogleIdTokenCredential一种情况,没有处理CustomCredential
fun handleSignIn: GoogleLoginSuccess? {
val credential = result.credential
if {
val idToken = credential.idToken
// 验证 Token 并获取用户信息
return getUserFromToken
} else if {
if {
try {
val googleIdTokenCredential = com.google.android.libraries.identity.googleid.GoogleIdTokenCredential.createFrom
return getUserFromToken
} catch {
// console.log
return null
}
}
}
// 处理其他类型的凭证
return null
}
插件使用方式
修改插件代码修复解析失败问题:
在uniapp里调用Google登录#ifdef APP import { googleLogin, googleLogout } from '@/uni_modules/coc-oauth-google' // #endif
function googleLogin_ {
googleLogin({
serverClientId: 'xxxxx.apps.googleusercontent.com', // 必填web端id
success: => {
console.log
copy)
},
fail: => {
console.log
},
complete: => {
console.log
},
})
}
运行后你会kan到类似下面的返回:
{
"loginRes": {
"authResult": {
"openid": "xxx",
"unionid": "xxx"
},
"errMsg": "login:ok"
},
"userInfo": {
"userInfo": {
"headimgurl": "...",
"nickname": "m ds",
"unionid": "xxx",
"openid": "xxx",
"email": "@gmail.com",
...
},
"errMsg": "getUserInfo:ok"
}
}
可惜,这里面没有我们想要的idToken。别急,这正是我们要解决的问题。
真正拿到 idToken 的办法我们得把上面的handleSignIn塞进去,让它把Google返回的凭证解析成idToken。
改完后 登录,就Neng在success回调里kan到:
{
"idToken":"eyJhbGciOiJSUzI1NiIsImtpZCI6Ij...",
"expiresIn":3599,
...
}
这下后端就Neng用它去校验用户身份了。哈,我跟你讲,这一步真的是“翻车”Zui多的一环。
iOS 那边怎么整?好消息是iOS用uniapp官方提供的方法Ke以直接拿到idToken,不需要额外改动。
不过我这里主要讲Android,所以iOS就不多说啦,懂得dou懂。
常见坑 & 小技巧
- 别忘了在Google控制台勾选“Yi批准的重定向 URI”。不然会报invalid_client错误。
- SHA-1指纹一定要和打包时使用的一致,否则登录会一直失败。
- Ru果你用了自定义签名渠道包,要把每个渠道的SHA-1dou加进去。
- 插件里默认只处理GoogleIdTokenCredential,那种CustomCredential你得自己加分支,就像上面代码演示的那样。
- 调试时打开日志,kan一下“Failed to parse GoogleIdTokenCredential”到底是哪一步出问题。
- 别忘了在AndroidManifest里加上INTERNET权限和对应的meta-data,否则网络请求会被拦截。
小感悟说实话,这事儿弄完我dou松了一口气。
哈哈,以前我还以为只要写几行代码就搞定了结果发现背后还有好多细节——权限、签名、客户端ID、插件兼容性……真是“一波三折”。
但只要按部就班走,一步步排查,你也完全Ke以Zuo到!咱就是说只要坚持下来谷歌登录就在手边等着你呢。
CQ:再提一句关于百度收录的问题"为什么百度不收录我的技术博客?"
? 嗯,这跟站点结构、加载速度以及是否使用了SSR有关。 Ru果页面全靠JS渲染,百度爬虫可Neng根本kan不到内容。 解决办法:开启预渲染或服务端渲染,把关键内容写进HTML源码里;再者,多加一些内部链接,让爬虫geng容易遍历;Zui后别忘了提交sitemap给百度站长平台。
#结束语 祝大家玩转uniapp,在安卓端顺利接入Google登录!Ru果还有啥问题,随时来找老铁聊聊哈~😁
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback