Buka konsol

Membuat Log Tindakan Pengguna

Google Penelusuran menggunakan informasi mengenai tindakan yang dilakukan pengguna terhadap konten publik dan pribadi di sebuah aplikasi untuk meningkatkan peringkat dari saran dan hasil Penelusuran. Untuk meningkatkan kualitas pengalaman pengguna saat mereka menelusuri konten di aplikasi Anda, catat tindakan pengguna ke dalam log melalui App Indexing API.

Tindakan apa yang harus dicatat ke dalam log?

Gunakan panduan berikut saat mencatat tindakan pengguna ke dalam log:

  • Buat log interaksi pengguna dengan aplikasi, termasuk melihat konten, membuat konten baru, atau membagikan konten.
  • Hanya buat log tindakan yang dilakukan pengguna secara langsung kepada konten — bukan tindakan latar belakang dalam aplikasi, seperti pesan masuk atau sinkronisasi playlist.
  • Jangan membuat log tindakan untuk setiap item dalam daftar saat pengguna berinteraksi dengan seluruh daftar. Misalnya, jangan membuat log tindakan melihat untuk semua pesan setiap kali pengguna membuka kotak masuknya.

Membuat dan mencatat tindakan ke dalam log

Untuk membuat objek Action, tentukan parameter berikut:

  • Judul dan URL konten
  • Action.Builder yang sesuai untuk jenis tindakan

Lalu, buat log tindakan:

  • Untuk tindakan yang berdurasi lama (misalnya melihat resep), panggil metode start() dan end() sesuai kebutuhan. Misalnya, catat panggilan secara terpisah ke dalam log untuk melihat resep (awal) lalu menutup resep (akhir).
  • Untuk tindakan instan, segera panggil metode end() setelah pengguna melakukan tindakan. Misalnya, ketika pengguna mengomentari sebuah catatan, catat tindakan instan ke dalam log dengan memanggil metode end() satu kali.

Tentang jenis tindakan: Gunakan konstanta Action.Builder yang tepat untuk konten Anda. Misalnya, gunakan konstanta VIEW_ACTION untuk membuka konten statis dan konstanta WATCH_ACTION untuk memutar konten video. Lihat daftar konstanta untuk class Action.Builder.

Fragmen terkait: Anda menyusun fragmen dengan cara yang sama dengan pembuatan struktur aktivitas pada contoh di bawah. Karena fragmen dapat dieksekusi beberapa kali dalam suatu aktivitas, atau mengingat kemungkinan ada beberapa fragmen, Anda harus berhati-hati agar hanya membuat panggilan API 1 kali. Berikut adalah beberapa panduan yang harus diikuti:

  • Jika aktivitas tersebut memanggil API, jangan panggil kembali API ini dari fragmen mana pun dalam aktivitas.
  • Jika aktivitas tidak memanggil API dan Anda ingin agar fragmen memanggilnya, pastikan hanya satu fragmen yang memanggil API, untuk 1 kali saja.
Mengawali dan mengakhiri

Contoh berikut menggunakan konten publik.

Java

@Override
protected void onStart() {
    super.onStart();
    // If you’re logging an action on content that hasn’t been added to the index yet,
    // add it first.
    // See <a href="https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index">https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index</a>.

    FirebaseUserActions.getInstance().start(getRecipeViewAction());
}

@Override
protected void onStop() {
    FirebaseUserActions.getInstance().end(getRecipeViewAction());
    super.onStop();
}

Kotlin

override fun onStart() {
    super.onStart()
    // If you’re logging an action on content that hasn’t been added to the index yet,
    // add it first.
    // See <a href="https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index">https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index</a>.

    FirebaseUserActions.getInstance().start(getRecipeViewAction())
}

override fun onStop() {
    FirebaseUserActions.getInstance().end(getRecipeViewAction())
    super.onStop()
}
Instan

Contoh berikut menggunakan konten pribadi.

Java

public void displayNoteDialog(final String positiveText, final String negativeText) {
    // ...

    // If you’re logging an action on content that hasn’t been added to the index yet,
    // add it first.
    // See <a href="https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index">https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index</a>.

    FirebaseUserActions.getInstance().end(getNoteCommentAction());
    // ...
}

public Action getNoteCommentAction() {
    return new Action.Builder(Action.Builder.COMMENT_ACTION)
            .setObject(mNote.getTitle(), mNote.getNoteUrl())
            // Keep action data for personal connulltent on the device
            .setMetadata(new Action.Metadata.Builder().setUpload(false))
            .build();
}

Kotlin

fun displayNoteDialog(positiveText: String, negativeText: String) {
    // ...

    // If you’re logging an action on content that hasn’t been added to the index yet,
    // add it first.
    // See <a href="https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index">https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index</a>.

    FirebaseUserActions.getInstance().end(getNoteCommentAction())
    // ...
}

private fun getNoteCommentAction(): Action {
    return Action.Builder(Action.Builder.COMMENT_ACTION)
            .setObject(note.title, note.noteUrl)
            // Keep action data for personal connulltent on the device
            .setMetadata(Action.Metadata.Builder().setUpload(false))
            .build()
}

Berikutnya: Menguji Implementasi Anda