2017-01-14 4 views
33

Próbuję zaimplementować Firebase indeksowania aplikacji, natomiast zadaniem zaktualizować wiertła pokazuje sukces i indeks jest również pokazany na w aplikacjach zakładka po wyszukiwanie w aplikacji Google. Z tego co rozumiem, indeks powinien również pojawić się w Automatycznych kompletnych sugestiach podczas wyszukiwania w aplikacji Google, ale nie jest wyświetlany. Śledzę samouczek od here. Poniżej znajduje się fragment kodu używam do spisu treści:Android - Firebase Indeksowanie aplikacji App nie pokazując w google sugestie autouzupełniania

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

Również wersja indeksowania biblioteki Firebase App używam jest

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

Czy coś mi brakuje? Testuję na Nexusie 6P działającym na magazynie 7.1.1 i wersji Google Apps 6.9.36.21.arm64.

+1

Mam dokładnie ten sam problem. Skorzystałem z samouczka krok po kroku, a sugestie nie pojawiają się. Sprawdziłem indeks DB bazy danych Firebase w narzędziach programistycznych Google, a moje elementy tam są, ale z jakiegoś powodu aplikacja Google ich nie wyświetla. – Kaizie

+1

Czy możesz sprawdzić, czy procedura obsługi intencji dla adresu URL jest poprawnie skonfigurowana w Twojej aplikacji? Jakiego schematu używasz dla linków? –

+1

upewnij się, że głębokie linki są w odpowiednim formacie. Format URI dla precyzyjnego linku to - aplikacja na Androida: // //. – PN10

Odpowiedz

2

Indexables musi być zbudowana z Indexable.Builder, za sztukę (która wskazówki dla pętli) ... natomiast DigitalDocumentBuilder jest dość specyficzna realizacja nim, zwłaszcza dla dokumentów cyfrowych.

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

FirebaseAppIndex.getInstance().update(recipe); 

samouczek (i pytanie) pojawia się trochę przestarzałe; obecna wersja to 11.0.2.

wymaga również com.google.android.gms: play-services-appindexing.

+0

'pojawia się trochę przestarzały'. Dobry żart. Jaki jest sens dotykania zardzewiałych pytań?3 lata to piekło czasu w IT –

+0

cóż, to było na szczycie stosu i jeszcze nie udzielono odpowiedzi - więc wyjaśniłem to. nie mają pojęcia, przez jakie parametry są sortowane, często widziane pytania, które otrzymały "zbyt mało uwagi". z 31 głosami oddanymi i 4 użytkownikami po nim, to nadal ma sens. –

0

Po zaktualizowaniu elementów, takich jak wykonane, należy również utworzyć odpowiednią akcję widoku z tym samym adresem URL, którego użyto do aktualizacji elementu, tak jak w aplikacji do receptury, zanim pojawi się ona w autouzupełnianiu.

FirebaseUserActions.getInstance().start(Actions.newView(item.getTitle(),"http://example.com/item?id=5")) 
Powiązane problemy