Halaman beranda adalah fitur Add-on Google Workspace yang baru yang memberikan kemampuan untuk menentukan satu atau beberapa kartu non-kontekstual. Kartu non-kontekstual digunakan untuk menampilkan antarmuka pengguna saat pengguna di luar konteks tertentu, seperti saat pengguna melihat kotak masuk Gmail mereka namun belum membuka pesan atau draf.
Halaman beranda memungkinkan Anda menampilkan konten non-kontekstual, sama seperti aplikasi Google di panel samping akses cepat (Keep, Calendar, dan Tasks). Beranda juga dapat memberikan awalan saat pengguna pertama kali membuka add-on Anda, dan berguna untuk mengajar cara berinteraksi dengan add-on Anda kepada pengguna baru.
Anda dapat menentukan halaman beranda untuk add-on dengan menentukannya dalam project
manifes dan mengimplementasikan satu atau beberapa fungsi homepageTrigger
(lihat
Konfigurasi halaman beranda).
Anda dapat memiliki beberapa halaman beranda, satu untuk setiap aplikasi host tempat add-on Anda akan meluas. Anda juga dapat memutuskan untuk mendefinisikan satu beranda {i>default<i} umum yang digunakan di {i>host<i} yang halaman beranda khususnya belum Anda tentukan.
Halaman beranda add-on akan ditampilkan jika salah satu kondisi berikut terpenuhi:
- Saat add-on pertama kali dibuka di host (setelah otorisasi).
- Saat pengguna beralih dari konteks kontekstual ke konteks non-kontekstual saat add-on dibuka. Misalnya, dari mengedit acara Kalender ke Kalender utama ini.
- Ketika pengguna mengeklik tombol kembali cukup sering untuk keluarkan setiap kartu lain dari stack internal.
- Saat interaksi UI dalam kartu non-kontekstual menghasilkan
Navigation.popToRoot()
panggilan telepon.
Mendesain beranda tidaklah wajib tetapi sangat direkomendasikan; jika Anda tidak mendefinisikannya, maka kartu generik yang berisi nama add-on Anda akan digunakan setiap kali pengguna menavigasi ke halaman beranda.
Konfigurasi halaman beranda
Add-on Google Workspace menggunakan
addOns.common.homepageTrigger
untuk mengonfigurasi konten add-on halaman beranda (non-kontekstual) default untuk
semua aplikasi host di add-on
manifes:
{
// ...
"addOns": {
// ...
"common": {
// ...
"homepageTrigger": {
"runFunction": "myFunction",
"enabled": true
}
}
}
}
runFunction
: Nama fungsi Apps Script yang Framework Add-on Google Workspace dipanggil untuk merender kartu add-on halaman beranda. Fungsi ini adalah fungsi pemicu halaman beranda. Fungsi ini harus membangun dan menampilkan arrayCard
objek yang membentuk UI {i>homepage<i}. Jika lebih dari satu kartu dikembalikan, aplikasi host menampilkan header kartu dalam daftar yang dapat dipilih pengguna dari (lihat Mengembalikan beberapa kartu).enabled
: Apakah kartu halaman beranda harus diaktifkan untuk cakupan ini. Ini kolom bersifat opsional, dan setelan defaultnya adalahtrue
. Menetapkannya kefalse
akan menyebabkan menonaktifkan kartu halaman beranda untuk semua host (kecuali jika diganti host; lihat di bawah).
Selain konfigurasi umum, ada juga
dan penggantian per host berstruktur identik,
tersedia di setiap aplikasi host
di addOns.gmail.homepageTrigger
, addOns.calendar.homepageTrigger
,
dan sebagainya:
{
...
"addOns": {
...
"common": {
// By default, call 'buildHomePage' to render homepage content
// in all hosts. Since calendar.homepageTrigger below overrides
// this in Calendar and Drive and the homepageTrigger is disabled
// for Gmail, this homepage function never executes.
"homepageTrigger": { "runFunction": "buildHomePage" }
},
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "buildCalendarHomepage" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "buildDriveHomepage" }
}
"gmail": {
// Disable homepage add-on content in Gmail.
"homepageTrigger": { "enabled": false }
},
...
}
}
Perhatikan bahwa perintah ini sama dengan kutipan manifes berikut:
{
...
"addOns": {
...
"common": { /* ... */ }, // Omitted a default homepageTrigger specification.
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "myCalendarFunction" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "myDriveFunction" }
}
"gmail": { /* ... */ },
...
}
}
Tidak satu pun bagian homepageTrigger
yang bersifat wajib. Namun, UI yang ditampilkan untuk
add-on di produk host tertentu bergantung pada keberadaan
kolom manifes yang sesuai, dan apakah ada
homepageTrigger
. Contoh berikut menunjukkan fungsi pemicu add-on
dieksekusi (jika ada) untuk membuat UI halaman beranda bagi manifes yang berbeda
konfigurasi:
Objek peristiwa halaman beranda
Saat dipanggil, fungsi pemicu halaman beranda (runFunction
) yang dijelaskan di atas akan
meneruskan objek peristiwa
yang berisi data dari konteks pemanggilan.
Objek peristiwa halaman beranda tidak menyertakan informasi kontekstual atau widget; tindakan informasi yang diteruskan terbatas pada objek peristiwa umum bidang:
commonEventObject.clientPlatform
commonEventObject.hostApp
commonEventObject.userLocale
dancommonEventObject.userTimezone
(tetapi lihat Mengakses lokalitas dan zona waktu pengguna untuk informasi pembatasan).
Lihat Objek peristiwa untuk detail selengkapnya.
Kartu non-kontekstual lainnya
UI add-on Anda dapat berisi kartu non-kontekstual tambahan yang tidak halaman beranda. Misalnya, beranda Anda mungkin memiliki tombol yang membuka "Setelan" tempat pengguna dapat menyesuaikan setelan add-on (setelan tersebut dalam kebanyakan kasus akan independen dari konteks dan karenanya tidak kontekstual).
Kartu non-kontekstual dibuat seperti kartu lainnya; satu-satunya perbedaan adalah tindakan atau peristiwa apa yang menghasilkan dan menampilkan kartu. Lihat Metode navigasi untuk detail tentang cara membuat transisi antarkartu.