Si actualmente usas una versión de la API de Firebase App Indexing anterior a la 10.0.0 y quieres cambiarte a la versión más reciente, sigue estos pasos.
Antes de comenzar, asegúrate de haber agregado Firebase a la app.
Actualiza la biblioteca de indexación de aplicaciones
Ve a la secuencia de comandos build.gradle de la app y agrega la siguiente dependencia:
dependencies { ... implementation 'com.google.firebase:firebase-appindexing:19.1.0' ... }
Actualiza las importaciones en tu actividad
// Beforeimport com.google.android.gms.appindexing.Action; import com.google.android.gms.appindexing.AppIndex; import com.google.android.gms.common.api.GoogleApiClient;// After import com.google.firebase.appindexing.Action; import com.google.firebase.appindexing.FirebaseUserActions; import com.google.firebase.appindexing.Indexable; import com.google.firebase.appindexing.builders.Actions;
Quita las llamadas al cliente de la API de Google
public class ViewMessageActivity extends Activity { ... // Delete thisprivate GoogleApiClient mClient;... @Override protected void onCreate(Bundle savedInstanceState) { ... // Delete thismClient = new GoogleApiClient.Builder(this) .addApi(AppIndex.API) .build();... } }
Actualiza los compiladores de acciones del usuario
//Beforepublic Action getAction() { Thing object = new Thing.Builder() .setName(mText) .setUrl(mUrl) .build(); return new Action.Builder(Action.TYPE_VIEW) .setObject(object) .build(); }// After public Action getAction() { return Actions.newView(mText, mUrl); }
Actualiza las llamadas a acciones del usuario
Antes de registrar acciones sobre el contenido de la app con la nueva versión de la API, asegúrate de haberla agregado al índice del dispositivo. Cualquier llamada a start() o stop() que afecte al registro ahora debe estar precedida por una llamada para agregar el contenido al índice primero, si es que no lo agregaste antes.
//Before@Override protected void onStart() { super.onStart(); mClient.connect(); AppIndex.AppIndexApi.start(mClient, getAction()); } @Override protected void onStop() { AppIndex.AppIndexApi.end(mClient, getAction()); mClient.disconnect(); super.onStop(); }// After @Override protected void onStart() { super.onStart(); // If you’re logging an action on an item that has already been added to the index, // you don’t have to add the following update line. FirebaseAppIndex.getInstance().update(getIndexable()); FirebaseUserActions.getInstance().start(getAction()); } @Override protected void onStop() { FirebaseUserActions.getInstance().end(getAction()); super.onStop(); }