Engage SDK Vertikal Lainnya: Petunjuk integrasi teknis pihak ketiga

Google membuat platform di perangkat yang mengatur aplikasi pengguna menurut kategori dan memungkinkan pengalaman imersif baru untuk konsumsi dan penemuan konten aplikasi yang dipersonalisasi. Pengalaman layar penuh ini memberi partner developer kesempatan untuk menampilkan konten lengkap terbaik di saluran khusus di luar aplikasi.

Dokumen ini berisi petunjuk bagi partner developer untuk mengintegrasikan konten seperti reservasi, acara, penginapan, tempat menarik, orang, saat ini. yang mungkin tidak termasuk dalam kategori mana pun yang menggunakan Engage SDK untuk mengisi area permukaan baru ini.

Detail integrasi

Terminologi

Integrasi ini mencakup tiga jenis cluster berikut: Rekomendasi, Unggulan, dan Lanjutan.

  • Cluster Rekomendasi menampilkan saran yang dipersonalisasi dari satu individu partner developer. Ini adalah tampilan UI yang berisi sekelompok rekomendasi dari partner developer yang sama.

    • ArticleEntity: ArticleEntity yang mewakili situs berbasis teks rekomendasi untuk konten yang relevan dengan lebih dari satu kategori konten. Item ArticleEntity memungkinkan developer menyediakan berbagai konten teks dan gambar dengan lebih banyak {i>metadata<i} untuk menyampaikan informasi kepada pengguna dibandingkan dengan GenericFeaturedEntity. Misalnya: Konten pemasaran, Cuplikan berita

      Gambar 1: UI yang menampilkan satu ArticleEntity dalam Rekomendasi .
    • EventEntity: EventEntity mewakili peristiwa yang terjadi di masa depan. Waktu mulai acara adalah informasi penting yang perlu disampaikan kepada pengguna.

      Gambar 2: UI yang menampilkan satu EventEntity dalam Cluster Rekomendasi.
    • LodgingEntity: LodgingEntity mewakili akomodasi, seperti sebagai hotel, apartemen, rumah liburan untuk jangka pendek dan jangka panjang penyewaan.

      Gambar 3: UI yang menampilkan satu LodgingEntity dalam klaster Rekomendasi.
    • StoreEntity: StoreEntity mewakili toko, restoran, kafe dll. Ini menyoroti konten yang tempat makan atau toko informasi penting yang perlu disampaikan kepada pelanggan.

      Gambar 4: UI yang menampilkan satu StoreEntity di dalam Cluster Rekomendasi.
    • PointOfInterestEntity: PointOfInterestEntity mewakili tempat menarik seperti, SPBU, tempat acara, taman hiburan, museum, objek wisata, jalur hiking, dll. Yang menyoroti konten di mana lokasi merupakan informasi penting yang perlu disampaikan kepada pengguna. Tidak boleh digunakan untuk penginapan, toko, atau tempat makan.

      Gambar 5: UI yang menampilkan satu PointOfInterestEntity dalam klaster Rekomendasi.
    • PersonEntity: PersonEntity mewakili seseorang. Rekomendasi bisa jadi untuk menyoroti seseorang dalam kategori seperti kesehatan dan kebugaran, olahraga, kencan, dll.

      Gambar 5: UI yang menampilkan satu PersonEntity dalam Cluster Rekomendasi.
  • Cluster Lanjutan menampilkan konten yang baru-baru ini diakses oleh pengguna dari beberapa partner developer dalam satu pengelompokan UI. Setiap partner developer akan diizinkan untuk menyiarkan maksimum 10 entitas dalam Lanjutan .

    Konten lanjutan Anda dapat menggunakan struktur berikut:

    • ArticleEntity: ArticleEntity yang mewakili situs berbasis teks rekomendasi untuk konten yang relevan dengan lebih dari satu kategori konten. Entitas ini dapat digunakan untuk menampilkan berita yang belum selesai artikel atau konten lain yang ingin terus digunakan oleh pengguna dari tempat mereka meninggalkannya. Contoh: Konten pemasaran, Cuplikan berita

      Gambar 6. UI yang menampilkan satu ArticleEntity di dalam cluster Lanjutan.
    • RestaurantReservasiEntity: RestaurantReservasiEntity mewakili pemesanan untuk restoran atau kafe dan membantu pengguna melacak pengguna pemesanan restoran yang sedang berlangsung.

      Gambar 7. UI yang menampilkan satu RestaurantReservasiEntity dalam cluster Lanjutan.
    • EventReservasiEntity: EventReservasiEntity mewakili reservasi untuk acara dan membantu pengguna melacak acara yang akan datang atau yang sedang berlangsung reservasi acara. Peristiwa dapat mencakup, tetapi tidak terbatas pada berikut ini:

      • Acara olahraga seperti reservasi pertandingan sepak bola
      • Acara game seperti reservasi untuk eSport
      • Acara hiburan seperti reservasi film di bioskop, konser, teater, penandatanganan buku
      • Reservasi perjalanan atau lokasi menarik seperti tur berpemandu, museum tiket
      • Sosial / Seminar / Reservasi konferensi
      • Reservasi sesi Pendidikan / Pelatihan
      Gambar 8. UI yang menampilkan satu EventReservasiEntity dalam cluster Lanjutan.
    • LodgingReservasiEntity: LodgingEntityReservasi mewakili reservasi untuk penginapan perjalanan dan membantu pengguna melacak perjalanan reservasi hotel atau rental akomodasi yang sedang berlangsung.

      Gambar 9. UI yang menampilkan satu LodgingReservasiEntity dalam cluster Lanjutan.
    • TransportationReservasiEntity: TransportationReservasiEntity mewakili pemesanan transportasi dengan moda apa pun dan membantu pengguna melacak reservasi untuk penerbangan mendatang atau yang sedang berlangsung, kapal feri, kereta api, bus, transportasi online, atau kapal pesiar.

      Gambar 10. UI yang menampilkan satu TransportationReservasiEntity di dalam cluster Lanjutan.
    • KendaraanRentalReservasiEntity: VehicleRentalReservasiEntity mewakili reservasi penyewaan kendaraan dan membantu pengguna melacak atau reservasi rental kendaraan yang sedang berlangsung.

      Gambar 11. UI yang menampilkan satu VehicleRentalReservasiEntity dalam cluster Lanjutan.
  • Cluster Unggulan adalah tampilan UI yang menampilkan hero yang dipilih GenericFeaturedEntity dari banyak partner developer dalam satu pengelompokan UI. Ada satu cluster Unggulan, yang ditampilkan di dekat bagian atas UI, dengan penempatan prioritas di atas semua cluster Rekomendasi. Masing-masing partner developer diizinkan untuk menyiarkan satu entitas dari channel yang didukung ketik Unggulan, dengan banyak entitas (kemungkinan dari jenis yang berbeda) dari beberapa developer aplikasi di cluster Unggulan.

    • GenericFeaturedEntity: GenericFeaturedEntity berbeda dengan Item rekomendasi dalam item Unggulan tersebut harus digunakan untuk satu item konten populer dari pengembang dan harus mewakili satu-satunya konten penting yang akan menarik dan relevan bagi pengguna.

      Gambar 12: UI yang menampilkan satu hero Kartu GenericFeaturedEntity dalam cluster Unggulan

Persiapan

Level API minimum: 19

Tambahkan library com.google.android.engage:engage-core ke aplikasi Anda:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

Ringkasan

Desain ini didasarkan pada implementasi dari layanan terikat.

Data yang dapat dipublikasikan klien tunduk pada batas berikut untuk berbagai jenis cluster:

Jenis cluster Batas cluster Batas entity minimum dalam cluster Batas maksimum entity dalam cluster
Cluster Rekomendasi Maksimal 5 Minimal 5 Maksimal 25 (ArticleEntity, EventEntity, LodgingEntity, StoreEntity, PointOfInterestEntity, atau PersonEntity)
Cluster Lanjutan Maksimal 1 Minimal 1 Maksimal 10 (ArticleEntity, EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity, atau VehicleRentalReservationEntity)
Cluster Unggulan Maksimal 1 Minimal 1 Maksimal 10 (GenericFeaturedEntity)

Langkah 1: Memberikan data entity

SDK telah menentukan entity yang berbeda untuk mewakili setiap jenis item. Kami mendukung entitas berikut untuk kategori lainnya:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. PersonEntity
  8. RestaurantReservationEntity
  9. EventReservationEntity
  10. LodgingReservationEntity
  11. TransportationReservationEntity
  12. VehicleRentalReservationEntity

Diagram di bawah ini menguraikan atribut dan persyaratan yang tersedia untuk setiap jenis.

GenericFeaturedEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Gambar poster Wajib

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Jika badge disediakan, pastikan Anda berada di ruang yang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Judul Opsional Judul entitas.

Teks bebas

Ukuran teks yang direkomendasikan: 50 karakter

Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Perlakuan UX khusus di atas gambar/video, misalnya, sebagai badge overlay di atas gambar

  • "Pembaruan langsung"
  • Durasi pembacaan artikel
Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum

Lihat bagian Kategori Konten untuk panduan.

ArticleEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

Teks bebas

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Gambar poster Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Sumber - Judul Opsional Nama penulis, organisasi, atau reporter

Teks bebas

Ukuran teks yang direkomendasikan: Di bawah 25 karakter

Sumber - Gambar Opsional Gambar sumber seperti penulis, organisasi, reporter Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Perlakuan UX khusus di atas gambar/video, misalnya sebagai badge overlay di atas gambar

  • "Pembaruan langsung"
  • Durasi pembacaan artikel
Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Waktu Publikasi Konten Opsional Ini adalah stempel waktu epoch dalam milidetik saat konten dipublikasikan / diupdate di aplikasi. Stempel waktu epoch dalam milidetik
Waktu Engagement Terakhir Wajib Bersyarat

Stempel waktu epoch dalam milidetik saat pengguna berinteraksi entitas ini terakhir kali.

Catatan: Kolom ini wajib diisi jika entitas ini adalah bagian dari klaster lanjutan.

Stempel waktu epoch dalam milidetik
Persentase Progres Wajib Bersyarat

Persentase konten lengkap yang dikonsumsi pengguna hingga saat ini.

Catatan: Kolom ini wajib diisi jika entitas ini adalah bagian dari klaster lanjutan.

Nilai int antara 0~100 inklusif.
Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum

Lihat bagian Kategori Konten untuk panduan.

EventEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Waktu mulai Wajib

Stempel waktu epoch yang diperkirakan akan dimulai.

Catatan:Ini akan direpresentasikan dalam milidetik.

Stempel waktu epoch dalam milidetik
Mode peristiwa Wajib

Kolom untuk menunjukkan apakah acara tersebut akan diselenggarakan secara virtual, tatap muka, atau keduanya.

Enum: VIRTUAL, IN_PERSON, atau HYBRID
Gambar poster Wajib

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Lokasi - Negara Wajib Bersyarat

Negara tempat acara berlangsung.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Bersyarat

Kota tempat acara berlangsung.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Bersyarat

Alamat atau nama tempat di mana acara akan berlangsung yang seharusnya ditampilkan kepada pengguna.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) di lokasi tempat acara diadakan yang dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat acara diadakan dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) di lokasi tempat acara diadakan dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Lingkungan (jika ada) tempat acara diselenggarakan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Waktu akhir Opsional

Stempel waktu epoch yang diperkirakan akan berakhir.

Catatan:Ini akan direpresentasikan dalam milidetik.

Stempel waktu epoch dalam milidetik
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Harga - Harga Terkini Wajib bersyarat

Harga tiket/kartu saat ini untuk acara.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli tiket/kartu untuk acara. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum yang Memenuhi Syarat

  • TYPE_FilmS_AND_TV_SHOWS (Contoh - Bioskop)
  • TYPE_DIGITAL_GAMES (Contoh - eSports)
  • TYPE_MUSIC (Contoh - Konser)
  • TYPE_TRAVEL_AND_LOCAL (Contoh - Tur, festival)
  • TYPE_HEALTH_AND_FITENESS (Contoh - Kelas yoga)
  • TYPE_EDUCATION (Contoh - Kelas)
  • TYPE_SPORTS (Contoh - Pertandingan sepak bola)
  • TYPE_DATING (Contoh - pertemuan)

Lihat bagian Kategori Konten untuk panduan.

LodgingEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Gambar poster Wajib

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Disarankan rasio aspek adalah 16:9

Catatan: Jika badge disediakan, pastikan Anda berada di ruang yang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Lokasi - Negara Wajib Negara tempat penginapan berada.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Kota tempat penginapan berada.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Alamat penginapan yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat penginapan berada ditemukan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Kawasan (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

AvailabilityTimeWindow - Waktu Mulai Opsional Stempel waktu epoch dalam milidetik saat penginapan diharapkan terbuka/tersedia. Stempel waktu epoch dalam milidetik
AvailabilityTimeWindow - Waktu Berakhir Opsional Stempel waktu epoch dalam milidetik hingga penginapan diharapkan terbuka/tersedia. Stempel waktu epoch dalam milidetik
Rating - Nilai maks Opsional

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Opsional

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Berikan kolom ini jika aplikasi Anda mengontrol cara jumlah ditampilkan kepada pengguna. Gunakan string yang ringkas. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 M sehingga jumlahnya tidak terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Berikan kolom ini jika Anda tidak menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, Jumlah akan ditampilkan kepada pengguna.

Panjang
Harga - Harga Terkini Wajib bersyarat

Harga penginapan saat ini.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli penginapan, yang dicoret di UI. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

StoreEntity

Objek StoreEntity mewakili setiap toko yang ingin dipublikasikan oleh partner developer, seperti restoran atau minimarket.

Atribut Persyaratan Deskripsi Format
Gambar poster Wajib Minimal satu gambar harus diberikan. Lihat Spesifikasi Gambar untuk panduan.
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Opsional Nama toko.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Lokasi Opsional Lokasi toko.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Keterangan Opsional Keterangan untuk menampilkan promo, acara, atau info terbaru terkait toko, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Cetak kecil keterangan Opsional Teks cetak kecil untuk keterangan.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Deskripsi Opsional Deskripsi toko.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 90 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Rating - Nilai maks Opsional

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Opsional

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Berikan kolom ini jika aplikasi Anda ingin mengontrol bagaimana hal ini ditampilkan kepada pengguna. Berikan string yang ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika hitungannya adalah 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1M, sehingga tidak akan terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Sediakan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kita akan menggunakan Jumlah untuk ditampilkan kepada pengguna

Panjang

PointOfInterestEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Gambar poster Wajib

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Lokasi - Negara Wajib Negara tempat lokasi menarik berlangsung.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Kota tempat lokasi menarik berlangsung.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Alamat lokasi menarik yang akan ditampilkan ke .

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) lokasi menarik.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat lokasi menarik berada ditemukan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) lokasi menarik.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Lingkungan (jika ada) lokasi menarik.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

AvailabilityTimeWindow - Waktu Mulai Opsional Stempel waktu epoch dalam milidetik saat lokasi menarik diharapkan akan terbuka/tersedia. Stempel waktu epoch dalam milidetik
AvailabilityTimeWindow - Waktu Berakhir Opsional Stempel waktu epoch dalam milidetik sampai lokasi menarik diharapkan akan terbuka/tersedia. Stempel waktu epoch dalam milidetik
Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Rating - Nilai maks Opsional

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Opsional

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk lokasi menarik.

Catatan: Berikan kolom ini jika aplikasi Anda mengontrol cara jumlah ditampilkan kepada pengguna. Gunakan string yang ringkas. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1M sehingga jumlahnya tidak terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk lokasi menarik.

Catatan: Berikan kolom ini jika Anda tidak menangani menampilkan logika singkatan sendiri. Jika Hitung dan Nilai Hitung ada, Jumlah ditampilkan kepada pengguna

Panjang
Harga - Harga Terkini Wajib bersyarat

Harga tiket/tiket masuk saat ini untuk titik minat tertentu.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli tiket/tiket masuk untuk lokasi menarik. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat tampilkan elips)

Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum yang Memenuhi Syarat

  • JENIS_TRAVEL_AND_LOCAL
  • TYPE_FilmS_AND_TV_SHOWS (Contoh - bioskop)
  • TYPE_MEDICAL (Contoh - rumah sakit)
  • TYPE_EDUCATION (Contoh - sekolah)
  • TYPE_SPORTS (Contoh - stadion)

Lihat bagian Kategori Konten untuk panduan.

PersonEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Profil - Nama Wajib Nama atau ID profil atau nama sebutan akun, misalnya "Budi Budiman", "@TimPixel", dll.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Profil - Avatar Wajib

Foto profil atau gambar avatar pengguna.

Catatan:Harus berupa gambar Persegi 1:1.

Lihat Spesifikasi Gambar untuk panduan.
Profil - Teks Tambahan Opsional Teks bebas seperti nama sebutan channel.

Teks bebas

Ukuran teks yang direkomendasikan: Maksimal 15 karakter

Profil - Gambar Tambahan Opsional Gambar kecil seperti badge terverifikasi. Lihat Spesifikasi Gambar untuk panduan.
Gambar header Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Popularitas - Jumlah Opsional

Merepresentasikan Gambar header. Harus berbeda dari foto profil. Ini dapat digunakan jika ada gambar tambahan untuk membantu menyoroti orang menyukai pekerjaan mereka.

Catatan: Harus berupa gambar dengan rasio aspek 16:9. Jika badge diberikan, memastikan ruang aman 24 dp di bagian atas dan bawah gambar

String

Ukuran teks yang direkomendasikan: Maksimal 20 karakter untuk jumlah + label digabungkan

Popularitas - Nilai Jumlah Opsional

Jumlah pengikut atau nilai popularitas.

Catatan: Berikan Nilai Jumlah jika aplikasi Anda tidak menginginkannya menangani logika bagaimana sejumlah besar harus dioptimalkan ukuran tampilan yang berbeda. Jika Jumlah dan Nilai Jumlah diberikan, Jumlah akan digunakan.

Panjang
Popularitas - Label Opsional Tentukan apa label popularitas. Misalnya - "Suka".

String

Ukuran teks yang direkomendasikan: Maksimal 20 karakter untuk jumlah + label digabungkan

Popularitas - Visual Opsional

Tentukan tujuan interaksi tersebut. Misalnya - Gambar menampilkan Ikon suka, Emoji.

Dapat menyediakan lebih dari 1 gambar, meskipun tidak semua gambar dapat ditampilkan di semua {i>form factor<i} (faktor bentuk).

Catatan: Harus berupa gambar Persegi 1:1

Lihat Spesifikasi Gambar untuk panduan.
Rating - Nilai maks Wajib

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Wajib

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk entity.

Catatan: Berikan kolom ini jika aplikasi Anda ingin mengontrol bagaimana hal ini ditampilkan kepada pengguna. Berikan string yang ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika hitungannya adalah 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1M, sehingga tidak akan terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk entity.

Catatan: Sediakan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kita akan menggunakan Jumlah untuk ditampilkan kepada pengguna

Panjang
Lokasi - Negara Opsional Negara tempat orang tersebut berada atau melayani.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Opsional Kota tempat orang tersebut berada atau melayani.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Opsional Alamat tempat orang tersebut berada atau yang melayani akan ditampilkan pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) tempat orang tersebut berada atau menyeluruh.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian (jika ada) tempat orang tersebut berada atau melayani.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) tempat orang tersebut berada atau melayani.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Lingkungan (jika ada) tempat orang berada atau melayani.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum yang Memenuhi Syarat

  • TYPE_HEALTH_AND_FITENESS (Contoh - Pelatih yoga/kebugaran)
  • TYPE_HOME_AND_AUTO (Contoh - Tukang Ledeng)
  • TYPE_SPORTS (Contoh - Pemain)
  • JENIS_DATING

Lihat bagian Kategori Konten untuk panduan.

RestaurantReservationEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Waktu Mulai Reservasi Wajib Stempel waktu epoch dalam milidetik saat reservasi diharapkan memulai. Stempel waktu epoch dalam milidetik
Lokasi - Negara Wajib Negara tempat restoran tersebut beroperasi.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Kota tempat restoran beroperasi.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Alamat restoran yang akan ditampilkan ke .

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat restoran (jika ada).

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat restoran berada ditemukan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos restoran (jika ada).

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Kawasan (jika ada) restoran.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Gambar poster Opsional Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Disarankan rasio aspek adalah 16:9 Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Ukuran Meja Opsional Jumlah orang dalam grup reservasi Bilangan bulat > 0

EventReservationEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

String

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Waktu mulai Wajib

Stempel waktu epoch yang diperkirakan akan dimulai.

Catatan:Ini akan direpresentasikan dalam milidetik.

Stempel waktu epoch dalam milidetik
Mode peristiwa Wajib

Kolom untuk menunjukkan apakah acara tersebut akan diselenggarakan secara virtual, tatap muka, atau keduanya.

Enum: VIRTUAL, IN_PERSON, atau HYBRID
Lokasi - Negara Wajib Bersyarat

Negara tempat acara berlangsung.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Bersyarat

Kota tempat acara berlangsung.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Bersyarat

Alamat atau nama tempat di mana acara akan berlangsung yang seharusnya ditampilkan kepada pengguna.

Catatan: Ini diperlukan untuk acara yang IN_PERSON atau HIBRID

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) di lokasi tempat acara diadakan yang dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat acara diadakan dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) di lokasi tempat acara diadakan dihosting.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Lingkungan (jika ada) tempat acara diselenggarakan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Gambar poster Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio lebar tinggi yang direkomendasikan adalah 16:9

Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Waktu akhir Opsional

Stempel waktu epoch yang diperkirakan akan berakhir.

Catatan:Ini akan direpresentasikan dalam milidetik.

Stempel waktu epoch dalam milidetik
Penyedia Layanan - Nama Opsional

Nama penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Teks bebas. Misalnya, nama penyelenggara/tur acara
Service Provider - Gambar Opsional

Logo/gambar penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

Badge Opsional

Setiap badge dapat berupa teks bebas (maks. 15 karakter) atau gambar kecil.

Lencana - Teks Opsional

Judul untuk badge

Catatan: Teks atau gambar diperlukan untuk badge

Teks bebas

Ukuran teks yang direkomendasikan: maks 15 karakter

Badge - Gambar Opsional

Gambar kecil

Perlakuan UX khusus, misalnya sebagai overlay badge pada gambar/video {i>thumbnail<i}.

Catatan: Teks atau gambar diperlukan untuk badge

Lihat Spesifikasi Gambar untuk panduan.
ID Reservasi Opsional ID reservasi untuk reservasi acara. Teks bebas
Harga - Harga Terkini Wajib bersyarat

Harga tiket/kartu saat ini untuk acara.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli tiket/kartu untuk acara. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Rating - Nilai maks Opsional

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Opsional

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk acara.

Catatan: Berikan kolom ini jika aplikasi Anda ingin mengontrol bagaimana hal ini ditampilkan kepada pengguna. Berikan string yang ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika hitungannya adalah 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1M, sehingga tidak akan terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk acara.

Catatan: Sediakan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kita akan menggunakan Jumlah untuk ditampilkan kepada pengguna

Panjang
Kategori Konten Opsional Jelaskan kategori konten dalam entity.

Daftar Enum yang Memenuhi Syarat

  • TYPE_FilmS_AND_TV_SHOWS (Contoh - Bioskop)
  • TYPE_DIGITAL_GAMES (Contoh - eSports)
  • TYPE_MUSIC (Contoh - Konser)
  • TYPE_TRAVEL_AND_LOCAL (Contoh - Tur, festival)
  • TYPE_HEALTH_AND_FITENESS (Contoh - Kelas yoga)
  • TYPE_EDUCATION (Contoh - Kelas)
  • TYPE_SPORTS (Contoh - Pertandingan sepak bola)
  • TYPE_DATING (Contoh - pertemuan)

Lihat bagian Kategori Konten untuk panduan.

LodgingReservationEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

Teks bebas. Misalnya, "Menginap Anda dari 12 Desember"

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Waktu Check In Wajib Stempel waktu epoch dalam milidetik yang menunjukkan waktu check in untuk reservasi. Stempel waktu epoch dalam milidetik
Waktu Check-out Wajib Stempel waktu epoch dalam milidetik yang menunjukkan waktu check out untuk reservasi. Stempel waktu epoch dalam milidetik
Lokasi - Negara Wajib Negara tempat penginapan berada.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kota Wajib Kota tempat penginapan berada.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Tampilan Wajib Alamat penginapan yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Alamat Opsional Alamat (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) tempat penginapan berada ditemukan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kode pos Opsional Kode pos (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi - Kawasan Opsional Kawasan (jika ada) penginapan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Gambar poster Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Disarankan rasio aspek adalah 16:9

Catatan: Jika badge disediakan, pastikan ruang aman sebesar 24 dp di bagian atas dan bawah gambar

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

ID Reservasi Opsional ID reservasi untuk reservasi penginapan. Teks bebas
Rating - Nilai maks Opsional

Nilai skala rating maksimum.

Harus diberikan jika nilai rating saat ini juga disediakan.

Angka >= 0,0
Rating - Nilai saat ini Opsional

Nilai skala rating saat ini.

Harus diberikan jika nilai rating maksimum juga disediakan.

Angka >= 0,0
Rating - Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Berikan kolom ini jika aplikasi Anda ingin mengontrol bagaimana hal ini ditampilkan kepada pengguna. Berikan string yang ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika hitungannya adalah 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1M, sehingga tidak akan terpotong pada ukuran layar yang lebih kecil.

String
Rating - Nilai Jumlah Opsional

Jumlah rating untuk penginapan.

Catatan: Sediakan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kita akan menggunakan Jumlah untuk ditampilkan kepada pengguna

Panjang
Harga - Harga Terkini Wajib bersyarat

Harga penginapan saat ini.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli penginapan, yang dicoret di UI. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

TransportationReservationEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

Teks bebas. Misalnya, "SFO ke SAN"

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Jenis Transportasi Wajib Mode/jenis transportasi untuk reservasi. Enum: PENERBANGAN, LATIHAN, BUS, atau FERRY
Waktu Keberangkatan Wajib Stempel waktu epoch dalam milidetik yang menunjukkan waktu keberangkatan. Stempel waktu epoch dalam milidetik
Waktu Kedatangan Wajib Stempel waktu epoch dalam milidetik yang menunjukkan waktu kedatangan. Stempel waktu epoch dalam milidetik
Lokasi Keberangkatan - Negara Opsional Negara keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Kota Opsional Kota keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Alamat Tampilan Opsional Lokasi keberangkatan yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Alamat Opsional Alamat (jika ada) lokasi keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) di lokasi keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Kode pos Opsional Kode pos (jika ada) lokasi keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Keberangkatan - Kawasan Opsional Lingkungan (jika ada) lokasi keberangkatan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Negara Opsional Negara kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Kota Opsional Kota kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Alamat Tampilan Opsional Lokasi kedatangan yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Alamat Opsional Alamat (jika ada) lokasi kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) di lokasi kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Kode pos Opsional Kode pos (jika ada) lokasi kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Lokasi Kedatangan - Kawasan Opsional Lingkungan (jika ada) lokasi kedatangan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Penyedia Layanan - Nama Opsional

Nama penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Teks bebas. Misalnya, Nama maskapai penerbangan
Service Provider - Gambar Opsional

Logo/gambar penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Lihat Spesifikasi Gambar untuk panduan.
Gambar poster Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Disarankan rasio aspek adalah 16:9

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

ID Reservasi Opsional ID reservasi untuk reservasi transportasi. Teks bebas
Harga - Harga Terkini Wajib bersyarat

Harga reservasi saat ini.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli reservasi, yang dicoret di kolom UI. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Nomor Transportasi Wajib Nomor penerbangan, nomor bus, nomor kereta, atau nomor feri/pelayaran. Teks bebas
Waktu Naik Pesawat Wajib Stempel waktu epoch yang menunjukkan waktu boarding untuk reservasi (jika berlaku) Stempel waktu epoch dalam milidetik

VehicleRentalReservationEntity

Atribut Persyaratan Deskripsi Format
URI Tindakan Wajib

Deep Link ke entity dalam aplikasi penyedia.

Catatan: Anda dapat menggunakan deep link untuk atribusi. Lihat FAQ ini

URI
Judul Wajib Judul entitas.

Teks bebas. Misalnya, "Avis Union Square SF"

Ukuran teks yang direkomendasikan: Maksimal 50 karakter

Waktu Penjemputan Wajib Stempel waktu epoch yang menunjukkan waktu penjemputan untuk reservasi. Stempel waktu epoch dalam milidetik
Waktu Pengembalian Opsional Stempel waktu epoch yang menunjukkan waktu check out untuk reservasi. Stempel waktu epoch dalam milidetik
Alamat Pengambilan - Negara Opsional Negara lokasi pengambilan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Kota Opsional Kota lokasi penjemputan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Alamat Tampilan Opsional Lokasi penjemputan yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Alamat Opsional Alamat (jika ada) lokasi penjemputan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Status Opsional Negara bagian atau provinsi (jika ada) lokasi penjemputan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Kode pos Opsional Kode pos (jika ada) lokasi pengambilan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengambilan - Kawasan Opsional Lingkungan (jika ada) lokasi penjemputan.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Negara Opsional Negara lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Kota Opsional Kota lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Alamat Tampilan Opsional Lokasi pengembalian yang akan ditampilkan kepada pengguna.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Alamat Opsional Alamat (jika ada) dari lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Negara Bagian Opsional Negara bagian atau provinsi (jika ada) dari lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Kode pos Opsional Kode pos (jika ada) dari lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Alamat Pengembalian - Kawasan Opsional Lingkungan (jika ada) dari lokasi pengembalian.

Teks bebas

Ukuran teks yang direkomendasikan: maks ~20 karakter

Penyedia Layanan - Nama Opsional

Nama penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Teks bebas. Misalnya, "Rental Mobil Avis"
Service Provider - Gambar Opsional

Logo/gambar penyedia layanan.

Catatan: Teks atau gambar diperlukan untuk layanan penyedia layanan.

Lihat Spesifikasi Gambar untuk panduan.
Gambar poster Opsional

Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Disarankan rasio aspek adalah 16:9

Lihat Spesifikasi Gambar untuk panduan.
Deskripsi Opsional

Satu paragraf teks untuk mendeskripsikan entity.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan: 180 karakter

Daftar subtitel Opsional

Hingga 3 subtitel, dengan setiap subtitel hanya terdiri dari satu baris teks.

Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya.

Teks bebas

Ukuran teks yang direkomendasikan untuk setiap subtitel: maks 50 karakter

ID Konfirmasi Opsional ID konfirmasi untuk reservasi rental kendaraan. Teks bebas
Harga - Harga Terkini Wajib bersyarat

Harga reservasi saat ini.

Harus diberikan jika harga yang dicoret disediakan.

Teks bebas
Harga - StrikethroughPrice Opsional Harga asli reservasi, yang dicoret di kolom UI. Teks bebas
Info Harga Opsional Info harga untuk menampilkan promo, acara, diskon anggota, jika tersedia.

Teks bebas

Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis)

Spesifikasi gambar

Spesifikasi yang diperlukan untuk aset gambar tercantum dalam tabel ini:

Rasio aspek Piksel minimum Piksel yang direkomendasikan

Persegi (1x1)

Pilihan

300x300 1200x1200
Lanskap (1,91x1) 600x314 1200x628
Potret (4x5) 480x600 960x1200

Gambar harus dihosting di CDN publik agar Google dapat mengaksesnya.

Format file

PNG, JPG, GIF statis, WebP

Ukuran file maksimum

5120 KB

Rekomendasi tambahan

  • Area aman gambar: Tempatkan konten penting Anda di 80% bagian tengah gambar.
  • Gunakan latar belakang transparan agar gambar dapat ditampilkan dengan benar di setelan tema Gelap dan Terang.

Kategori Konten

Kategori konten memungkinkan aplikasi memublikasikan konten milik beberapa kategori. Ini memetakan konten dengan beberapa kategori yang telah ditentukan sebelumnya, yaitu:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

Gambar harus dihosting di CDN publik agar Google dapat mengaksesnya.

Panduan menggunakan kategori konten

  1. Beberapa entity seperti ArticleEntity dan GenericFeaturedEntity adalah memenuhi syarat untuk menggunakan salah satu kategori konten. Untuk entitas lain seperti EventEntity, EventReservasiEntity, PointOfInterestEntity, sebagian kategori ini memenuhi syarat. Periksa daftar kategori memenuhi syarat untuk jenis entitas sebelum mengisi daftar.
  2. Gunakan jenis entitas spesifik untuk beberapa kategori konten di atas kombinasi entity Generik dan ContentCategory:

  3. Bidang ContentCategory bersifat opsional dan harus dibiarkan kosong jika konten tidak termasuk dalam kategori mana pun yang disebutkan sebelumnya.

  4. Jika beberapa kategori konten disediakan, berikan sesuai urutan relevansi dengan konten dengan kategori konten paling relevan yang ditempatkan di urutan pertama dalam daftar.

Langkah 2: Menyediakan data Cluster

Sebaiknya jalankan tugas publikasi konten di latar belakang (misalnya, menggunakan WorkManager) dan dijadwalkan secara berkala atau berbasis peristiwa (misalnya, setiap kali pengguna membuka aplikasi atau saat pengguna menambahkan sesuatu ke keranjangnya).

AppEngagePublishClient bertanggung jawab untuk memublikasikan cluster.

Ada API berikut untuk memublikasikan cluster di klien:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

API ini digunakan untuk memeriksa apakah layanan tersedia untuk integrasi, dan apakah konten dapat ditampilkan di perangkat atau tidak.

Kotlin

client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java

client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

API ini digunakan untuk memublikasikan daftar objek RecommendationCluster.

Kotlin

client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

Saat layanan menerima permintaan tersebut, tindakan berikut akan terjadi dalam satu transaksi:

  • Data RecommendationCluster yang ada dari partner developer akan dihapus.
  • Data dari permintaan akan diuraikan dan disimpan di Cluster Rekomendasi yang diperbarui.

Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

publishFeaturedCluster

API ini digunakan untuk memublikasikan daftar objek FeaturedCluster.

Kotlin

client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Saat layanan menerima permintaan tersebut, tindakan berikut akan terjadi dalam satu transaksi:

  • Data FeaturedCluster yang ada dari partner developer akan dihapus.
  • Data dari permintaan akan diuraikan dan disimpan di Cluster Unggulan yang diperbarui.

Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

publishContinuationCluster

API ini digunakan untuk memublikasikan objek ContinuationCluster.

Kotlin

client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Saat layanan menerima permintaan tersebut, tindakan berikut akan terjadi dalam satu transaksi:

  • Data ContinuationCluster yang ada dari partner developer akan dihapus.
  • Data dari permintaan akan diuraikan dan disimpan di Cluster Lanjutan yang diperbarui.

Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

publishUserAccountManagementRequest

API ini digunakan untuk memublikasikan kartu Login. Tindakan login mengarahkan pengguna ke halaman login aplikasi sehingga aplikasi dapat memublikasikan konten (atau memberikan konten yang lebih dipersonalisasi)

Metadata berikut adalah bagian dari Kartu Login -

Atribut Persyaratan Deskripsi
URI Tindakan Wajib Deeplink ke Tindakan (yaitu membuka halaman login aplikasi)
Gambar Opsional - Jika tidak diberikan, Judul harus diberikan

Gambar Ditampilkan pada Kartu

Gambar rasio aspek 16x9 dengan resolusi 1264x712

Judul Opsional - Jika tidak diberikan, Gambar harus diberikan Judul pada Kartu
Teks Tindakan Opsional Teks yang Ditampilkan pada CTA (yaitu Login)
Subjudul Opsional Subjudul Opsional pada Kartu

Kotlin

var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java

SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Saat layanan menerima permintaan tersebut, tindakan berikut akan terjadi dalam satu transaksi:

  • Data UserAccountManagementCluster yang ada dari partner developer akan dihapus.
  • Data dari permintaan akan diuraikan dan disimpan di Cluster UserAccountManagementCluster yang diperbarui.

Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

updatePublishStatus

Jika untuk alasan bisnis internal apa pun, tidak ada klaster yang dipublikasikan, kami sangat disarankan untuk memperbarui status publikasi menggunakan updatePublishStatus API. Hal ini penting karena:

  • Memberikan status dalam semua skenario, bahkan saat konten dipublikasikan (STATUS == PUBLISHED), sangat penting untuk mengisi dasbor yang menggunakan status eksplisit ini untuk menyampaikan kondisi dan metrik integrasi Anda yang lain.
  • Jika tidak ada konten yang dipublikasikan, tetapi status integrasi tidak rusak (STATUS == NOT_PUBLISHED), Google dapat menghindari pemicuan pemberitahuan di dasbor kondisi aplikasi. Fitur ini mengonfirmasi bahwa konten tidak dipublikasikan karena situasi yang diharapkan dari sudut pandang penyedia.
  • Hal ini membantu developer memberikan analisis tentang kapan data dipublikasikan versus tidak.
  • Google dapat menggunakan kode status untuk mendorong pengguna melakukan tindakan tertentu di aplikasi sehingga mereka dapat melihat konten aplikasi atau mengatasinya.

Daftar kode status publikasi yang memenuhi syarat adalah:

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

Jika konten tidak dipublikasikan karena pengguna tidak login, Google akan sebaiknya publikasikan Kartu Login. Jika karena alasan apa pun penyedia tidak dapat untuk memublikasikan Kartu Login, sebaiknya panggil updatePublishStatus API dengan kode status NOT_PUBLISHED_REQUIRES_SIGN_IN

Kotlin

client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java

client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

API ini digunakan untuk menghapus konten Cluster Rekomendasi.

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

Saat menerima permintaan, layanan akan menghapus data yang ada dari Cluster Rekomendasi. Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada tetap dipertahankan.

deleteFeaturedCluster

API ini digunakan untuk menghapus konten Cluster Unggulan.

Kotlin

client.deleteFeaturedCluster()

Java

client.deleteFeaturedCluster();

Saat menerima permintaan, layanan akan menghapus data yang ada dari Cluster Unggulan. Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

deleteContinuationCluster

API ini digunakan untuk menghapus konten Cluster Lanjutan.

Kotlin

client.deleteContinuationCluster()

Java

client.deleteContinuationCluster();

Saat menerima permintaan, layanan akan menghapus data yang ada dari Cluster Lanjutan. Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada tetap dipertahankan.

deleteUserManagementCluster

API ini digunakan untuk menghapus konten Cluster UserAccountManagement.

Kotlin

client.deleteUserManagementCluster()

Java

client.deleteUserManagementCluster();

Saat menerima permintaan, layanan akan menghapus data yang ada dari Cluster UserAccountManagement. Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

deleteClusters

API ini digunakan untuk menghapus konten jenis cluster tertentu.

Kotlin

client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java

client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

Saat menerima permintaan tersebut, layanan akan menghapus data yang ada dari semua cluster yang cocok dengan jenis cluster yang ditentukan. Klien dapat memilih untuk meneruskan satu atau beberapa jenis cluster. Jika terjadi error, seluruh permintaan akan ditolak dan status yang ada dipertahankan.

Penanganan error

Sangat disarankan untuk memproses hasil tugas dari API publikasi sehingga tindakan lanjutan dapat diambil untuk memulihkan dan mengirim ulang tugas yang berhasil.

Kotlin

client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java

client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

Error akan ditampilkan sebagai AppEngageException dengan penyebab disertakan sebagai kode error.

Kode error Catatan
SERVICE_NOT_FOUND Layanan tidak tersedia di perangkat yang ditentukan.
SERVICE_NOT_AVAILABLE Layanan tersedia di perangkat tertentu, tetapi tidak tersedia pada saat panggilan (misalnya, dinonaktifkan secara eksplisit).
SERVICE_CALL_EXECUTION_FAILURE Eksekusi tugas gagal karena masalah threading. Dalam hal ini, tindakan tersebut dapat dicoba lagi.
SERVICE_CALL_PERMISSION_DENIED Pemanggil tidak diizinkan untuk melakukan panggilan layanan.
SERVICE_CALL_INVALID_ARGUMENT Permintaan berisi data yang tidak valid (misalnya, lebih dari jumlah cluster yang diizinkan).
SERVICE_CALL_INTERNAL Terjadi error di sisi layanan.
SERVICE_CALL_RESOURCE_EXHAUSTED Panggilan layanan terlalu sering dilakukan.

Langkah 3: Menangani intent siaran

Selain melakukan panggilan API publikasi konten melalui tugas, Anda juga harus menyiapkan BroadcastReceiver untuk menerima permintaan publikasi konten.

Tujuan intent siaran terutama untuk pengaktifan kembali aplikasi dan memaksa sinkronisasi data. Intent siaran tidak didesain untuk dikirim terlalu sering. Intent itu hanya dipicu jika Layanan Engage menyimpulkan bahwa konten mungkin sudah tidak berlaku (misalnya, seminggu yang lalu). Dengan demikian, pengguna menjadi lebih yakin bahwa mereka dapat memiliki pengalaman konten baru meskipun aplikasi tidak dijalankan dalam waktu yang lama.

BroadcastReceiver harus disiapkan dengan dua cara berikut:

  • Daftarkan instance class BroadcastReceiver secara dinamis menggunakan Context.registerReceiver(). Hal ini memungkinkan komunikasi dari aplikasi yang masih aktif dalam memori.

Kotlin

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • Deklarasikan penerapan secara statis dengan tag <receiver> di file AndroidManifest.xml Anda. Hal ini memungkinkan aplikasi menerima intent siaran ketika tidak sedang berjalan, dan juga memungkinkan aplikasi untuk memublikasikan konten.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

Intent berikut dikirim oleh layanan:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION Direkomendasikan untuk memulai panggilan publishRecommendationClusters saat menerima intent ini.
  • com.google.android.engage.action.PUBLISH_FEATURED Sebaiknya Anda memulai panggilan publishFeaturedCluster saat menerima intent ini.
  • com.google.android.engage.action.PUBLISH_CONTINUATION Sebaiknya Anda memulai panggilan publishContinuationCluster saat menerima intent ini.

Alur kerja integrasi

Untuk panduan langkah demi langkah cara memverifikasi integrasi Anda setelah selesai, lihat Alur kerja integrasi developer untuk Engage.

FAQ

Lihat Pertanyaan Umum tentang Engage SDK untuk mengetahui FAQ.

Kontak

Kontak engage-developers@google.com jika ada pertanyaan apa pun selama proses integrasi.

Langkah berikutnya

Setelah menyelesaikan integrasi ini, langkah-langkah Anda berikutnya adalah sebagai berikut:

  • Kirim email ke engage-developers@google.com dan pasang APK terintegrasi yang siap diuji oleh Google.
  • Google melakukan verifikasi dan peninjauan secara internal untuk memastikan integrasi berfungsi seperti yang diharapkan. Jika diperlukan perubahan, Google akan menghubungi Anda dengan menyertakan detail yang diperlukan.
  • Setelah pengujian selesai dan tidak ada perubahan yang diperlukan, Google akan menghubungi Anda untuk memberi tahu bahwa Anda dapat mulai memublikasikan APK yang diupdate dan terintegrasi ke Play Store.
  • Setelah Google mengonfirmasi bahwa APK yang diupdate telah dipublikasikan ke Play Store, cluster Rekomendasi, Unggulan, dan Lanjutan dapat dipublikasikan dan terlihat oleh pengguna.