Google Workspace Marketplace のアプリ審査プロセスと要件

アプリを Google Workspace Marketplace に一般公開するには、アプリとその掲載情報を審査し、デザイン、コンテンツ、スタイルに関する Google のガイドラインが遵守されていることを確認します。

Google によるアプリの審査が完了すると、追加の対応が必要かどうか、または承認されたかどうかについてメールが届きます。

  • アプリに追加の作業が必要な場合: 改善が必要な点に関する具体的な情報が記載された審査ドキュメントが届きます。問題を解決して、審査のためにアプリを再送信します。
  • 審査チームがアプリを承認した場合: アプリは自動的に公開され、通知メールが届きます。

審査のためにアプリを送信する前に、アプリを公開する準備が整っていることを確認してください。詳しくは、公開プロセスの準備をご覧ください。

審査期間

アプリの審査には通常数日かかります。所要時間は次の要素によって異なります。

  • 最近送信されたアプリの数
  • アプリに必要な追加作業の量

アプリが審査に合格しない一般的な理由

OAuth の確認:

  • OAuth 同意画面の設定が正しくない。たとえば、ユーザータイプが [内部] に設定されている場合や、公開ステータスが [テスト中] に設定されている場合などです。

  • アプリが OAuth 検証を完了していません。

アプリのリスティングに関する問題:

  • アプリ名、ロゴ、アプリの説明における Google の商標の不適切な使用。詳しくは、Google Workspace Marketplace のブランディング ガイドラインをご覧ください。

  • リンクが機能しない、または間違った情報を指している。たとえば、プライバシー ポリシーのリンクがデベロッパー サポート ページを指している場合。

  • スクリーンショットや画像が低品質である、またはアプリの機能を正確に表していない。

アプリの準備状況:

  • アプリはまだテスト中で、一般公開の準備ができていません。
  • アプリにバグがあるか、完全に機能していない。

審査基準

アプリを審査に提出する前に、アプリがすべての要件を満たし、Google Workspace Marketplace プログラム ポリシーに準拠していることを確認してください。

すべてのアプリに対する要件

チェックボックスを使用して、予備審査の進捗状況を追跡できます。

カテゴリ 条件
アプリ名
  • 同じ名前のアプリのリスティングが他にない。
  • 名前にバージョン番号が含まれていません。
  • 名前が OAuth 同意画面の名前と一致している。
  • 名前があいまいすぎたり、一般的すぎたりしない。
  • 名前は 50 文字以下です。
  • (推奨)名前はタイトルケースを使用します。
  • 推奨)名前に句読点(特に括弧)が含まれていない。
  • 推奨)名前が Google Workspace アプリケーション内に表示される名前と一致している。たとえば、Google Workspace アドオンでは、マニフェスト内の名前はアプリのリスティングで指定された名前と似ています。
デベロッパー向け情報
  • デベロッパー名とデベロッパーのウェブサイトが、デベロッパーに関する関連情報を正確に表し、その情報に直接リンクしている。
  • 消費者保護法により、Google Workspace Marketplace の販売者がトレーダーであるかトレーダーでないかを、欧州経済領域(EEA)の消費者に通知する必要があります。
    • トレーダー - トレーダーとは、商業、ビジネス、技術、職業に関連する目的で活動する人、またはトレーダーの名義で、もしくはトレーダーの代理として活動する人を指します。
    • 非取引業者 - 非取引業者(消費者)とは、専門的な目的以外で行動する人を指します。

    指定しない場合は、アプリのストアの掲載情報ページに [トレーダーのステータスが指定されていません] と表示されます。

アプリの説明文
  • 提供されたすべてのリンクが機能し、正しい情報にリンクされていること。たとえば、プライバシー ポリシーのリンクは、プライバシー ポリシーを説明するページを指します。
  • アプリがサードパーティ サービスとやり取りする場合、説明にはサードパーティ サービスの内容、アプリがどのようにやり取りするかを記載し、必要に応じて関連するウェブサイトへのリンクを記載します。
  • 簡潔で詳細な説明がわかりやすい。
  • 短い説明と詳細な説明が同じではありません。
  • 推奨)料金情報が完全かつ正確である。
  • 推奨)言語ごとに属性の完全なセット(名前、簡単な説明、詳細な説明)が言語の不一致なく正しく定義されています。
機能
  • 明らかなバグはなく、エッジケースを含むすべてのアクションが完全に機能します。読み込み時間は読み込みインジケーターで管理されます。
  • アプリが Google API との明確なやり取りを示している。
  • アプリは、Google サービスにすでに含まれている機能と同等ではない、新しい機能または拡張機能を提供している。
  • アプリは広告やスパムを目的としたものではありません。
  • アプリは完全に機能しており、テスト目的のものではありません。開発中のものではありません。
  • アプリがユーザーまたは有料ユーザーが利用できる機能とやり取りする場合、デベロッパーのシステム上のテスト アカウントが Google の審査チームに提供されます。
ユーザー エクスペリエンス
  • アプリ(名前を含む)で Google ブランド アセット、商標、Google ブランドのコンテンツが使用されていない。Google Workspace Marketplace のブランディング ガイドラインをご覧ください。
  • 承認とログインは 1 回だけ必要です。アプリはワンクリック SSO またはゼロクリック SSO を使用します。
  • 管理者がドメインの OAuth 2.0 スコープの権限を付与すると、個々のユーザーにスコープ権限が再度求められることはありません。
  • ユーザーは Google アカウントにログインした後、認証情報を入力する必要はありません。アクセスするには、[Google でログイン] ボタンをクリックするだけで済みます。
  • ボタンのラベル、メニュー項目、タイトル、その他のアプリ要素に、一貫性があり、わかりやすく、理解しやすい用語が使用されている。たとえば、ラベルは「はい」や「いいえ」ではなく、「削除」や「キャンセル」などのアクション名を参照します。
  • ログインが必要な場合、ログアウト機能が正常に動作します。トークンが取り消され、ログインを最初からやり直すことができます。
  • 操作に対して、確認メッセージやエラー メッセージなどのフィードバックが常に表示される。
  • 画像リンクの破損やぼやけた画像がない。
グラフィック
  • アイコンのサイズが適切で、正方形で、背景が透明である。画像および映像をご覧ください。
  • アイコンはアプリの名前または機能を適切に表している。
  • アイコンがカラーである(グレースケールではない)。
  • アイコンに Google の商標が使用されていない。
  • スクリーンショットや画像がぼやけていたり、読みにくかったり、不適切だったりしない。アプリを正確に表している。
  • 推奨)アプリの使用方法と機能を明確に示すスクリーンショット。
OAuth
  • アプリは OAuth 検証に合格しており、可能な限り狭い OAuth スコープを使用しており、すべてのスコープが Google Services API と正しく統合されています。

特定のアプリ統合に関する追加要件

アプリのリスティングに含まれるアプリの統合を選択して、関連する審査基準を表示します。列名をクリックすると、カテゴリなどの条件で並べ替えることができます。

チェックボックスを使用して、予備審査の進捗状況を追跡できます。

アプリへの組み込み カテゴリ 条件
Google Chat 用アプリ 名前
  • アプリと通信するためのボタンは、説明から利用できます。
  • アプリ名が A ~ Z(大文字)または 0 ~ 9 で始まっている。記号で始めることはできません。
Google Chat 用アプリ 機能
Google Chat 用アプリ ユーザー エクスペリエンス
  • ユーザーがダイレクト メッセージを開始するたび、またはアプリがスペースに追加されるたびに、アプリからウェルカム メッセージが送信されます。ウェルカム メッセージは「ヘルプ」コマンドとは異なります。ドキュメントを見る
  • アプリは「ヘルプ」コマンドをサポートし、ユーザーがアプリを使い始めるのをサポートします。ドキュメントを見る
  • スペースまたはダイレクト Chat で話しかけられた場合、アプリは常に応答します。
  • メッセージのスペル、大文字と小文字の使い分け、句読点、文法が正しい。メッセージに悪意のある、攻撃的な、または侮辱的な内容が含まれていない。
  • メッセージでは、Google の要件に沿って、テキストやカードに明確で簡潔かつ一貫性のある形式を使用します。
  • レスポンスに 2 秒以上かかる場合、アプリは遅延を説明するメッセージを送信します。
  • 通知を送信するアプリでは、ユーザーが通知をオフにできるようにします。
  • ユーザーは名前リンクを使用してアプリをスペースに追加できます。
  • ユーザーは、[メンバーを表示] メニューを使用して、スペースからアプリを削除できます。
  • アプリは、操作に必要なすべての情報をユーザーに示します。
  • アプリで使用されるカードの形式が Google の要件を満たしている。ドキュメントを見る
  • このアプリは、Chat メニューの [アプリを探す] オプションから利用できます。
  • アプリがやり取りする外部 URL が、ステージング環境または開発環境に属していない。
  • スペースでアプリ宛のメッセージを送信する場合は、必ず名前リンクを記述する必要があります。アプリが応答する必要があることを認識する唯一の方法です。
  • Chat アプリがサードパーティのドメインのリンクをプレビューする場合:
    • リンクのプレビューでは、ユーザーのメッセージに関連する補足情報が表示されます。たとえば、営業案件へのリンクをプレビューすると、アカウント、金額、ステージなどの情報が追加されます。
    • デベロッパーはプレビュー対象のドメインに関連付けられています。

    リンクのプレビューについて詳しくは、ドキュメントをご覧ください

  • (推奨)Workspace 管理者が組織内のユーザーの代わりにアプリをインストールできるようにするには、アプリがダイレクト メッセージの送受信に対応している必要があります。
Google Chat 用アプリ グラフィック
  • アプリに認識しやすく明確なアバターがある。
Google ドライブ アプリ 機能
  • Chrome ブラウザの拡張機能を使用して、ドライブの HTML を直接操作することで機能を提供していない。
  • 機密性の高いスコープや制限付きスコープを使用するアプリは、OAuth の確認を受ける必要があります。確認を受けるためのアプリの送信をご覧ください。
  • アプリが制限付きスコープを使用している場合は、セキュリティ評価も受ける必要があります。セキュリティ診断をご覧ください。
Google ドライブ アプリ ユーザー エクスペリエンス
  • アプリがファイルをドライブに保存する場合、ユーザーはフォルダを選択するか、アプリ固有のフォルダを作成して再利用できます。構成データは、アプリデータ フォルダに保存できます。アプリは、ユーザーの [マイドライブ] フォルダにファイルをダンプしません。
  • アプリは、アプリのドキュメント化された機能に関連付けられたドライブにのみファイルを保存します。
エディタのアドオン 機能
  • 想定されるアクションと必要なアクションがアドオンに含まれており、ワークフローを完了するために必要なすべてのツールが提供されます。以下に例を示します。
    • アドオンがドキュメント全体にスタイルを適用する場合、選択したテキストのみにスタイルを適用するオプションが提供されます。
    • アドオンがスプレッドシート データをウェブ サービス フィードにアップロードする場合、そのフィードへのリンクが用意されているため、簡単に移動できます。
    • アドオンでアカウントが必要な場合は、ユーザーがアカウントをまだ持っていない場合に、アカウントを簡単に作成するためのリンクまたは情報が提供されます。
  • アドオンに [アドオン] タブのメニュー項目がある。
  • アドオンがカスタム関数のみの場合でも、適切なドキュメントが含まれています。
  • アドオンは onInstall()onOpen() を正しく使用してメニューを設定します。メニュー項目は、アドオンが最初にインストールされたときと、別のファイルが開かれたときに設定されます。 エディタ アドオンの承認をご覧ください。
  • 承認モードが正しく設定されている。 認証モードをご覧ください。
  • アドオンは、Apps Script の V8 ランタイムで実装する必要があります。詳細については、V8 ランタイムの概要をご覧ください。
エディタのアドオン ユーザー エクスペリエンス
  • アドオンには、プロダクトの基本情報と使用方法を理解するために必要なすべての情報が含まれています。
  • アドオンのコードでライブラリが過度に使用されていない。ライブラリが原因でアドオンのパフォーマンスが低下する可能性があるため。
  • エラーは可能な限り回避され、回避できない場合は適切に管理されます。
    • エラー メッセージは、JavaScript アラートやデフォルトの赤いバーではなく、ダイアログ ウィンドウに表示されます。問題を伝え、問題を解決するためにユーザーがすべきことを簡単な言葉で説明します。
    • ユーザーが間違った操作をしている場合は、問題を解決するボタンが表示されます。
    • 詳しくは、 アドオンのスタイルガイドをご覧ください。
  • 外部ページへのリンクが新しいウィンドウで開き、正しい。
  • アドオンは直感的で、設計も優れています。つまり、次のようになります。
    • 何をすべきか、どのようにすべきかが常に明確です。
    • アドオンはアクセスしやすく、理解しやすいものです。専門用語や業界用語は避ける。
    • ワークフローは明確で、可能な限り円滑に進められます。
    • ユーザーとそのコンテンツを可能な限り安全に保つ。
  • アドオンは、 エディタ アドオンの UI スタイルガイドに準拠し、 エディタ アドオンの CSS パッケージを使用します。
  • アドオンでは、ディスプレイごとに 1 つの青色のプライマリ アクションのみを使用します。
  • アドオンは一度に 1 つのダイアログを表示します。重複したり、複数のダイアログが同時に開いたりしない。
  • アドオンの UI は、割り当てられたスペースにぴったり収まります。
    • テキストとラベルが「...」で切り捨てられない
    • ユーザーは縦スクロールをあまり行う必要がありません。
    • コンテンツの幅が 300 ピクセルを超えないようにして、横スクロールバーが表示されないようにします。
  • アドオンは、機密情報に関するすべての操作について確認を求めるか、警告を表示します。たとえば、アドオンがスプレッドシートのすべてのコンテンツを上書きしようとしている場合、ユーザーに警告が表示され、ユーザーがアクションを確認してから実行されます。

    この要件は、設計変更によって回避できます。たとえば、データをインポートする Google スプレッドシート アドオンは、既存のコンテンツを上書きするリスクを生み出します。データをシートのデフォルトのアクションとして設定することで、リスクを解消できます。

  • アクションの読み込み中に、ユーザーがアクションを複数回トリガーできない。たとえば、アクションの読み込み中にボタンがオフになったり、非表示になったりします。
Google Workspace アドオン 名前

カレンダーのアドオン

  • アドオンが calendar.name または common.name を使用している場合、マニフェストの名前はアプリの掲載情報で指定された名前と同じです。
  • アドオンが calendar.conferenceSolution を使用している場合、会議ソリューション名に「Google カレンダー」は含まれません。
  • 推奨)アドオンが calendar.conferenceSolution を使用する場合、会議ソリューションの名前は 30 文字を超えません。
Google Workspace アドオン 機能
  • アドオンは、目的の機能に適切な UI 要素( ウィジェットや Meet アドオンの iframe UI など)を使用しています。たとえば、ブール値を選択するにはスイッチを使用します。

カレンダーのアドオン

  • 予備カレンダーと委任がサポートされているか、サポートされていない場合は適切に管理されている。たとえば、ユーザーが予定の作成時に編集権限のある別のカレンダーを選択した場合、会議の作成は失敗しません。
  • 定期的な予定が正しく機能する。
  • アドオンが calendar.conferenceSolution を使用している場合、少なくとも 1 つの会議ソリューションが提供されます。
  • アドオンが会議ソリューションを提供する場合、適切な会議データ フィールドが使用されます。たとえば、ビデオ会議のリンク、電話番号、SIP リンク、アクセスコード、その他のサポートされている属性は、構造化データ フィールドを使用し、メモ フィールドには表示されません。
  • アドオンが会議ソリューションを提供する場合、会議の詳細のみを編集し、他の予定フィールドは編集しません。
  • アドオンが会議ソリューションを提供している場合、会議の作成には 5 秒もかかりません。

Gmail アドオン

アドオンで UrlFetchApp または OpenLinkUrl を使用している場合:

  • URL は有効です。
  • URL で HTTP ではなく HTTPS が使用されている。
  • 完全なドメインが指定されています。
  • パスが空ではありません。たとえば、https://altostrat/ は問題ありませんが、https://altostrat は使用できません。
  • UrlFetchApp ではワイルドカードを使用できません。

Meet アドオン

  • サードパーティの Cookie が無効になっている場合でも、アドオンのログインとユーザー ジャーニーが機能する必要があります。
  • アドオンは、会議の運営または参加に関連する機能を提供する必要があります。
  • アドオンは、ブラウザの更新など、ユーザーが会議から退出するような操作を行ってはなりません。
  • マルチプレーヤー エクスペリエンスを使用する場合、アドオンでは、権限が事前に設定されていない場合でも、すべての参加者がコンテンツで共同作業できるようにする必要があります。権限の調整は、コラボレーション アドオン セッション中に利用可能である必要があります。
  • アドオンは、開始アクティビティ フローのキャンセルを処理し、ユーザーがアプリからアクティビティの開始を再開できるようにする必要があります。
  • アドオンは、アクティビティ エクスペリエンスのログインと設定を行うためのサイドパネルを提供する必要があります。
  • アドオンは、bot を招待する機能を提供したり、会議に bot が存在することを前提としたりしてはなりません。
Google Workspace アドオン ユーザー エクスペリエンス
  • アドオンにホームページがあります。Google Workspace アドオンが変換された Gmail アドオンの場合、デフォルトのホームページが適用されます。
  • UI 要素(アドオンカードや Meet アドオンの iframe UI など)が適切に機能している。たとえば、重複するアイテムがない、戻るボタン、更新ボタン、更新ボタンが適切に機能する、などです。
  • ユーザーがアドオンを承認すると、カスタマイズされたホームページ カードや Meet アドオンのウェブページなどの情報が表示され、ログイン(必要な場合)用のボタン、ロゴ、アドオンの簡単な説明が表示されます。
    • ログインボタンがトリガーされると、サードパーティ ベンダーのカスタマイズされたログインページが表示され、Google Workspace の外部で動作するサードパーティ サービスがあることが明確に示されます。
  • アドオンの UI が割り当てられたスペースにぴったり収まります。
    • テキストとラベルが「...」で切り捨てられない
    • ユーザーは縦方向にあまりスクロールする必要がありません。
    • コンテンツの幅が 300 ピクセルを超えないようにして、横スクロールバーが表示されないようにします。
  • アドオンのコードでライブラリが過度に使用されていない。ライブラリはアドオンのパフォーマンス低下の原因となる可能性があるため。

カレンダーのアドオン

  • アドオンが会議ソリューションを提供する場合、作成された会議は有効であり、サードパーティの会議ウェブサイトに正しく表示されます。

ドキュメント アドオン

アドオンがサードパーティ ドメインのリンクをプレビューする場合(スマートチップ):

  • リンク プレビューは、ユーザーに関連性の高い補足情報を提供します。たとえば、販売案件へのリンクをプレビューすると、アカウント、金額、ステージなどの情報が追加されます。
  • デベロッパーがプレビュー対象のドメイン(スマートチップの作成をトリガーする指定された URL パターン)に関連付けられている。

詳細については、スマートチップを使用してリンクをプレビューするをご覧ください。

ドライブのアドオン

  • アプリがファイルをドライブに保存する場合、ユーザーはフォルダを選択するか、アプリ固有のフォルダを作成して再利用できます。構成データは、アプリデータ フォルダに保存できます。アプリは、ユーザーの [マイドライブ] フォルダにファイルをダンプしません。
  • アドオンは、アドオンのドキュメントに記載されている機能に関連付けられたファイルのみをドライブに保存します。

Gmail アドオン

  • アドオンが、正当な理由なく Chrome ブラウザの拡張機能に言及したり、リンクしたりしていない。
  • その他の操作メニュー には、適切に機能するユニバーサル アクションが含まれています。(ログアウト、概要、サポートなど)。

Meet アドオン

  • アドオンにライセンスまたはサブスクリプションが必要な場合: ユーザーがライセンスを持っていない場合は、ユーザーにわかりやすいメッセージを表示する必要があります。
  • ライセンスの問題が原因でアドオンを使用できない場合は、アドオンを使用できない理由をエラー メッセージで明確に示し、状況を改善するためのユーザーの行動を提案する必要があります。
  • アドオンの Google Workspace Marketplace の掲載情報には、アドオンの使用に必要となるライセンスとサブスクリプションの要件に関する詳細を明記する必要があります。アドオンに有料プランがある場合、Marketplace のリスティングには、料金や営業担当者への問い合わせ方法に関する詳細情報を提供するウェブページへのリンクを記載する必要があります。
  • ユーザーがまだログインしていない場合、アドオンは Google ワンタップを表示するに記載されているワンタップ ログインのプロンプトと、認証に記載されている「Google でログイン」のフォールバックを表示する必要があります。「Google でログイン」のメカニズムに加えて、他のログイン オプションが提供されることもあります。
  • アドオンは、コンテンツをさまざまなサイズに適応させることができるレスポンシブ デザインを備えている必要があります。
  • サードパーティの Cookie が無効になっている場合でも、アドオンのユーザー ジャーニーが機能する必要があります。
  • アドオンの iframe 内に横スクロールがあってはなりません。
  • アドオンでメイン画面を使用する場合は、マルチプレーヤー エクスペリエンス向けに設計し、複数の参加者が同時にコンテンツを操作できるようにする必要があります。シングル プレーヤー エクスペリエンスの場合、デベロッパーはサイドパネルを使用する必要があります。
  • 推奨)アドオンは、ログインしているユーザーを表示する必要があります。
  • 推奨)ローカライズの選択: 言語は、ブラウザで設定されたローカル設定に基づいて選択する必要があります(利用可能な場合)。
  • 推奨)コンテンツの選択は、最近アクセスしたコンテンツを表示するコンテンツ閲覧インターフェースを通じて行うべきです。
  • 推奨)サイドパネルが不要になった場合、アドオンはメインステージに起動した後、サイドパネルを閉じる必要があります。
Google Workspace アドオン グラフィック

カレンダーのアドオン

  • 会議ソリューションのロゴは公開 URL です。 会議ソリューションのロゴを提供するをご覧ください。
  • アドオンで calendar.conferenceSolution を使用する場合、会議ソリューションのロゴは calendar.logoUrl の要件に準拠します。 カレンダー マニフェスト リソースをご覧ください。
  • アドオンで calendar.logoUrl または common.logoUrl を使用する場合、ロゴはアプリの掲載情報で提供されるアイコンと同じです。
  • アドオンが calendar.logoUrl または common.logoUrl を使用している場合、ロゴの URL は https://lh3.googleusercontent.com/ で始まります。

Meet アドオン

  • アドオンのブランドロゴは、Meet のサイドパネルで識別できるサイズとスタイルにする必要があります。
  • アドオンのマニフェストで、適切なダークモードのロゴの URL を指定する必要があります
Google Workspace アドオン OAuth

ドライブのアドオン

  • 推奨)限定されたメタデータを受け取る場合は、アドオンに drive.addons.metadata.readonly スコープが含まれます。
ウェブアプリ 機能
  • ユニバーサル ナビゲーション URL がウェブアプリを指している。機能のないシンプルなウェブページはウェブアプリと見なされません。