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 peluang untuk menampilkan konten lengkap terbaik di saluran khusus di luar aplikasi mereka. Panduan ini berisi petunjuk bagi partner developer untuk mengintegrasikan konten perjalanan & acara mereka, menggunakan Engage SDK untuk mengisi area platform baru ini.
Detail integrasi
Terminologi
Integrasi ini mencakup tiga jenis cluster berikut: Rekomendasi, Unggulan, dan Lanjutan.
Cluster Rekomendasi menampilkan saran perjalanan & acara yang dipersonalisasi dari setiap partner developer. Rekomendasi ini dapat dipersonalisasi untuk pengguna atau digeneralisasi (misalnya item yang sedang trending). Gunakan keduanya untuk menampilkan artikel, acara, penginapan, atau rekomendasi tempat menarik.
- Cluster Rekomendasi dapat dibuat dari listingan
ArticleEntity
,EventEntity
,LodgingEntity
,PointOfInterestEntity
, atauStoreEntity
, tetapi bukan campuran berbagai jenis entity.
Rekomendasi Anda menggunakan struktur berikut:
Cluster Rekomendasi: Tampilan UI yang berisi kelompok rekomendasi dari partner developer yang sama.
Entity: Objek yang mewakili satu item dalam cluster. Integrasi ini menawarkan beberapa entity yang akan ditampilkan menggunakan Cluster Rekomendasi:
ArticleEntity: ArticleEntity mewakili rekomendasi untuk konten berbasis teks yang terkait dengan perjalanan & acara. Dapat digunakan untuk artikel, postingan blog, konten pemasaran, cuplikan berita, dll.
EventEntity: EventEntity mewakili peristiwa yang akan terjadi di masa mendatang. Waktu mulai acara adalah informasi penting yang perlu disampaikan kepada pengguna.
LodgingEntity: LodgingEntity mewakili akomodasi, seperti hotel, apartemen, rumah liburan untuk rental jangka pendek dan jangka panjang.
StoreEntity: StoreEntity mewakili toko, restoran, kafe dll. Fitur ini menyoroti konten yang tempat makan atau toko merupakan informasi penting yang perlu disampaikan kepada pengguna.
PointOfInterestEntity: PointOfInterestEntity mewakili tempat menarik seperti SPBU, tempat acara, taman hiburan, museum, objek wisata, jalur hiking, dll. Pendekatan ini menyoroti konten dengan lokasi yang merupakan informasi penting yang perlu disampaikan kepada pengguna. Seharusnya tidak digunakan untuk penginapan, toko, atau tempat makan.
- Cluster Rekomendasi dapat dibuat dari listingan
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 entity di cluster Lanjutan.
Konten lanjutan Anda dapat menggunakan struktur berikut:
ArticleEntity: ArticleEntity mewakili rekomendasi untuk konten yang terkait dengan perjalanan & acara. Entity ini dapat digunakan untuk merepresentasikan artikel berita yang belum selesai atau konten lain yang ingin terus digunakan pengguna dari tempat mereka meninggalkannya. Contoh: Cuplikan berita, cuplikan postingan blog tentang tujuan perjalanan atau peristiwa.
RestaurantReservasiEntity: RestaurantReservasiEntity mewakili reservasi restoran atau kafe dan membantu pengguna melacak reservasi restoran yang akan datang atau sedang berlangsung.
EventReservasiEntity: EventReservasiEntity merepresentasikan reservasi acara dan membantu pengguna melacak reservasi acara yang akan datang atau yang sedang berlangsung. Peristiwa dapat mencakup, tetapi tidak terbatas pada hal berikut:
- Acara olahraga seperti reservasi untuk 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, tiket museum
- Reservasi Sosial / Seminar / Konferensi
- Reservasi sesi Pendidikan / Pelatihan
LodgingReservasiEntity: LodgingEntityReservasi merepresentasikan reservasi penginapan perjalanan dan membantu pengguna melacak reservasi hotel atau rental akomodasi yang akan datang atau sedang berlangsung.
TransportationReservasiEntity: TransportationReservasiEntity mewakili reservasi transportasi dengan moda apa pun dan membantu pengguna melacak reservasi untuk penerbangan, feri, kereta api, bus, transportasi kendaraan bermotor, atau kapal pesiar yang akan datang atau sedang berlangsung.
KendaraanRentalReservasiEntity: VehicleRentalReservasiEntity mewakili reservasi rental kendaraan dan membantu pengguna melacak reservasi rental kendaraan yang akan datang atau yang sedang berlangsung.
Cluster Unggulan adalah tampilan UI yang menampilkan banner besar
GenericFeaturedEntity
yang dipilih 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. Setiap partner developer diizinkan untuk menyiarkan satu entity dari jenis yang didukung di Unggulan, dengan banyak entity (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 konten populer dari developer dan harus mewakili satu konten paling penting yang akan menarik dan relevan bagi pengguna.
Persiapan
Level API minimum: 19
Tambahkan library com.google.android.play:engage
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.4.1'
}
Ringkasan
Desain ini didasarkan pada implementasi 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 , atau
PointOfInterestEntity ) |
Cluster Lanjutan | Maksimal 1 | Minimal 1 | Maksimal 10 (ArticleEntity ,
RestaurantReservationEntity
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 entity berikut untuk kategori Perjalanan & Acara:
GenericFeaturedEntity
ArticleEntity
EventEntity
LodgingEntity
StoreEntity
PointOfInterestEntity
RestaurantReservationEntity
EventReservationEntity
LodgingReservationEntity
TransportationReservationEntity
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 aspek yang direkomendasikan adalah 16:9 Catatan: Jika badge diberikan, pastikan ruang aman sebesar 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
Badge | Opsional | Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. Perlakuan UX khusus di atas gambar/video, Mis. sebagai overlay badge pada gambar
|
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. Catatan: Teks atau gambar diperlukan untuk badge |
Lihat Spesifikasi Gambar untuk panduan. |
Kategori Konten | Opsional | Deskripsikan kategori konten dalam entitas. | 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 aspek yang direkomendasikan adalah 16:9 Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman sebesar 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
Badge | Opsional | Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. Perlakuan UX khusus di atas gambar/video, Mis. sebagai overlay badge pada gambar
|
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. 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 dengan entitas ini terakhir kali. Catatan: Kolom ini wajib ada jika entity ini adalah bagian dari cluster lanjutan. |
Stempel waktu epoch dalam milidetik |
Persentase Progres | Wajib Bersyarat | Persentase konten lengkap yang dikonsumsi oleh pengguna hingga saat ini. Catatan: Kolom ini wajib ada jika entity ini adalah bagian dari cluster lanjutan. |
Nilai int antara 0~100 inklusif. |
Kategori Konten | Opsional | Deskripsikan kategori konten dalam entitas. | 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 saat peristiwa diharapkan akan dimulai. Catatan:Ini akan dinyatakan dalam milidetik. |
Stempel waktu epoch dalam milidetik |
Mode peristiwa | Wajib | Kolom untuk menunjukkan apakah acara akan berlangsung 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 aspek yang direkomendasikan adalah 16:9 Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman sebesar 24 dp di bagian atas dan bawah gambar |
Lihat Spesifikasi Gambar untuk panduan. |
Lokasi - Negara | Wajib Bersyarat | Negara tempat acara berlangsung. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kota | Wajib Bersyarat | Kota tempat acara berlangsung. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat Tampilan | Wajib Bersyarat | Alamat atau nama tempat acara akan berlangsung yang harus ditampilkan kepada pengguna. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat | Opsional | Alamat (jika ada) lokasi tempat acara diselenggarakan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Negara Bagian | Opsional | Negara bagian atau provinsi (jika ada) tempat acara diselenggarakan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika berlaku) tempat acara diselenggarakan. | 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 berakhir | Opsional |
Stempel waktu epoch saat peristiwa diperkirakan akan berakhir. Catatan:Ini akan dinyatakan 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
Badge | Opsional |
Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. |
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. Catatan: Teks atau gambar diperlukan untuk badge |
Lihat Spesifikasi Gambar untuk panduan. |
Harga - Harga Saat Ini | Wajib bersyarat |
Harga tiket saat ini untuk acara. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli tiket/kartu untuk acara. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, jika tersedia. | Teks bebas Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis) |
Kategori Konten | Opsional | Deskripsikan kategori konten dalam entitas. | Daftar Enum yang Memenuhi Syarat
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. Rasio aspek yang direkomendasikan adalah 16:9 Catatan: Jika badge diberikan, pastikan ruang aman sebesar 24 dp di bagian atas dan bawah gambar |
Lihat Spesifikasi Gambar untuk panduan. |
Lokasi - Negara | Wajib | Negara tempat penginapan berlangsung. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kota | Wajib | Kota tempat penginapan berlangsung. | 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. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika berlaku) penginapan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kawasan | Opsional | Lingkungan (jika ada) penginapan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Badge | Opsional |
Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. |
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
AvailabilityWindow - Waktu Mulai | Opsional | Stempel waktu epoch dalam milidetik saat penginapan diharapkan buka/tersedia. | Stempel waktu epoch dalam milidetik |
AvailabilityWindow - Waktu Berakhir | Opsional | Stempel waktu epoch dalam milidetik saat penginapan diharapkan buka/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 ingin mengontrol cara menampilkan kolom kepada pengguna. Berikan string ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 juta, agar tidak terpotong pada ukuran layar yang lebih kecil. |
String |
Rating - Nilai Jumlah | Opsional | Jumlah rating untuk penginapan. Catatan: Berikan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kami akan menggunakan Jumlah untuk ditampilkan kepada pengguna |
Panjang |
Harga - Harga Saat Ini | Wajib bersyarat | Harga penginapan saat ini. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli penginapan, yang dicoret di UI. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, 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 cara menampilkan kolom kepada pengguna. Berikan string ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 juta, agar tidak terpotong pada ukuran layar yang lebih kecil. |
String |
Rating - Nilai Jumlah | Opsional | Jumlah rating untuk penginapan. Catatan: Berikan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kami 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 aspek yang direkomendasikan adalah 16:9 Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman sebesar 24 dp di bagian atas dan bawah gambar |
Lihat Spesifikasi Gambar untuk panduan. |
Lokasi - Negara | Wajib | Negara tempat lokasi menarik terjadi. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kota | Wajib | Kota tempat lokasi menarik terjadi. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat Tampilan | Wajib | Alamat lokasi menarik yang akan ditampilkan kepada pengguna. | 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. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika berlaku) 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 |
AvailabilityWindow - Waktu Mulai | Opsional | Stempel waktu epoch dalam milidetik saat lokasi menarik diperkirakan akan buka/tersedia. | Stempel waktu epoch dalam milidetik |
AvailabilityWindow - Waktu Berakhir | Opsional | Stempel waktu epoch dalam milidetik hingga lokasi menarik diperkirakan akan terbuka/tersedia. | Stempel waktu epoch dalam milidetik |
Badge | Opsional |
Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. |
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 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 ingin mengontrol cara menampilkan kolom kepada pengguna. Berikan string ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 juta, agar 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 ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kami akan menggunakan Jumlah untuk ditampilkan kepada pengguna |
Panjang |
Harga - Harga Saat Ini | Wajib bersyarat |
Harga tiket/kartu masuk saat ini untuk lokasi menarik. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli tiket/kartu masuk untuk lokasi menarik. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, jika tersedia. |
Teks bebas Ukuran teks yang direkomendasikan: di bawah 45 karakter (Teks yang terlalu panjang dapat menampilkan elipsis) |
Kategori Konten | Opsional | Deskripsikan kategori konten dalam entitas. | Daftar Enum yang Memenuhi Syarat
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 dimulai. | 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 diadakan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat Tampilan | Wajib | Alamat restoran yang akan ditampilkan kepada pengguna. | 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. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika ada) restoran. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kawasan | Opsional | Lingkungan restoran (jika ada). | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Gambar poster | Opsional | Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio aspek yang direkomendasikan 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 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 saat peristiwa diharapkan akan dimulai. Catatan:Ini akan dinyatakan dalam milidetik. |
Stempel waktu epoch dalam milidetik |
Mode peristiwa | Wajib | Kolom untuk menunjukkan apakah acara akan berlangsung secara virtual, tatap muka, atau keduanya. |
Enum: VIRTUAL, IN_PERSON, atau HYBRID |
Lokasi - Negara | Wajib Bersyarat | Negara tempat acara berlangsung. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kota | Wajib Bersyarat | Kota tempat acara berlangsung. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat Tampilan | Wajib Bersyarat | Alamat atau nama tempat acara akan berlangsung yang harus ditampilkan kepada pengguna. Catatan: Ini wajib untuk acara yang IN_PERSON atau HYBRID |
Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Alamat | Opsional | Alamat (jika ada) lokasi tempat acara diselenggarakan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Negara Bagian | Opsional | Negara bagian atau provinsi (jika ada) tempat acara diselenggarakan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika berlaku) tempat acara diselenggarakan. | 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 aspek yang direkomendasikan adalah 16:9 Catatan: Gambar sangat direkomendasikan. Jika badge disediakan, pastikan ruang aman sebesar 24 dp di bagian atas dan bawah gambar |
Lihat Spesifikasi Gambar untuk panduan. |
Waktu berakhir | Opsional |
Stempel waktu epoch saat peristiwa diperkirakan akan berakhir. Catatan:Ini akan dinyatakan dalam milidetik. |
Stempel waktu epoch dalam milidetik |
Penyedia Layanan - Nama | Opsional |
Nama penyedia layanan. Catatan:Teks atau gambar diperlukan untuk penyedia layanan. |
Teks bebas. Misalnya, Nama penyelenggara acara/tur |
Penyedia Layanan - Gambar | Opsional |
Logo/gambar penyedia layanan. Catatan:Teks atau gambar diperlukan untuk 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
Badge | Opsional |
Setiap lencana merupakan teks bebas (maks. 15 karakter) atau gambar kecil. |
|
Badge - Teks | Opsional | Judul badge Catatan: Teks atau gambar diperlukan untuk badge |
Teks bebas Ukuran teks yang direkomendasikan: maks 15 karakter |
Lencana - Gambar | Opsional | Gambar kecil Perlakuan UX khusus, Mis. sebagai overlay badge di thumbnail gambar/video. Catatan: Teks atau gambar diperlukan untuk badge |
Lihat Spesifikasi Gambar untuk panduan. |
ID Pemesanan | Opsional | ID reservasi untuk reservasi acara. | Teks bebas |
Harga - Harga Saat Ini | Wajib bersyarat |
Harga tiket saat ini untuk acara. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli tiket/kartu untuk acara. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, 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 peristiwa. Catatan: Berikan kolom ini jika aplikasi Anda ingin mengontrol cara menampilkan kolom kepada pengguna. Berikan string ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 juta, agar tidak terpotong pada ukuran layar yang lebih kecil. |
String |
Rating - Nilai Jumlah | Opsional | Jumlah rating untuk peristiwa. Catatan: Berikan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kami akan menggunakan Jumlah untuk ditampilkan kepada pengguna |
Panjang |
Kategori Konten | Opsional | Deskripsikan kategori konten dalam entitas. | Daftar Enum yang Memenuhi Syarat
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, “Masa inap 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. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kode pos | Opsional | Kode pos (jika berlaku) penginapan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi - Kawasan | Opsional | Lingkungan (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. Rasio aspek yang direkomendasikan adalah 16:9 Catatan: Jika badge diberikan, 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
ID Pemesanan | 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 cara menampilkan kolom kepada pengguna. Berikan string ringkas yang dapat ditampilkan kepada pengguna. Misalnya, jika jumlahnya 1.000.000, pertimbangkan untuk menggunakan singkatan seperti 1 juta, agar tidak terpotong pada ukuran layar yang lebih kecil. |
String |
Rating - Nilai Jumlah | Opsional | Jumlah rating untuk penginapan. Catatan: Berikan kolom ini jika Anda tidak ingin menangani logika singkatan tampilan sendiri. Jika Hitung dan Nilai Hitung ada, kami akan menggunakan Jumlah untuk ditampilkan kepada pengguna |
Panjang |
Harga - Harga Saat Ini | Wajib bersyarat | Harga penginapan saat ini. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli penginapan, yang dicoret di UI. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, 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. Mis., “SFO ke SAN” Ukuran teks yang direkomendasikan: Maksimal 50 karakter |
Jenis Transportasi | Wajib | Mode/jenis transportasi untuk reservasi. | Enum: PENERBANGAN, PELATIHAN, 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 mewakili 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) tempat 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) tempat kedatangan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi Kedatangan - Kode pos | Opsional | Kode pos (jika berlaku) di lokasi kedatangan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Lokasi Kedatangan - Kawasan | Opsional | Lingkungan (jika ada) dari lokasi kedatangan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Penyedia Layanan - Nama | Opsional |
Nama penyedia layanan. Catatan:Teks atau gambar diperlukan untuk penyedia layanan. |
Teks bebas. Misalnya, Nama maskapai penerbangan |
Penyedia Layanan - Gambar | Opsional |
Logo/gambar penyedia layanan. Catatan:Teks atau gambar diperlukan untuk penyedia layanan. |
Lihat Spesifikasi Gambar untuk panduan. |
Gambar poster | Opsional |
Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio aspek yang direkomendasikan 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
ID Pemesanan | Opsional | ID pemesanan untuk reservasi transportasi. | Teks bebas |
Harga - Harga Saat Ini | Wajib bersyarat | Harga reservasi saat ini. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli reservasi, yang dicoret di UI. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, 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 kapal feri/pesawat. | Teks bebas |
Waktu Naik Pesawat | Wajib | Stempel waktu epoch yang menunjukkan waktu naik turun untuk reservasi (jika ada) | 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 pengambilan 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 penjemputan. | 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 pengambilan 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 - Negara Bagian | Opsional | Negara bagian atau provinsi (jika ada) tempat penjemputan. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Alamat Pengambilan - Kode pos | Opsional | Kode pos (jika ada) dari lokasi penjemputan. | 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 | Lokasi negara 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) lokasi pengembalian. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Alamat Pengembalian - Negara Bagian | Opsional | Negara bagian atau provinsi (jika ada) tempat pengembalian. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Alamat Pengembalian - Kode pos | Opsional | Kode pos (jika ada) lokasi pengembalian. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Alamat Pengembalian - Kawasan | Opsional | Lingkungan (jika ada) tempat pengembalian. | Teks bebas Ukuran teks yang direkomendasikan: maks ~20 karakter |
Penyedia Layanan - Nama | Opsional |
Nama penyedia layanan. Catatan:Teks atau gambar diperlukan untuk penyedia layanan. |
Teks bebas. Misalnya, “Rental Mobil Avis” |
Penyedia Layanan - Gambar | Opsional |
Logo/gambar penyedia layanan. Catatan:Teks atau gambar diperlukan untuk penyedia layanan. |
Lihat Spesifikasi Gambar untuk panduan. |
Gambar poster | Opsional |
Kami hanya akan menampilkan 1 gambar jika beberapa gambar disediakan. Rasio aspek yang direkomendasikan 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 satu baris teks untuk setiap subtitel. Catatan: Deskripsi atau daftar subtitel akan ditampilkan kepada pengguna, bukan keduanya. |
Teks bebas Ukuran teks yang direkomendasikan untuk setiap subtitel: maksimal 50 karakter |
ID Konfirmasi | Opsional | ID konfirmasi untuk reservasi penyewaan kendaraan. | Teks bebas |
Harga - Harga Saat Ini | Wajib bersyarat | Harga reservasi saat ini. Harus diberikan jika harga yang dicoret disediakan. |
Teks bebas |
Harga - Harga Coret | Opsional | Harga asli reservasi, yang dicoret di UI. | Teks bebas |
Info Harga | Opsional | Info harga untuk menampilkan promo, acara, diskon pelanggan, 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 yang termasuk dalam beberapa kategori. Hal ini memetakan konten dengan beberapa kategori yang telah ditentukan, 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 penggunaan kategori konten
- Beberapa entitas seperti ArticleEntity dan GenericFeaturedEntity memenuhi syarat untuk menggunakan kategori konten mana pun. Untuk entitas lain seperti EventEntity, EventReservasiEntity, PointOfInterestEntity, hanya sebagian dari kategori ini yang memenuhi syarat. Periksa daftar kategori yang memenuhi syarat untuk jenis entitas sebelum mengisi daftar.
Gunakan jenis entity tertentu untuk beberapa kategori konten, bukan kombinasi entity Generic dan ContentCategory:
- TYPE_IMAGES_AND_TV_SHOWS - Lihat entity dari Panduan integrasi Tonton sebelum menggunakan entitas umum.
- TYPE_BOOKS - Lihat EbookEntity sebelum menggunakan entitas umum.
- TYPE_AUDIOBOOKS - Lihat AudiobookEntity sebelum menggunakan entity generik.
- TYPE_SHOPPING - Lihat ShoppingEntity sebelum menggunakan entitas generik.
- TYPE_FOOD_AND_DRINK - Lihat entity dari panduan Integrasi Makanan sebelum menggunakan entity umum.
Kolom ContentCategory bersifat opsional dan harus dibiarkan kosong jika konten tidak termasuk dalam kategori yang disebutkan sebelumnya.
Jika ada beberapa kategori konten, masukkan kategori tersebut sesuai urutan relevansi dengan konten, dengan kategori konten yang paling relevan 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 cluster yang dipublikasikan, sebaiknya perbarui status publikasi menggunakan API updatePublishStatus. 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 atau tidak.
- Google dapat menggunakan kode status untuk mendorong pengguna melakukan tindakan tertentu dalam 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 merekomendasikan untuk memublikasikan Kartu Login. Jika karena alasan apa pun penyedia tidak dapat memublikasikan Kartu Login, sebaiknya panggil API updatePublishStatus 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 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 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 menggunakanContext.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 fileAndroidManifest.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
Sebaiknya mulai panggilanpublishRecommendationClusters
saat menerima intent ini.com.google.android.engage.action.PUBLISH_FEATURED
Sebaiknya mulai panggilanpublishFeaturedCluster
saat menerima intent ini.com.google.android.engage.action.PUBLISH_CONTINUATION
Sebaiknya mulai panggilanpublishContinuationCluster
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
Hubungi engage-developers@google.com jika ada pertanyaan selama proses integrasi.
Langkah berikutnya
Setelah menyelesaikan integrasi ini, langkah-langkah Anda berikutnya adalah sebagai berikut:
- Kirim email ke engage-developers@google.com dan lampirkan 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.