web-dev-qa-db-ja.com

Android-Firebase AppIndexingアプリがGoogleオートコンプリートの提案に表示されない

Firebase App Indexingを実装しようとしていますが、indexableを更新するタスクは成功を示しており、インデックスはGoogleアプリで検索した後の[アプリ]タブ。私の理解では、インデックスはGoogleアプリで検索するとオートコンプリートの提案にも表示されるはずですが、表示されません。 ここ からチュートリアルに従っています。以下は、コンテンツのインデックス作成に使用しているコードスニペットです。

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);
    }
});

また、私が使用しているFirebase AppIndexingライブラリのバージョンは

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

足りないものはありますか? Stockで実行されているNexus6Pでテストしています7.1.1およびGoogleAppバージョン6.9.36.21.arm64

37
Varun Ramani

Indexables は、アイテムごとに Indexable.Builder でビルドする必要があります(ループのヒントになります)...一方、 DigitalDocumentBuilder はかなりです特にデジタルドキュメントの場合の特定の実装。

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

FirebaseAppIndex.getInstance().update(recipe);

チュートリアル(および質問)は少し古くなっています。現在のバージョンは11.0.2

またcom.google.Android.gmsplay-services-appindexing 必要とされている。

3
Martin Zeitler

行ったようにアイテムを更新した後、オートコンプリートで表示される前に、レシピアプリの場合と同様に、アイテムの更新に使用したのと同じURLで対応するビューアクションを作成する必要もあります。

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