Prise en charge manquante pour l'indexation des applications Firebase (Android Lint)

149

Je reçois cet avertissement de peluche lors de l'analyse de mon code (Analyser> Inspecter les codes) sur les studios Android.

L'application n'est pas indexable par la recherche Google; envisagez d'ajouter au moins une activité avec un remplisseur d'intention ACTION-VIEW. Voir l'explication du problème pour plus de détails.

Qu'est-ce que cet avertissement et comment rendre mon application indexable par la recherche Google? cela semble important pour le référencement, mais je ne trouve aucun détail sur Google.

J'aime aussi savoir comment accéder à l '"Explication du problème" depuis Android Studio.

entrez la description de l'image ici

Éditer:

"L'application n'est pas indexable par la recherche Google" était l'ancien avertissement. Le nouvel avertissement est "Prise en charge manquante pour l'indexation des applications Firebase"

Angel Koh
la source

Réponses:

106

J'ai découvert comment accéder à l '«Explication du problème». Je dois survoler une erreur d'inspection pour afficher l'explication complète du problème en ligne (et appuyer sur Ctrl-F1)

entrez la description de l'image ici

donc le mot clé qui me manque est "liens profonds"!

Voici la page des développeurs Android pour créer des liens profonds "Pour permettre à Google d'explorer le contenu de votre application et permettre aux utilisateurs de saisir votre application à partir des résultats de recherche"

http://developer.android.com/training/app-indexing/deep-linking.html

Voici l'extrait de code expliquant comment créer un lien profond. Je n'ai aucune idée de la façon dont Google peut explorer mon application simplement en l'ajoutant ...

<activity
    android:name="com.example.android.GizmosActivity"
    android:label="@string/title_gizmos" >
    <intent-filter android:label="@string/filter_title_viewgizmos">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/gizmos" />
        <!-- note that the leading "/" is required for pathPrefix-->
        <!-- Accepts URIs that begin with "example://gizmos”
        <data android:scheme="example"
              android:host="gizmos" />
        -->
    </intent-filter>
</activity>

il y a aussi une note qui dit

Note: Intent filters may only contain a single data element for a URI pattern. 
Create separate intent filters to capture additional URI patterns.
Angel Koh
la source
2
Ceci est pour configurer des liens profonds dans votre application. Exemple: si un utilisateur recherche sur mobile un mot-clé spécifique qui correspond à votre site Web / application, il peut directement créer un lien vers votre intention, ce qui peut ouvrir l'activité / la vue spécifique dans votre application. En bref, la recherche permettra aux utilisateurs d'ouvrir directement les applications.
Nagesh Susarla
@NageshSusarla, donc dans l'exemple ci-dessus, est-ce que le mot-clé est "gizmos"?
Angel Koh
6
developer.google.com/app-indexing/android/app contient des informations détaillées à ce sujet. Dans ce cas, tout mot clé qui aboutit à votre page, par exemple example.com/gizmos dans les résultats de recherche, pointera vers cette intention.
Nagesh Susarla
3
Je ne comprends pas, qu'est-ce que je suis censé mettre ??
busuu
6
Devez-vous avoir votre propre site Web à ajouter?
Azurespot
28

En fait, il existe 2 façons de résoudre le problème de "l'application n'est pas indexable par Google".

  1. Ajoutez un lien profond dans l'application comme décrit ci-dessus.
  2. Désactivez simplement l'avertissement de peluche. Parfois, l'application n'est pas publiée sur Google Play, donc des liens profonds ne seront pas nécessaires, etc.

    android {
    defaultConfig {
    // something
    }
    lintOptions {
    disable 'GoogleAppIndexingWarning'
    baseline file("lint-baseline.xml")
    }
    }
    
zkvarz
la source
19

Vous pouvez supprimer l'avertissement en ajoutant le code ci-dessous à l' <intent-filter>intérieur<activity>

        <action android:name="android.intent.action.VIEW" />
Bibin Johny
la source
7

Si vous souhaitez désactiver cet avertissement jusqu'à la fin du développement de votre application ou si vous n'avez pas d'URL Web à ajouter, ajoutez cette ligne dans votre AndroidManifest.xmlfichier.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="com.example.yourappname">

   <application
       ...
       ...
       tools:ignore="GoogleAppIndexingWarning">

          ....

   </application>

</manifest>
Shashanth
la source