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

ย้ายไปยัง API ล่าสุด

หากคุณกำลังใช้เวอร์ชันของ Firebase App Indexing API ที่เก่ากว่า 10.0.0 และต้องการย้ายไปยังเวอร์ชันล่าสุด ให้ทำตามขั้นตอนเหล่านี้

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณได้ เพิ่ม Firebase ในแอปของคุณแล้ว

อัปเดตไลบรารีการจัดทำดัชนีแอป

ไปที่สคริปต์ build.gradle ของแอปและเพิ่มการพึ่งพาต่อไปนี้:

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

อัปเดตการนำเข้าในกิจกรรมของคุณ

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

ลบการเรียกไปยังไคลเอ็นต์ Google API

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

อัปเดตตัวสร้างการดำเนินการของผู้ใช้

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

อัปเดตการเรียกการดำเนินการของผู้ใช้

ก่อนที่คุณจะบันทึกการดำเนินการกับเนื้อหาใดๆ ในแอปโดยใช้ 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();
}