38

我正在尝试实现 Firebase App Indexing,而更新可索引的任务显示成功,并且在 Google App 中搜索后,索引也显示在In Apps选项卡中。据我了解,在 Google App 中搜索时,该索引也应显示在“自动完成建议”中,但未显示。我正在关注这里的教程。以下是我用来索引内容的代码片段:

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 App Indexing 库的版本也是

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

有什么我想念的吗?我正在测试在 Stock7.1.1和 Google App 版本上运行的 Nexus 6P 6.9.36.21.arm64

4

2 回答 2

3

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.gms:play-services-appindexing是必需的。

于 2017-07-25T15:18:36.797 回答
2

像您一样更新项目后,您还需要使用与更新项目相同的 URL 创建相应的视图操作,就像在食谱应用程序中一样,然后它才会出现在自动完成中。

FirebaseUserActions.getInstance().start(Actions.newView(item.getTitle(),"http://example.com/item?id=5"))
于 2018-01-19T01:04:54.373 回答