Aucun client correspondant n’a été trouvé pour le nom du package (Google Analytics) – plusieurs productFlavors & buildTypes

Le contexte:

J’essaie de configurer Google Analytics pour mon application. (ayant 4 buildTypes personnalisés et plus de quelques productFlavors )

Cela fonctionne très bien lorsque je sélectionne le Build Variant dont le paramètre applicationId défini sur com.my.app.package.name (le nom du package utilisé lors de la génération de google-services.json ). Mais, mes autres versions ont des applications différentes.

J’ai suivi le guide officiel pour le mettre en place.

Erreur que j’obtiens quand une autre variante de construction est sélectionnée dans l’ Build Variants Tab (qui possède un autre applicationId (nom du package) est comme suit:

Erreur: L’exécution a échoué pour la tâche ‘: app: processAllcategoriesDebugfreeGoogleServices’.

Aucun client correspondant n’a été trouvé pour le nom du package ‘com.my.app.package.name.debug’

Explication du message d’erreur:

Dans le nom de la tâche dans le message d’erreur ci-dessus, Debugfree est mon buildType personnalisé et Allcategories est l’un de mes productFlavors .

Je comprends l’erreur et je sais que le nom du paquet est différent de ce que j’ai utilisé lors de la génération du fichier json, mais c’est ce que j’essaie de comprendre.

Problème:

Maintenant, google-services.json réside dans le dossier de l’ app et je ne suis donc pas en mesure de les séparer pour chaque version de produit en les déposant dans le dossier du jeu source spécifique à l’arôme.

Des questions:

  1. Mon byildType personnalisé pour le débogage des suffixes .debug sur l’ applicationId (nom du package). Est-il possible de le faire fonctionner avec google-services.json qui a ma version applicationId (sans le suffixe .debug )
  2. Existe-t-il un moyen de configurer plusieurs variantes de produit dans le même fichier google-services.json sans utiliser des fichiers et des tâches séparés pour copier le fichier requirejs dans le dossier de l’ app . Je sais que cela peut être fait en utilisant la task mentionnée dans cet article . Existe-t-il un moyen plus simple d’avoir un seul fichier ou de choisir le bon fichier en fonction de la configuration progressive?
  3. package_name champ package_name de google-services.json contient le nom de package com.my.app.package.name . Puis-je append plusieurs noms de package manuellement pour toutes les variantes de build? Si oui, comment faire ça? Impossible de trouver des instructions dans les documentations.

Trouvé ceci:

Le fichier google-services.json est généralement placé dans le répertoire app /, mais depuis la version 2.0.0-alpha3 du plug-in, le support a été ajouté pour les types de construction , ce qui rend la structure de répertoire suivante valide:

 app/src/ main/google-services.json dogfood/google-services.json mytype1/google-services.json ... 

La source

Source 2

Vérifiez le nom de votre paquet sur votre google-services.json

Exemple

 "client_info": { "mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145", "android_client_info": { "package_name": "com.my.app.package.name" } 

Assurez-vous que le nom de votre package dans le fichier “google-services.json” est identique au nom du package de vos applications.

J’ai trouvé la solution:

Nous devons créer deux “applications” dans le projet Firebase, puis télécharger le fichier json à partir d’une application (téléchargée depuis l’application aromatisée). Il contiendra les données pour les deux applications. Nous pouvons simplement copier le fichier json dans le répertoire racine de l’application.

Source: https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html

Vous devez placer google-services.json dans app/ dir. Et pour chaque type de construction, il devrait y avoir un accordeur directeur dans le dossier app/src .

Par exemple, si vous avez une version et un débogage:

 app/google-services.json app/src/debug/google-services.json 

Dans tous les fichiers google-services.json, vous devez spécifier le package_name correct en fonction du type de construction.

Par exemple, dans le {com.myapp}.debug débogage, il devrait être comme {com.myapp}.debug

Lorsque vous créez ou mettez à jour le package name Assurez-vous que le nom de votre package est exactement le même [Majuscules et minuscules]

Faites ci-dessous l’étape.

1). Vérifiez applicationId dans le fichier de gradle niveau App,

2). Vérifiez package_name dans votre fichier google-services.json ,

3). Vérifier le package dans votre fichier AndroidManifest

et pour une confirmation complète, le nom de votre répertoire de travail, c.-à-d. (“com.example.app”), est également le même.

Ouvrez votre fichier Google-services.json et recherchez cette section dans le fichier:

 "client": [ { "client_info": { "mobilesdk_app_id": "1:857242555489:android:46d8562d82407b11", "android_client_info": { "package_name": "com.example.duke_davis.project" } } 

Vérifiez si le package est identique au nom de votre package. Le mien était différent, alors je l’ai changé et cela a fonctionné.

Je viens de réagir nativement mais je pense que cela s’applique aussi à cette question. Spécifier.

Dans le fichier android/app/build.gradle recherchez applicationId (dans android , defaultConfig )

et assurez-vous que cette valeur est la même

client[0]client_info.android_client_info.package_name

comme valeur dans google-services.json .

vérifiez si client_id et package_name dans google-services.json ont une valeur correcte en fonction du nom de votre package.

Vous devez append le fichier mentionné dans le répertoire client_id avec le nom du package correspondant dans les client_id et package_name .

Assurez-vous de renommer ApplicationId dans le fichier de gradation après avoir renommé votre package

Si le nom de votre package sur le fichier Google-services.json est correct, accédez au fichier gradle.properties. Puis changez votre APPLICATION_ID = “com.yourpackage.name”

Vous devez également modifier le nom du package dans google-services.json

Si rien ne fonctionnait pour l’un d’entre vous, mon problème était avec un nom de paquet qui ne commençait pas par un «com». changé, maintenant ça marche.

J’espère que cela pourra aider

Je pense que vous avez ajouté le fichier firebase json “google-services” .json avec le nouveau fichier. Assurez-vous de créer un nouveau fichier vérifiez le lien sur la façon de créer le fichier json à partir de FireBase et il devrait correspondre à votre nom de package

Deuxièmement, si vous modifiez le nom du package, utilisez l’option “remplacer dans le chemin” lorsque vous cliquez avec le bouton droit de la souris sur des fichiers lorsque vous sélectionnez un projet dans la liste déroulante. Vous devez rechercher le nom du paquet dans tout le projet et le remplacer!

J’espère que cela t’aides !

Accédez au répertoire de votre projet et créez des dossiers sur le chemin app / src qui porte le nom de vos produits (comme Alpha, Beta, Store ou le nom de votre saveur). puis copiez votre fichier google-services.json dans chaque dossier. N’oubliez pas de modifier le champ “nom_package” sur le fichier google-services.json de chaque produit que vous avez sous-répertoire.

 android { comstackSdkVersion 27 defaultConfig { applicationId "com.package.name" minSdkVersion 19 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } 

assurez-vous que applicationId de Gradle.app est identique au nom de votre paquet. mon problème était ceci et j’ai résolu de cette façon

Tout d’abord, ajoutez un suffixe au package d’application dans Gradle:

 yourFlavor { applicationIdSuffix "yourFlavor" } 

Cela provoquera le nom de votre paquet

 com.domain.yourapp.yourFlavor 

Ensuite, allez dans Firebase sous votre projet actuel et ajoutez-y une autre application Android avec ce nom de paquet.

Remplacez ensuite le fichier google-services.json existant par le nouveau que vous générez avec la nouvelle application.

Ensuite, vous allez vous retrouver avec quelque chose qui a plusieurs sections “client_info”. Donc, vous devriez vous retrouver avec quelque chose comme ça:

 "client_info": { "mobilesdk_app_id": "YOUR APP INFO", "android_client_info": { "package_name": "com.domain.yourapp" } } "client_info": { "mobilesdk_app_id": "YOUR APP INFO - will be different then other app info", "android_client_info": { "package_name": "com.domain.yourapp.yourFlavor" } } 

Je l’ai résolu en créant deux sources, une gratuite et une payante. Ces deux dossiers contiendront le code Java et les fichiers de ressources requirejs, qui seront modifiés en fonction des exigences de la saveur particulière. Par exemple, vous souhaitez supprimer le code AdMob dans le Paid à partir de classes Java et de fichiers de disposition.

J’ai résolu le même problème en re-synchronisant le fichier google-services.json .

Outils> Firebase> Se connecter à Firebase> Sync

J’ai résolu le même problème ici, c’est une solution simple: lorsque vous créez une connexion Firebase , suivez ces instructions:

  • Ajoutez le nom de votre application dans Firebase

  • Ajoutez le nom de votre application (écrivez le même nom, vous utilisez l’application)

  • lorsque FireBase crée un fichier google-services.json , téléchargez- le et collez- le dans votre dossier d’application

  • Synchronisez votre projet Le problème est résolu 🙂

    Je vous remercie

Allez dans le fichier google-services.json et dans la partie client, vérifiez le nom du package et comparez-le avec le nom du package App s’ils sont différents, puis modifiez le nom du package client en fonction du nom du package de l’application.

Fichier google-services.json-> “nom_package”: “com.example.application.tracker”

Nom du package d’application -> package “com.example.application.tracker”;

Cela signifie que votre fichier google-services.json n’appartient pas à votre application (avez-vous téléchargé le fichier google-services.json pour une autre application?) … pour résoudre ce problème, procédez comme suit:

1: Connectez-vous à Firebase et ouvrez votre projet. 2: Cliquez sur l’icône Paramètres et sélectionnez Paramètres du projet. 3: Dans la carte Vos applications, sélectionnez le nom du package de l’application pour lequel vous avez besoin d’un fichier de configuration dans la liste. 4: Cliquez sur google-services.json. Une fois le téléchargement terminé, ajoutez le nouveau fichier google-services.json au dossier racine de votre projet, en remplaçant le fichier existant .. ou supprimez simplement l’ancien. Il est tout à fait normal de télécharger google-services.json pour votre premier projet, puis de supposer ou d’oublier que ce google-services.json spécifique est adapté à votre projet actuel uniquement, car aucun autre n’est associé à un nom de package unique.

Je reçois également ce problème lorsque je change le nom du package de mon application.

Dans votre projet de studio Android, recherchez le fichier “google-services.json”. Ouvrez-le et vérifiez si le nom du package de votre application est identique à celui écrit dans ce fichier.

Le nom du package de votre application et le nom du package écrits dans le fichier “google-services.json” doivent être identiques.

Juste simple Déconnectez-vous d’Android Studio, fermez-le complètement. Rouvrez le studio Android puis reconnectez-vous à Android Studio.

Ensuite, essayez de vous connecter à Firebase depuis l’IDE du studio Android. Cette procédure a fonctionné pour moi.

Il est simple de résoudre ce problème: assurez-vous que le nom du package dans votre fichier app / build.gradle est le même que celui de votre fichier Manifeste. et assurez-vous que le nom du package est correct. Cela devrait résoudre ce problème