【问题标题】:How to manually generates google-services.json如何手动生成 google-services.json
【发布时间】:2017-12-19 20:57:14
【问题描述】:

我正在尝试将google-services.json 添加到项目中。在 Android Studio 中,我导航到“项目”视图,并将“google-services.json”添加到“应用”目录。 然后,我打开 'google-services.json' 文件,我对其所做的唯一更改是在 'client' 对象的 'package_name' 属性中添加项目的包名称,如 google-services.json 所示。

根据下面的link-1,它说:

The main result of the JSON processing is to produce two XML files which you can reference as Android resources in your Java code... in

app/build/generated/res/google-services/{build_type}/values/values.xml

AND.

app/build/generated/res/google-services/{flavor}/{build_type}/xml/global_tracker.xml

但就我而言,我只有一个 .xml 文件,如下面的image-1 所示。但是,正如link-1 中所述,可以通过创建 .xml 文件手动生成这些文件。

我参考了link-1 以了解所需的值-请查看image-2-我尝试生成它,但找不到标有?????? 的值。请看下面的missing-values-file

1- 请告诉我如何在missing-values-file 中找到这些标有??????? 的缺失值?

2-GCM生成的server API keySender id的目的是什么?为什么它们没有在missing-values-file部分发布的文件中使用

link-1:here

**link-2:配置文件是从here下载的**

google-services.json: 包含“x”的值实际上是存在的,但出于安全考虑,我删除了它们

{
"project_info": {
"project_number": "119xxx",
"project_id": "defxxx"
},
"client": [
{
  "client_info": {
    "mobilesdk_app_id": "1:1xxx",
    "android_client_info": {
      "package_name": "eu.xxx"
    }
  },
  "oauth_client": [
    {
      "client_id": "119xxx",
      "client_type": 3
    }
  ],
  "api_key": [
    {
      "current_key": "AIzxxx"
    }
  ],
  "services": {
    "analytics_service": {
      "status": 1
    },
    "appinvite_service": {
      "status": 1,
      "other_platform_oauth_client": []
    },
    "ads_service": {
      "status": 1
    }
  }
}
],
"configuration_version": "1"
}

image-1

缺失值文件

<?xml version="1.0" encoding="utf-8"?>
<resources>

<! -- Present in all applications -->
<string name="google_app_id" translatable="false">1:1xxx</string>

<! -- Present in applications with the appropriate services configured -->
<string name="gcm_defaultSenderId" translatable="false">119xxx</string>
<string name="default_web_client_id" translatable="false">119xxxx</string>
<string name="ga_trackingId" translatable="false">??????</string>
<string name="firebase_database_url" translatable="false">???????</string>
<string name="google_api_key" translatable="false">???????</string>
<string name="google_crash_reporting_api_key" translatable="false">???????</string>

</resources>

image-2

需要的值

【问题讨论】:

    标签: android google-cloud-messaging firebase-authentication firebase-cloud-messaging


    【解决方案1】:

    要为您的项目生成配置文件和凭据,请按照creating an API project 中给出的步骤进行操作

    那么,add the configuration file to your project

    Gradle 的 Google 服务插件解析来自 google-services.json 文件的配置信息。通过更新您的顶级build.gradle 和您的应用级build.gradle 文件,将插件添加到您的项目,如下所示:

    1. 将依赖项添加到您的项目级build.gradle

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

    2. 将插件添加到您的应用级build.gradle

      apply plugin: 'com.google.gms.google-services'

    请参阅此相关SO post 以获取更多见解。这个thread 也可能有帮助。

    【讨论】:

      猜你喜欢
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 2016-10-31
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多