ホームページ

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

ホームページは、Google Workspace の新しいアドオン機能であり、1 つ以上のコンテキストなしカードを定義する機能を提供します。コンテキストなしカードは、ユーザーが Gmail の受信トレイを表示しているものの、メールや下書きを開いていない場合など、特定のコンテキスト外にあるときにユーザー インターフェースを表示するために使用されます。

ホームページでは、クイック アクセス サイドパネル(Keep、カレンダー、ToDo リスト)の Google アプリと同様に、コンテキストのないコンテンツを表示できます。ホームページは、ユーザーが最初にアドオンを開いたときの最初の出発点とし、新規ユーザーがアドオンを操作する方法を教えることもできます。

アドオンのホームページを定義するには、プロジェクト マニフェストでアドオンを指定し、1 つ以上の homepageTrigger 関数を実装します(ホームページの構成をご覧ください)。

複数のホームページを作成できます(アドオンが拡張するホスト アプリケーションごとに 1 つ)。また、カスタム ホームページを指定していないホストで使用される、共通のデフォルト ホームページを 1 つ定義することもできます。

次のいずれかの条件が満たされると、アドオンのホームページが表示されます。

  • アドオンが最初にホストで開かれたとき(認証の後)。
  • アドオンが開いているときにユーザーがコンテキスト コンテキストから非コンテキスト コンテキストに切り替えた場合。たとえば、カレンダーの予定の編集からメインのカレンダーへの編集などです。
  • ユーザーが [戻る] ボタンをクリックして、内部スタックから他のすべてのカードを取り出す回数。
  • 非コンテキスト カードの UI インタラクションによって Navigation.popToRoot() が呼び出される場合。

ホームページの設計は必須ではありませんが、強く推奨されます。定義しない場合、ユーザーがホームページに移動するたびに、アドオン名を含む汎用カードが使用されます。

ホームページの設定

Google Workspace アドオンは addOns.common.homepageTrigger フィールドを使用して、アドオンのマニフェスト内のすべてのホスト アプリケーションに対してデフォルトのホームページ(コンテキストなし)のアドオン コンテンツを構成します。

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: Google Workspace アドオン フレームワークがホームページのアドオンカードをレンダリングするために呼び出す Apps Script 関数の名前。この関数は、ホームページ トリガー関数です。この関数は、ホームページ UI を構成する Card オブジェクトの配列を作成して返します。複数のカードが返された場合、ホストアプリは、ユーザーが選択できるカードヘッダーのリストにカードヘッダーを表示します(複数のカードの返却を参照)。

  • enabled: このスコープに対してホームページ カードを有効にするかどうか。このフィールドは省略可能で、デフォルトは true です。これを false に設定すると、すべてのホストでホームページ カードが無効になります(そのホストでオーバーライドされている場合を除く。以下をご覧ください)。

共通の構成に加えて、各ホスト アプリケーションの構成(addOns.gmail.homepageTriggeraddOns.calendar.homepageTrigger など)で同一のホストごとのオーバーライドを使用できます。

    {
      ...
      "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 }
        },
        ...
      }
    }

これは、次のマニフェストの抜粋と同等です。

    {
      ...
      "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": { /* ... */ },
        ...
      }
    }

homepageTrigger セクションは必須ではありません。ただし、特定のホスト製品でアドオンに対して表示される UI は、対応するマニフェスト フィールドの存在と、関連する homepageTrigger の有無によって異なります。次の例は、さまざまなアドオン構成トリガー関数(存在する場合)を実行して、異なるマニフェスト構成のホームページ UI を作成する方法を示しています。

ホームページのフロー

ホームページ イベント オブジェクト

上記のホームページ トリガー関数(runFunction)には、呼び出しコンテキストからのデータを含むイベント オブジェクトが渡されます。

ホームページ イベント オブジェクトには、ウィジェットやコンテキスト情報は含まれません。渡される情報は、次の一般的なイベント オブジェクト フィールドに限定されます。

詳しくは、イベント オブジェクトをご覧ください。

その他のコンテキスト以外のカード

アドオン UI には、ホームページではない追加のコンテキストなしカードを含めることができます。たとえば、ホームページに [設定] カードを開くボタンがあり、ユーザーがアドオンの設定を調整できる場合があります(このような設定は、多くの場合、コンテキストとは無関係であり、文脈とは無関係です)。

コンテキストのないカードは他のカードと同様に作成されます。唯一の違いは、アクションまたはイベントによってカードが生成され、表示されることです。カード間の遷移を作成する方法については、ナビゲーション方法をご覧ください。