web-dev-qa-db-fra.com

Android - L'application d'indexation de l'application Firebase n'apparaît pas dans les suggestions de saisie semi-automatique de Google

J'essaie d'implémenter Firebase App Indexing, alors que la tâche de mise à jour du indexable montre le succès et que l'index apparaît également dans le Dans Apps après la recherche dans Google App. D'après ce que j'ai compris, l'index devrait également apparaître dans les suggestions de saisie automatique lorsque vous effectuez une recherche dans Google App, mais ne s'affiche pas. Je suis le tutoriel de ici . Voici l'extrait de code que j'utilise pour indexer le contenu:

Indexable menuItemToIndex = Indexables.noteDigitalDocumentBuilder()
                            .setName(title)
                            .setText(text)
                            .setUrl(link)
                            .build();

Task<Void> task = FirebaseAppIndex.getInstance().update(menuItemToIndex);

task.addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        Log.d(TAG, "App index updated: " + title);
    }
});

La version de la bibliothèque d’indexation Firebase App que j’utilise est également

compile 'com.google.firebase:firebase-appindexing:10.0.1'

Est-ce qu'il me manque quelque chose? Je teste le Nexus 6P sous Stock 7.1.1 et Google App version 6.9.36.21.arm64.

36
Varun Ramani

Indexables doivent être générés avec le Indexable.Builder , par élément (ce qui suggère une boucle) ... alors que le DigitalDocumentBuilder est une implémentation assez spécifique cela, en particulier pour les documents numériques.

Indexable recipe = new Indexable.Builder()
    .setName("Brownie Recipe")
    .setUrl("//acme.com/recipes/12345678")
    .build();

FirebaseAppIndex.getInstance().update(recipe);

le tutoriel (et la question) apparaît un peu daté; la version actuelle est 11.0.2.

aussi com.google.Android.gms: play-services-appindexing est requis.

3
Martin Zeitler

Après avoir mis à jour les éléments comme vous l'avez fait, vous devez également créer une action d'affichage correspondante avec la même URL que celle utilisée pour mettre à jour l'élément, comme dans l'application de recette, avant qu'elle ne s'affiche en mode de complétion automatique.

FirebaseUserActions.getInstance().start(Actions.newView(item.getTitle(),"http://example.com/item?id=5"))
1
sbaar