Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Migrer vers la dernière API

Si vous utilisez actuellement une version de l'API Firebase App Indexing antérieure à 10.0.0 et que vous souhaitez passer à la dernière version, procédez comme suit.

Avant de commencer, assurez-vous d'avoir ajouté Firebase à votre application.

Mettre à jour la bibliothèque d'indexation des applications

Accédez au script build.gradle de votre application et ajoutez la dépendance suivante :

dependencies {
  ...
  implementation 'com.google.firebase:firebase-appindexing:20.0.0'
  ...
}
      

Mettre à jour les imports dans votre activité

      // Before
      import 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;
      

Supprimer les appels au client API Google

public class ViewMessageActivity extends Activity {
  ...
  // Delete this
  private GoogleApiClient mClient;
  ...

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    ...
    // Delete this
   mClient = new GoogleApiClient.Builder(this)
        .addApi(AppIndex.API)
        .build();
    ...
   }
 }
 

Mettre à jour les générateurs d'actions utilisateur

      //Before
      public 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);
     }
     

Mettre à jour les appels à l'action de l'utilisateur

Avant de consigner des actions sur un contenu de l'application à l'aide de la nouvelle version de l'API, assurez-vous de l'avoir ajoutée à l'index sur l'appareil. Tout appel à la journalisation start() ou stop() doit maintenant être précédé d'un appel pour ajouter d'abord le contenu à l'index, si vous ne l'avez pas déjà ajouté.

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