Beranda

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Halaman beranda adalah fitur add-on Google Workspace 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, tetapi belum membuka pesan atau draf.

Halaman beranda memungkinkan Anda menampilkan konten non-kontekstual, sama seperti aplikasi Google di panel samping akses cepat (Keep, Kalender, dan Tasks). Halaman beranda juga dapat memberikan tempat awal awal ketika pengguna pertama kali membuka add-on dan berguna untuk mengajari pengguna baru cara berinteraksi dengan add-on Anda.

Anda dapat menentukan halaman beranda untuk add-on dengan menentukannya dalam manifes project Anda dan menerapkan satu atau beberapa fungsi homepageTrigger (lihat Konfigurasi halaman beranda).

Anda dapat memiliki beberapa halaman beranda, satu untuk setiap aplikasi host yang diperluas oleh add-on Anda. Anda juga dapat memutuskan untuk menentukan satu halaman beranda default yang digunakan di host yang halaman berandanya belum Anda tentukan.

Halaman beranda add-on ditampilkan saat 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 terbuka. Misalnya, dari mengedit acara Kalender menjadi Kalender utama.
  • Saat pengguna mengklik tombol kembali dengan cukup sering untuk memunculkan setiap kartu lainnya dari tumpukan internal.
  • Saat interaksi UI di kartu non-kontekstual menghasilkan panggilan Navigation.popToRoot().

Mendesain halaman beranda tidak wajib, tetapi sangat direkomendasikan. Jika Anda tidak menentukan halaman beranda, kartu umum yang berisi nama add-on akan digunakan setiap kali pengguna membuka halaman beranda.

Konfigurasi halaman beranda

Add-on Google Workspace menggunakan kolom addOns.common.homepageTrigger untuk mengonfigurasi konten add-on halaman beranda default (non-kontekstual) untuk semua aplikasi host dalam manifes add-on:

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: Nama fungsi Apps Script yang dipanggil oleh framework Add-on Google Workspace untuk merender kartu add-on halaman beranda. Fungsi ini adalah fungsi pemicu halaman beranda. Fungsi ini harus mem-build dan menampilkan array objek Card yang membentuk UI halaman beranda. Jika lebih dari satu kartu ditampilkan, aplikasi host akan menampilkan header kartu dalam daftar yang dapat dipilih pengguna (lihat Menampilkan beberapa kartu).

  • enabled: Apakah kartu halaman beranda harus diaktifkan untuk cakupan ini. Kolom ini bersifat opsional, dan ditetapkan secara default ke true. Menyetelnya ke false akan menyebabkan kartu halaman beranda dinonaktifkan untuk semua host (kecuali jika diganti untuk host tersebut; lihat di bawah).

Selain konfigurasi umum, ada juga penggantian per host yang terstruktur secara identik yang tersedia di setiap konfigurasi aplikasi host, di addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger, dan seterusnya:

    {
      ...
      "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 ini setara dengan nukilan 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 ada bagian homepageTrigger yang diperlukan. Namun, UI yang ditampilkan untuk add-on dalam produk host tertentu bergantung pada keberadaan kolom manifes yang sesuai, dan apakah ada homepageTrigger yang terkait atau tidak. Contoh berikut menunjukkan fungsi pemicu add-on yang dijalankan (jika ada) untuk membuat UI halaman beranda untuk konfigurasi manifes yang berbeda:

Alur halaman beranda

Objek peristiwa halaman beranda

Saat dipanggil, fungsi pemicu halaman beranda (runFunction) yang dijelaskan di atas akan diteruskan ke objek peristiwa yang berisi data dari konteks pemanggilan.

Objek peristiwa halaman beranda tidak menyertakan informasi widget atau kontekstual; informasi yang diteruskan terbatas pada kolom objek peristiwa umum berikut:

  • commonEventObject.clientPlatform
  • commonEventObject.hostApp
  • commonEventObject.userLocale dan commonEventObject.userTimezone (tetapi lihat Mengakses lokal pengguna dan zona waktu untuk informasi pembatasan).

Lihat Objek peristiwa untuk detail selengkapnya.

Kartu non-kontekstual lainnya

UI add-on dapat berisi kartu non-kontekstual tambahan yang bukan halaman beranda. Misalnya, halaman beranda mungkin memiliki tombol yang membuka kartu "Setelan" tempat pengguna dapat menyesuaikan setelan add-on (dalam sebagian besar kasus, setelan tersebut biasanya tidak bergantung pada konteks, sehingga tidak kontekstual).

Kartu non-kontekstual di-build seperti kartu lainnya; satu-satunya perbedaan adalah tindakan atau peristiwa apa yang menghasilkan dan menampilkan kartu. Lihat Metode navigasi untuk mengetahui detail cara membuat transisi antar-kartu.