現在使用しているバージョン 10.0.0 より前の Firebase App Indexing API を最新バージョンにアップグレードするには、次の手順に沿って操作します。
手順を開始する前に、アプリに Firebase が追加されていることを確認してください。
App Indexing ライブラリを更新する
アプリの build.gradle スクリプトを開いて、次の依存関係を追加します。
dependencies { ... implementation 'com.google.firebase:firebase-appindexing:19.2.0' ... }
アクティビティ内のインポートを更新する
// 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;
Google API クライアントの呼び出しを削除する
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();... } }
ユーザー アクション ビルダを更新する
//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); }
ユーザー アクション呼び出しを更新する
新しいバージョンの API を使用してアプリのコンテンツに対するアクションを記録する前に、端末上のインデックスにコンテンツが追加されていることを確認してください。コンテンツがインデックスに追加されていない場合は、ロギングの start() または stop() を呼び出す前に、そのコンテンツをインデックスに追加するための呼び出しを行う必要があります。
//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(); }