为了账号安全,请及时绑定邮箱和手机立即绑定

应用程序崩溃时添加谷歌登录火基地

应用程序崩溃时添加谷歌登录火基地

慕桂英3389331 2022-09-22 19:40:35

当我们添加此行时,应用程序崩溃并显示此错误“检查您的Google服务插件配置,未填充default_web_client_id字符串”

该怎么办?我已经尝试了GitHub和堆栈溢出中建议的几乎所有解决方案,但我的问题没有解决。我的项目是使用谷歌登录火库UI,我不知道为什么它现在不起作用。

如果我删除谷歌构建器,那么该应用程序可以正常工作,没有任何问题。new AuthUI.IdpConfig.GoogleBuilder().build()


implementation 'com.firebaseui:firebase-ui-auth:4.3.2'




 dependencies {

        classpath 'com.android.tools.build:gradle:3.3.2'

        classpath 'io.fabric.tools:gradle:1.25.4'

        // NOTE: Do not place your application dependencies here; they belong

        // in the individual module build.gradle files     // in the individual module build.gradle files

       // classpath 'com.google.gms:google-services:3.1.0'

        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

       // classpath 'com.android.tools.build:gradle:3.0.0'

        classpath 'com.google.gms:google-services:4.2.0'

        classpath 'com.google.firebase:firebase-plugins:1.1.5'



    }


查看完整描述

3 回答

?
叮当猫咪

TA贡献1445条经验 获得超12个赞

我认为这是火库控制台中的一个问题。我使用两个不同的 firebase 项目来分离开发和生产环境,今天我开始在生产中收到此错误。


我比较了两个生成的文件,发现我今天生成的文件缺少数组中的另一个对象。google-services.jsonoauth_client


这个工作 - 生成:default_web_client_id


  "oauth_client": [

    {

      "client_id": "blabalbal-blablabal",

      "client_type": 1,

      "android_info": {

        "package_name": "haha",

        "certificate_hash": "ahaha"

      }

    },

    {

      "client_id": "hahah",

      "client_type": 3

    }

  ],

我今天生成了这个,而不是从这个生成的default_web_client_id


  "oauth_client": [

    {

      "client_id": "bababab",

      "client_type": 1,

      "android_info": {

        "package_name": "babab",

        "certificate_hash": "blablbalb"

      }

    }

  ],

因此,有效的那个有这个额外的对象:


  {

      "client_id": "hahah",

      "client_type": 3

   }

其中 位于谷歌云控制台 -> API 和服务 -> 凭据 -> OAuth 2.0 客户端 ID -> “Web 客户端(由 Google 服务自动创建)”client_id


因此,我将该对象粘贴回去作为临时解决方案...


查看完整回答
反对 回复 2022-09-22
?
慕雪6442864

TA贡献1489条经验 获得超5个赞

对我有用的方法如下:

  1. 登录谷歌云控制台

  2. 从左侧菜单中,选择“API 和服务”->凭据

  3. 从网络客户端(由 Google 服务自动创建)中“OAuth 2.0 客户端 ID”部分下复制客户端 ID

  4. 回到安卓工作室,在 -> 值 -> 字符串.xml中创建表单的条目

    <string name="default_web_client_id" translatable="false">XXXXXXX</string>

(其中 XXXXXXX 是您在步骤 3 中从控制台复制的客户端 ID

  1. 重新编译,应用程序现在应该可以正常工作。


查看完整回答
反对 回复 2022-09-22
?
绝地无双

TA贡献1615条经验 获得超4个赞

而不是手动编辑:google-services.json

  1. 从 Google 云控制台生成一个> API 和服务>凭据> OAuth 2.0 客户端 ID。请务必选择“Web 应用程序”而不是“安卓”。Client ID for Web application

  2. 更新(或添加)您的调试、应用签名以及将证书指纹上传到您的 firebase 设置。SHA-1

  3. 现在,从您的火库设置中下载最新的内容。google-services.json

  4. 项目>应用中的旧应用替换为新应用。google-services.json

  5. 现在构建你的应用。这些步骤将使 Firebase 自动生成一个新的 in,其中包括您手动创建的。Android clientOAuth 2.0Client ID for Web application


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信