Estoy creando un juego para móviles en Unity, Android primero.

Y ahora estoy integrando análisis de base de fuego.

Después de configurar la información en Firebase Console y poner el archivo google-services.json en el proyecto de Unity, Unity muestra un error que dice:

Project Bundle ID com.RetroSpirit.ToiletRush does not match any bundle IDs in your google-services.json files
This will result in an app that will fail to initialize.

Available Bundle IDs:


You need to either:
* Fix your app's bundle ID under "Player Settings --> Bundle Identifier"
or:
* Add another app to your firebase project
  Goto https://firebase.google.com/docs/unity/setup#add_firebase_to_your_app_1
  and add the new configuration file to your project.

UnityEngine.Debug:LogError(Object)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:LogErrorIfEnabled(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:FindGoogleServicesFile(SortedDictionary`2, String, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:FindGoogleServicesFile(String, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:UpdateJson(Boolean, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:OnPostprocessAllAssets(String[], String[], String[], String[])
UnityEditor.AssetPostprocessingInternal:PostprocessAllAssets(String[], String[], String[], String[], String[])
UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Aquí está la parte de google-services.json,

 "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "*:***********:android:****************",
        "android_client_info": {
          "package_name": "com.RetroSpirit.ToiletRush"
        }
      },
      "oauth_client": [
        {
          "client_id": "***********-********************************.apps.googleusercontent.com",
          "client_type": 1,
          "android_info": {
            "package_name": "com.RetroSpirit.ToiletRush",
            "certificate_hash": "****************************************"
          }

No sé qué debería comprobar.

El ID del paquete del proyecto (el nombre del paquete en Configuración de compilación - Otras configuraciones - Identificación) es exactamente igual que los nombres de paquete en google-services.json.

¿Alguna idea?

1
JinWon Lim 29 sep. 2017 a las 05:00

2 respuestas

La mejor respuesta

Un poco divertida para responderme ...

Encontré la razón del problema accidentalmente. Había algo mal en mi tiempo de ejecución de VC, por lo que generate_xml_from_google_services_json.exe no pudo extraer el nombre del paquete de google-services.json. (¡vc90.crt.manifest no se pudo extraer!)

Desafortunadamente, no pude corregir ese error de tiempo de ejecución a pesar de tantas reinstalaciones de Visual Studio, VC Runtime y .net frameworks. Finalmente reinstalé Windows 10 y el problema simplemente desapareció ... Todavía no sé qué causó este error.

0
JinWon Lim 8 oct. 2017 a las 01:48

Entiendo que ha solucionado esto reinstalando Windows, pero así es como supere este problema en caso de que alguien más se encuentre con esto:

Asegúrate de haber configurado tu nombre de paquete en la configuración del reproductor de Unity ( Editar> Configuración del proyecto> Reproductor> Otras configuraciones> Identificación> Nombre del paquete ).

Establezca el mismo que configuró en Firebase (se parece a com.CompanyName.ProductName).

Asegúrese de haber importado los activos de Firebase a su proyecto de Unity como se describe aquí https://firebase.google .com / docs / unity / setup y que la carpeta Firebase existe en Activos> Firebase . Cambiar la ubicación de esta carpeta parece romper cosas.

0
chrisarton 25 nov. 2017 a las 14:17