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

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

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

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

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

審査時間

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

  • 最近送信されたアプリの数
  • アプリでの追加作業の程度

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

OAuth 検証:

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

  • アプリで OAuth 検証が完了しませんでした。

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

  • アプリの名前、ロゴ、アプリの説明で Google の商標を不適切に使用している。ガイダンスについては、Google Workspace Marketplace のブランド ガイドラインをご覧ください。

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

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

アプリの準備状況:

  • このアプリはまだテスト中であり、一般公開されていません。
  • アプリにバグがある、または完全に機能していない。

審査基準

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

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

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

カテゴリ 条件
アプリ名
  • 同じ名前のアプリの掲載情報は他にありません。
  • 名前にバージョン番号が含まれていません。
  • この名前は OAuth 同意画面の名前と一致します。
  • 名前があいまいすぎたり、汎用性が高すぎたりしない。
  • 名前は 50 文字以下です。
  • (推奨)名前はタイトルケースで入力します。
  • 推奨)名前に句読点(特にかっこ)が含まれていない。
デベロッパー向け情報
  • デベロッパー名とデベロッパーのウェブサイトが、デベロッパーに関する関連情報を正確に表し、その情報に誘導している。
  • 消費者保護法により、欧州経済領域(EEA)に拠点を置く消費者には、Google Workspace Marketplace の販売者がトレーダーであるか、トレーダーではないかを通知する必要があります。
    • トレーダー - トレーダーとは、商業、ビジネス、技術、職業に関連する目的で活動する個人、またはトレーダーの名前で、またはトレーダーに代わって活動する個人です。
    • トレーダーではない - トレーダーではない(消費者)とは、専門的な目的以外の目的で活動する個人です。

    指定しない場合、アプリのストアの掲載情報ページに「トレーダーのステータス未指定」と表示されます。

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

特定のアプリ統合の追加要件

アプリの掲載情報に含まれるアプリ統合を選択して、関連する審査基準を表示します。列名をクリックすると、基準を並べ替えることができます(カテゴリ別など)。

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

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

    詳細については、プレビュー リンクをご覧ください。

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

    この要件は、設計変更によって回避できます。 たとえば、データをインポートする Google スプレッドシート アドオンを使用すると、既存のコンテンツが上書きされるリスクがあります。デフォルトのアクションとしてデータのシートを作成すると、このリスクを回避できます。

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

カレンダー アドオン

  • アドオンが calendar.name または common.name を使用する場合、マニフェスト内での名前は、アプリの掲載情報内で指定されている名前と同じになります。
  • アドオンが calendar.conferenceSolution を使用している場合、会議ソリューション名に「Google カレンダー」は含まれません。
  • 推奨)アドオンが calendar.conferenceSolution を使用する場合、会議ソリューションの名前は 30 文字を超えないようにします。
Google Workspace アドオン 機能
  • アドインは、目的の機能に適した ウィジェット(または 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 アドオンの場合は、デフォルトのホームページが適用されます。
  • アドオンカード(または Meet アドオンでは iframe 付きの UI)が適切に機能する。たとえば、重複するアイテムはなく、[戻る]、[更新]、[更新] ボタンが適切に機能します。
  • ユーザーがアドオンを承認すると、カスタマイズされたホームページ カード(Meet アドオンのウェブページ)が表示され、ログイン ボタン(必要に応じて)、ロゴ、アドオンの簡単な説明とともにユーザーを迎えます。
    • ログインボタンがトリガーされると、サードパーティ ベンダーのカスタマイズされたログインページが表示されます。このページには、Google Workspace の外部で動作するサードパーティ サービスがあることが明記されています。
  • アドオンの UI は、割り当てられたスペースにきちんと収まります。
    • テキストとラベルが「...」で切り捨てられない
    • ユーザーが縦方向にスクロールする回数を減らせる。
    • コンテンツの幅が 300 ピクセルを超えないようにして、横方向のスクロールバーが表示されないようにします。
  • ライブラリはアドオンのパフォーマンス低下を引き起こす可能性があるため、アドオンのコードではライブラリを過度に使用しない。

カレンダーのアドオン

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

ドキュメント アドオン

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

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

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

ドライブのアドオン

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

Gmail アドオン

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

Meet アドオン

  • アドオンにライセンスまたは定期購入が必要な場合: ユーザーにライセンスがない場合は、ユーザー フレンドリーなメッセージを表示する必要があります。
  • ライセンスの問題が原因でユーザーがアドオンを使用できない場合は、エラー メッセージにアドオンを使用できない理由を明記し、ユーザーに状況を是正するための対処方法を提示する必要があります。
  • アドオンの Google Workspace Marketplace の掲載情報には、アドオンの使用に必要となるライセンスとサブスクリプションの要件について詳しく記載する必要があります。アドオンに有料の階層がある場合は、Marketplace リスティングに、料金や営業担当者への連絡方法に関する詳細情報を提供するウェブページへのリンクを記載する必要があります。
  • ユーザーがまだログインしていない場合、アドオンは [Google One Tap を表示] で指定したワンタップ ログイン プロンプトと、[認証] で指定した「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 をアドオンのmanifestで指定する必要があります。
Google Workspace アドオン OAuth

ドライブのアドオン

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