2017-01-14 3 views
33

Я пытаюсь реализовать Firebase индексирования приложения, в то время как задача обновить индексируемой показывает успех и индекс также показана в В Apps вкладки после поиск в приложении Google. Насколько я понимаю, индекс должен также отображаться в Автозаполненных предложениях при поиске в приложении Google, но не показан. Я следую учебнику от here. Ниже приведен фрагмент кода, я использую индексировать содержание:Android - Firebase App Indexing App не отображается в 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); 
    } 
}); 

Также версия библиотеки Indexing Firebase App я использую это

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

я что-нибудь не хватает? Я тестирую Nexus 6P, работающий на складе 7.1.1, и версию приложения для Google 6.9.36.21.arm64.

+1

У меня точно такая же проблема. Я последовал за учебником шаг за шагом, и предложения не появляются. Я проверил базу данных индексирования приложений Firebase в инструментах разработчика Google, и мои объекты есть, но по какой-то причине приложение Google не показывает их. – Kaizie

+1

Можете ли вы проверить обработчик намерений, чтобы URL-адрес был настроен правильно в вашем приложении? Какую схему вы используете для ссылок? –

+1

убедитесь, что глубокие ссылки находятся в правильном формате. Формат URI для глубокой ссылки - android-app: // <имя_пакета>//. – PN10

ответ

2

Indexables необходимо создать с Indexable.Builder, за элемент (который намекает на цикл) ... в то время как DigitalDocumentBuilder является довольно конкретной его реализацией, особенно для цифровых документов.

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

FirebaseAppIndex.getInstance().update(recipe); 
  • ЗАКАНЧИВАТЬ AppIndex документации или

  • построить и запустить AppIndexing Quickstart:

    git clone https://github.com/firebase/quickstart-android.git.

  • Дополнительная информация: Enabling Deep Links for App Content.

учебник (и вопрос) выглядит немного устаревшим; текущая версия - 11.0.2.

также com.google.android.gms: play-services-appindexing не требуется.

+0

'выглядит немного устаревшим. Хорошая шутка. Какой смысл касаться ржавых вопросов?3 года - это много времени в IT –

+0

ну, он был на вершине стека и еще не ответил - и поэтому я объяснил это. не имеют понятия, по каким параметрам они сортируются, часто встречаются вопросы, которые получили «слишком мало внимания». и после него 31 голос и 4 пользователя, это все еще имеет смысл. –

0

После обновления таких элементов, как вы это сделали, вам также необходимо создать соответствующее действие вида с тем же URL-адресом, который вы использовали для обновления элемента, как и в приложении рецепта, прежде чем он появится в автоматическом завершении.

FirebaseUserActions.getInstance().start(Actions.newView(item.getTitle(),"http://example.com/item?id=5")) 
Смежные вопросы