Google Workspace Marketplace의 앱 검토 프로세스 및 요구사항

Google Workspace Marketplace에 앱을 공개적으로 게시하기 위해 Google에서는 앱과 등록정보를 검토하여 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 브랜드 가이드라인을 참고하세요.
  • 승인 및 로그인은 한 번만 필요합니다. 이 앱은 원클릭 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 앱 사용자 환경
  • 사용자가 채팅 메시지를 시작하거나 앱이 스페이스에 추가될 때마다 앱에서 메시지를 표시하지 않고 환영 메시지를 보냅니다. 환영 메시지는 '도움말' 명령어와 다릅니다. 좋은 환영 메시지를 만드는 방법에 관한 자세한 내용은 사용자를 돕고 즐거움을 주는 채팅 앱 빌드를 참조하세요.
  • 앱이 'Help' 명령어를 지원하고 사용자가 앱 사용을 시작할 수 있도록 지원합니다. 유용한 도움말 메시지를 작성하는 방법에 관한 자세한 내용은 사용자를 돕고 즐거움을 주는 채팅 앱 빌드를 참고하세요.
  • 스페이스 또는 직접 Chat에서 말을 걸면 앱이 항상 응답합니다.
  • 메시지에서 올바른 맞춤법, 대문자, 구두점, 문법을 사용합니다. 메시지에는 악의적이거나 불쾌감을 주거나 악의적인 내용을 포함하지 않습니다.
  • 메시지는 Google 요구사항에 따라 텍스트나 카드에 명확하고 간결하며 일관된 형식을 사용합니다.
  • 응답이 2초 넘게 걸리는 경우 앱에서 지연을 설명하는 메시지를 전송합니다.
  • 알림을 전송하는 앱을 사용하면 사용자가 알림을 사용 중지할 수 있습니다.
  • 사용자는 @멘션을 사용하여 스페이스에 앱을 추가할 수 있습니다.
  • 사용자는 멤버 보기 메뉴를 사용하여 스페이스에서 앱을 삭제할 수 있습니다.
  • 앱은 앱과 상호작용하는 데 필요한 모든 것을 사용자에게 표시합니다.
  • 앱에서 사용하는 카드 형식이 Google 요구사항을 충족합니다. 양방향 카드 만들기를 참조하세요.
  • Chat 메뉴의 앱 찾기 옵션에서 앱을 사용할 수 있습니다.
  • 앱이 상호작용하는 외부 URL이 스테이징 또는 개발 환경에 속하지 않습니다.
  • 스페이스에서 앱에 보내는 모든 메시지에 @멘션이 필요합니다. 이는 앱이 응답해야 한다는 것을 아는 유일한 방법입니다.
  • 채팅 앱에서 서드 파티 도메인의 링크를 미리 보는 경우:
    • 링크 미리보기는 사용자 메시지와 관련이 있는 보충 정보를 제공합니다. 예를 들어 판매 거래 링크를 미리 보면 계정, 금액, 단계와 같은 정보가 추가됩니다.
    • 개발자가 미리보기된 도메인과 연결되어 있습니다.

    자세한 내용은 미리보기 링크를 참고하세요.

  • (권장) Workspace 관리자가 조직의 사용자를 대신하여 앱을 설치하도록 허용하려면 앱에서 채팅 메시지를 주고받을 수 있어야 합니다.
Google Chat 앱 그래픽
  • 앱에 인식 가능하고 명확한 아바타가 있습니다.
Google 드라이브 앱 기능
  • 이 앱은 Chrome 브라우저 확장 프로그램을 사용하여 드라이브 HTML을 직접 조작하여 기능을 제공하지 않습니다.
  • 앱에서 민감하거나 제한된 범위를 사용하는 경우 OAuth 인증을 거쳐야 합니다. 인증을 위해 제출하려면 어떻게 해야 하나요?를 참고하세요.
  • 앱에서 제한된 범위를 사용하는 경우 보안 평가도 거쳐야 합니다. 보안 평가가 필요한 이유를 참고하세요.
Google 드라이브 앱 사용자 환경
  • 앱이 Drive에 파일을 저장하면 사용자가 폴더를 선택하거나 앱별 폴더를 만들고 재사용하도록 허용합니다. 구성 데이터는 앱 데이터 폴더에 저장할 수 있습니다. 앱은 사용자의 내 드라이브 폴더에 파일을 덤프하지 않습니다.
  • 앱은 앱의 문서화된 기능에 연결된 Drive에만 파일을 저장합니다.
편집자 부가기능 기능
  • 예상 작업과 필수 작업이 부가기능에 포함되어 있으며 워크플로를 완료하는 데 필요한 모든 도구를 제공합니다. 예:
    • 부가기능에서 전체 문서에 스타일을 적용하는 경우 선택한 텍스트에만 스타일을 적용하는 옵션을 제공합니다.
    • 부가기능에서 웹 서비스 피드에 스프레드시트 데이터를 업로드하면 쉽게 탐색할 수 있도록 해당 피드 링크가 표시됩니다.
    • 사용자에게 계정이 있어야 하는 부가기능은 사용자에게 아직 계정이 없는 경우 계정을 쉽게 만들 수 있는 링크나 정보를 제공합니다.
  • 부가기능의 부가기능 탭 아래에 메뉴 항목이 있습니다.
  • 부가기능이 단순히 맞춤 함수인 경우에도 적절한 문서가 포함됩니다.
  • 부가기능이 onInstall()onOpen()를 올바르게 사용하여 메뉴를 채웁니다. 부가기능이 처음 설치될 때와 다른 파일이 열릴 때 메뉴 항목이 채워집니다. 에디터 부가기능 승인을 참고하세요.
  • 승인 모드가 올바르게 설정되었습니다. 승인 모드를 참조하세요.
편집자 부가기능 사용자 환경
  • 부가기능은 제품과 사용 방법에 대한 기본적인 이해에 필요한 모든 정보를 제공합니다.
  • 라이브러리로 인해 부가기능의 성능이 저하될 수 있으므로 부가기능 코드는 라이브러리를 과도하게 사용하지 않습니다.
  • 오류는 가능한 한 예방하고, 그렇지 않은 경우 적절히 관리합니다.
    • 오류 메시지는 대화상자에 표시되며 자바스크립트 알림이나 기본 빨간색 막대가 아닙니다. 간단한 언어로 문제를 전달하고 사용자가 문제를 해결하기 위해 무엇을 해야 하는지 설명합니다.
    • 가능한 경우 사용자가 잘못하고 있는 경우 문제를 해결하는 버튼이 표시됩니다.
    • 자세한 내용은 부가기능 스타일 가이드를 참고하세요.
  • 외부 페이지 링크가 새 창에서 열리며 올바릅니다.
  • 부가기능이 직관적이고 잘 디자인되었습니다. 따라서 다음과 같은 상황이 발생할 수 있습니다.
    • 무엇을 해야 하는지는 항상 명확합니다.
    • 부가기능에 쉽게 액세스할 수 있으며 이해하기도 쉽습니다. 기술 용어와 전문 용어는 사용하지 않습니다.
    • 워크플로가 최대한 명확하고 쉽게 사용할 수 있습니다.
    • 사용자와 사용자의 콘텐츠는 최대한 안전합니다.
  • 이 부가기능은 편집기 부가기능용 UI 스타일 가이드를 따르며 편집기 부가기능용 CSS 패키지를 사용합니다.
  • 부가기능은 디스플레이당 하나의 파란색 기본 작업만 사용합니다.
  • 부가기능은 한 번에 하나의 대화상자를 표시합니다. 겹치거나 한 번에 여러 개의 대화상자가 열려 있지 않습니다.
  • 부가기능의 UI가 할당된 공간에 잘 맞습니다.
    • 텍스트 및 라벨이 '...' 기호로 잘리지 않습니다.
    • 사용자가 세로 스크롤을 많이 하지 않아도 됩니다.
    • 콘텐츠 너비가 300p를 넘지 않도록 가로 스크롤바가 없습니다.
  • 부가기능을 사용하려면 확인이 필요하거나 모든 민감한 작업에 대한 경고가 표시됩니다. 예를 들어 부가기능이 스프레드시트의 모든 콘텐츠를 덮어쓰려고 하면 사용자에게 경고가 표시되고 작업이 실행되기 전에 작업을 확인합니다.

    디자인을 변경하면 이러한 요구사항을 피할 수 있습니다. 예를 들어 데이터를 가져오는 Google 스프레드시트 부가기능으로 인해 기존 콘텐츠를 덮어쓸 위험이 있습니다. 기본 작업으로 데이터 시트를 만들어 위험을 제거할 수 있습니다.

  • 작업을 로드하는 중에는 작업을 여러 번 트리거할 수 없습니다. 예를 들어 작업이 로드되는 동안 버튼이 꺼져 있거나 숨겨집니다.
Google Workspace 부가기능 이름

캘린더 부가기능

  • 부가기능이 calendar.name 또는 common.name를 사용하는 경우 매니페스트에 있는 이름은 앱 등록정보에 제공된 이름과 동일합니다.
  • 부가기능에서 calendar.conferenceSolution를 사용하는 경우 회의 솔루션 이름에 'Google Calendar'가 포함되지 않습니다.
  • (권장) 부가기능에서 calendar.conferenceSolution을 사용하는 경우 회의 솔루션 이름은 30자(영문 기준)를 초과하지 않습니다.
Google Workspace 부가기능 기능
  • 부가기능은 원하는 기능에 적합한 위젯을 사용합니다. 예를 들어 스위치를 사용하여 불리언 값을 선택합니다.

캘린더 부가기능

  • 보조 캘린더 및 위임이 지원되며, 지원되지 않는 경우 단계적으로 관리됩니다. 예를 들어 사용자가 이벤트를 만들 때 수정 액세스 권한이 있는 다른 캘린더를 선택해도 회의 생성은 실패하지 않습니다.
  • 반복 일정은 제대로 작동합니다.
  • 부가기능에서 calendar.conferenceSolution를 사용하는 경우 하나 이상의 회의 솔루션이 제공됩니다.
  • 부가기능에서 회의 솔루션을 제공하는 경우 적절한 회의 데이터 필드가 사용됩니다. 예를 들어 화상 회의 링크, 전화번호, SIP 링크, 액세스 코드, 기타 지원되는 속성은 구조화된 데이터 필드를 사용하며 메모 필드에는 제공되지 않습니다.
  • 부가기능에서 회의 솔루션을 제공하는 경우 회의 세부정보만 수정되며 그 밖의 이벤트 필드는 수정되지 않습니다.
  • 부가기능에서 회의 솔루션을 제공하는 경우 회의를 만드는 데 5초 미만이 걸립니다.

Gmail 부가기능

부가기능에서 UrlFetchApp 또는 OpenLinkUrl를 사용하는 경우:

  • URL이 유효합니다.
  • URL이 HTTP가 아닌 HTTPS를 사용합니다.
  • 전체 도메인이 지정되어 있습니다.
  • 경로가 비어 있지 않습니다. 예를 들어 https://altostrat/는 괜찮지만 https://altostrat은 그렇지 않습니다.
  • UrlFetchApp에서는 와일드 카드를 사용할 수 없습니다.
Google Workspace 부가기능 사용자 환경
  • 부가기능에는 홈페이지가 있습니다. Google Workspace 부가기능이 변환된 Gmail 부가기능인 경우 기본 홈페이지가 적용됩니다.
  • 부가기능 카드가 제대로 작동합니다. 예를 들어 중복 카드는 없습니다. 뒤로, 새로고침, 업데이트 버튼이 적절하게 작동합니다.
  • 사용자가 부가기능을 승인하면 로그인 버튼(필요한 경우), 로고, 부가기능에 관한 간단한 설명과 함께 사용자를 환영하는 맞춤설정된 홈페이지 카드가 표시됩니다.
    • 로그인 버튼이 트리거되면 Google Workspace 외부에서 작동하는 서드 파티 서비스가 있음을 명확하게 나타내는 서드 파티 공급업체의 맞춤설정된 로그인 페이지가 표시됩니다.
  • 부가기능의 UI가 할당된 공간에 잘 맞습니다.
    • 텍스트 및 라벨이 '...' 기호로 잘리지 않습니다.
    • 사용자가 세로 스크롤을 많이 하지 않아도 됩니다.
    • 콘텐츠 너비가 300p를 넘지 않도록 가로 스크롤바가 없습니다.
  • 라이브러리로 인해 부가기능의 성능이 저하될 수 있으므로 부가기능 코드는 라이브러리를 과도하게 사용하지 않습니다.

캘린더 부가기능

  • 부가기능에서 회의 솔루션을 제공하는 경우 생성된 회의가 유효하고 서드 파티 회의 웹사이트에 올바르게 표시됩니다.

Docs 부가기능

부가기능에서 서드 파티 도메인 (스마트 칩)의 링크를 미리 보는 경우

  • 링크 미리보기는 사용자에게 관련성이 높고 보충 정보를 제공합니다. 예를 들어 판매 거래 링크를 미리 보면 계정, 금액, 단계와 같은 정보가 추가됩니다.
  • 개발자가 미리보기된 도메인과 연결되어 있습니다.

자세한 내용은 스마트 칩이 포함된 링크 미리보기를 참고하세요.

Drive 부가기능

  • 앱이 Drive에 파일을 저장하면 사용자가 폴더를 선택하거나 앱별 폴더를 만들고 재사용하도록 허용합니다. 구성 데이터는 앱 데이터 폴더에 저장할 수 있습니다. 앱은 사용자의 내 드라이브 폴더에 파일을 덤프하지 않습니다.
  • 부가기능은 문서화된 부가기능 기능에 연결된 파일만 드라이브에 저장합니다.

Gmail 부가기능

  • 부가기능에서 정당한 이유 없이 Chrome 브라우저 확장 프로그램을 언급하거나 연결하지 않습니다.
  • 추가 작업 메뉴에는 제대로 작동하는 범용 작업이 포함되어 있습니다. (예: 로그아웃, 정보, 지원 등)
Google Workspace 부가기능 그래픽

캘린더 부가기능

  • 회의 솔루션 로고가 공개 URL입니다. 회의 솔루션 로고 제공을 참고하세요.
  • 부가기능에서 calendar.conferenceSolution를 사용하는 경우 회의 솔루션의 로고가 calendar.logoUrl 요구사항을 따릅니다. 캘린더 매니페스트 리소스를 참고하세요.
  • 부가기능에서 calendar.logoUrl 또는 common.logoUrl를 사용하는 경우 로고는 앱 등록정보에 제공된 아이콘과 동일합니다.
  • 부가기능에서 calendar.logoUrl 또는 common.logoUrl를 사용하면 로고의 URL은 다음과 같이 시작됩니다. https://lh3.googleusercontent.com/
Google Workspace 부가기능 OAuth

Drive 부가기능

  • (권장) 제한된 메타데이터를 수신하려면 부가기능에 drive.addons.metadata.readonly 범위가 포함됩니다.
웹 앱 기능
  • 범용 탐색 URL이 웹 앱으로 연결됩니다. 기능이 없는 단순한 웹페이지는 웹 앱으로 간주되지 않습니다.