앱 배포

다음 섹션에서는 관리 Google Play 스토어에서 앱을 배포하는 방법에 관한 유용한 정보를 제공합니다.

앱 설치

이 정책을 사용하여 기기에 Google Play 스토어의 Android 앱을 설치할 수 있습니다. 이 기능을 사용하려면 설치하려는 앱의 패키지 이름을 알아야 합니다. 앱의 패키지 이름을 찾으려면 다음 두 가지 옵션이 있습니다.

  1. 앱의 패키지 이름은 Google Play 스토어 페이지의 URL에 있습니다. 예를 들어 Google Chrome 앱 페이지의 URL은

    https://play.google.com/store/apps/details?id=com.android.chrome
    이며 패키지 이름은 com.android.chrome입니다.

  2. EMM 콘솔에 관리 Google Play iframe을 삽입하여 고객이 Google Play 스토어를 탐색할 수 있도록 할 수 있습니다. 고객이 iframe에서 앱을 선택하면 EMM 콘솔은 이벤트에서 패키지 이름을 수신합니다.

그런 다음 기기의 정책에 앱을 추가할 수 있습니다.

"applications":[
   {
      "installType":"FORCE_INSTALLED",
      "packageName":"com.android.chrome",
   },
],

기기에 정책을 적용하면 앱이 기기에 설치되거나 기기의 관리 Google Play 스토어에 추가됩니다.

비공개 테스트용 앱 배포

앱 개발자는 Play Console에서 비공개 버전 (비공개 트랙)을 만들어 테스터 그룹을 대상으로 앱의 출시 전 버전을 테스트할 수 있습니다. 이를 비공개 테스트라고 합니다. 비공개 트랙 배포를 지원하면 조직에서 서드 파티 앱과 자체 개발한 비공개 앱을 테스트할 수 있습니다.

Play Console에서 비공개 테스트를 설정할 때 앱 개발자는 최대 100개의 조직(enterprises)을 타겟팅할 수 있습니다. Android Management API를 사용하여 기업을 타겟팅하는 비공개 트랙을 가져오고 정책을 사용하여 이러한 비공개 트랙을 기기에 배포할 수 있습니다.

비공개 테스트를 진행할 수 있는 앱

비공개 테스트를 설정하기 전에 앱 개발자는 앱이 다음 요구사항을 충족하는지 확인해야 합니다.

  • 앱의 프로덕션 버전이 Google Play (또는 비공개 앱의 경우 관리 Google Play)에 게시됨
  • Google Play Console의 앱 고급 설정 페이지에서 관리 Google Play가 사용 설정되어 있습니다.
  • 앱의 비공개 버전은 버전 코드 요구사항을 충족합니다.

비공개 테스트에 기업 추가

비공개 테스트를 설정할 때 앱 개발자는 조직 ID를 추가하여 조직에 비공개 테스트 액세스 권한을 부여할 수 있습니다. 고객은 다음 안내에 따라 조직 ID를 찾을 수 있습니다.

  1. 관리자 계정을 사용하여 관리 Google Play에 로그인합니다.
  2. 관리자 설정을 클릭합니다.
  3. 조직 정보 상자에서 조직 ID 문자열을 복사하여 개발자에게 보냅니다.

비공개 앱의 경우 개발자는 앱의 고급 설정 페이지에 있는 관리 Google Play 탭에 참여하는 각 기업의 조직 ID도 추가해야 합니다. 자세한 내용은 Play Console에서 비공개 앱 게시하기를 참고하세요.

사용자에게 비공개 트랙 배포

지정된 앱에 대해 기업에서 사용할 수 있는 트랙 목록을 가져오려면 enterprises.applications를 호출합니다. 응답에 포함된 appTrackInfo[] 목록에는 특정 앱에 관한 다음이 포함됩니다.

  • trackId: 앱의 트랙 정보를 표시하는 Play Console 페이지의 URL에 있는 releaseTrackId에서 가져온 트랙의 고유 식별자입니다.
  • trackAlias: Play Console에서 수정할 수 있는, 사람이 읽을 수 있는 트랙 이름입니다.

사용자의 기기에 비공개 트랙을 설치하려면 기기 정책에서 accessibleTrackIds를 지정합니다.

"applications":[
   {
      "installType":"AVAILABLE",
      "packageName":"com.google.android.gm",
      "accessibleTrackIds":[
          "123456",
          "789101"
       ]
   },
],

정책에 동일한 앱의 트랙이 여러 개 포함된 경우 (위 예 참고) 정책은 버전 코드가 가장 높은 트랙을 설치합니다.

다음과 같은 특정 시나리오에서는 trackIds가 enterprises.applications 호출에서 자동으로 삭제됩니다.

  • 트랙의 APK가 다른 트랙 또는 프로덕션으로 승격됩니다.
  • 프로덕션 버전이 트랙보다 높은 버전으로 업데이트됩니다.
  • 개발자가 트랙을 중지합니다.

관리 Google Play iframe

관리 Google Play iframe을 사용하면 관리 Google Play를 EMM 콘솔에 직접 삽입하여 고객에게 통합된 모바일 관리 환경을 제공할 수 있습니다.

managed-play-iframe
그림 1. 관리 Google Play iframe

iframe에는 제목 표시줄과 확장 가능한 측면 메뉴가 포함되어 있습니다. 사용자는 메뉴에서 다음과 같은 다양한 페이지로 이동할 수 있습니다.

  • 앱 검색: IT 관리자가 Google Play 앱을 검색 및 탐색하고, 앱 세부정보를 확인하고, 앱을 선택할 수 있습니다.
  • 비공개 앱: IT 관리자가 기업을 위해 비공개 앱을 게시하고 관리할 수 있습니다.
  • 웹 앱: IT 관리자가 웹사이트 바로가기를 앱으로 게시하고 배포할 수 있습니다.
  • 앱 정리: IT 관리자가 사용자 기기의 Play 스토어 앱에서 앱이 정리되는 방식을 구성할 수 있습니다.

기능

이 섹션에서는 관리 Google Play iframe에서 사용할 수 있는 기능을 설명합니다. iframe을 삽입하고 이러한 기능을 구현하는 방법에 관한 자세한 내용은 Console에 iframe 추가를 참고하세요.

앱 검색

검색 앱 페이지 (그림 1 참고)를 사용하면 IT 관리자가 Google Play 앱을 검색, 둘러보고 선택할 수 있습니다.

페이지의 제목 표시줄에 있는 검색창은 기본적으로 사용 설정되어 있습니다. 검색창은 자동 완성과 같은 기능을 지원하며 Google Play에 공개적으로 등록된 앱의 결과를 반환합니다. 검색 결과가 iframe 내에 표시됩니다.

비공개 앱

비공개 앱
그림 2. 비공개 앱 세부정보 화면

비공개 앱 페이지를 사용하면 IT 관리자가 EMM 콘솔에서 직접 비공개 앱을 게시하고 관리할 수 있습니다. IT 관리자를 위한 비공개 앱 게시를 간소화하기 위해 이 페이지에서는 다음을 제공합니다.

  • 기업을 대신하여 Play Console 계정을 자동으로 만들고 IT 관리자에게 관리 액세스 권한을 부여합니다.
  • 이전에 앱을 게시하는 데 필요했던 Play Console 등록비용 미화 25달러가 면제됩니다.
  • 앱의 APK와 제목만 있으면 됩니다.
  • 앱을 10분 이내에 게시합니다 (Play Console의 2시간과 비교).
    참고: 비공개 앱 페이지에서 게시된 앱은 공개할 수 없습니다.

IT 관리자가 iframe에 앱을 처음 게시하면 iframe에서 엔터프라이즈를 대신하여 Play Console 계정을 자동으로 만듭니다. 고급 수정을 수행하면 Google 계정 (Gmail, Cloud ID 등)으로 로그인하라는 메시지가 표시됩니다. 이 Google 계정이 기업의 Play Console 계정 관리자로 추가됩니다. 그런 다음 IT 관리자는 Google 계정을 사용하여 Play Console에 직접 로그인하여 다음 작업을 할 수 있습니다.

비공개 앱 페이지를 사용하는 방법에 관한 IT 관리자 안내는 관리 Google Play 고객센터에서 확인할 수 있습니다.

선택 버튼

앱이 게시된 후 IT 관리자는 앱 세부정보 페이지에서 제목과 APK를 수정할 수 있습니다. 앱 세부정보 페이지에는 SELECT 버튼도 표시됩니다 (그림 2 참고). IT 관리자가 이 버튼을 클릭할 때 실행할 작업을 지정해야 합니다 (3단계onproductselect iframe 이벤트 처리)

웹 앱

웹 앱
그림 3. 웹 앱 생성 양식

웹 앱 페이지를 사용하면 IT 관리자가 웹사이트 바로가기를 관리 Google Play에 비공개 앱으로 게시할 수 있습니다. 웹 앱은 패키지 이름 (productId)으로 식별할 수 있으며 일반적으로 게시하는 데 10분이 걸립니다. 게시 후 엔터프라이즈에서 자동으로 승인되며 다른 승인된 앱과 마찬가지로 사용자에게 배포할 수 있습니다. 웹 앱은 다른 관리 Play iframe 기능과 호환됩니다. Play 검색 페이지에서 검색할 수 있으며 컬렉션에 추가할 수 있습니다.

웹 앱 생성 양식에는 제목, HTTPS 또는 HTTP URL, 아이콘 이미지 (512x512 JPG 또는 32비트 PNG)가 필요합니다. 또한 IT 관리자는 다음 세 가지 표시 옵션 중에서 선택할 수 있습니다.

  • 전체 화면: 앱이 전체 화면 모드로 열리고 기기의 상태 표시줄과 탐색 메뉴가 숨겨집니다.
  • 독립형 (기본값): 앱에 기기의 상태 표시줄과 탐색 메뉴가 표시됩니다.
  • 최소 UI: 앱에 기기의 상태 표시줄 및 탐색 메뉴, 앱의 URL, 새로고침 옵션이 표시됩니다. HTTP URL의 경우 이 옵션만 사용할 수 있습니다.

또한 웹 앱 페이지에서 IT 관리자는 웹 앱을 수정하고 삭제할 수 있습니다. 웹 앱을 삭제하면 사용자의 관리 Google Play 스토어에서 앱이 삭제되지만 앱이 이미 기기에 설치되어 있는 경우 사용자는 계속 액세스할 수 있습니다. 사용자의 기기에서 웹 앱을 삭제하려면 앱 삭제를 참고하세요. 웹 앱을 만들고 수정하는 방법에 관한 사용자 안내는 관리 Google Play 고객센터에서 확인할 수 있습니다.

선택 버튼

웹 앱이 게시되면 세부정보 페이지에 SELECT 버튼이 포함됩니다. IT 관리자가 이 버튼을 클릭할 때 실행할 작업 (예: 앱 배포)을 지정해야 합니다(3단계의 onproductselect 참고). iframe 이벤트 처리)

앱 정리

앱 정리
그림 4. 앱 정리 페이지를 보여주는 관리 Google Play iframe

앱 정리 페이지를 사용하면 IT 관리자가 앱을 컬렉션 (클러스터라고도 함)으로 정리할 수 있습니다. 예를 들어 IT 관리자는 자주 사용하는 앱의 필수사항 컬렉션을 만들거나 비용 추적, 이동 기록 등과 관련된 앱의 비용 컬렉션을 만들 수 있습니다. 컬렉션은 사용자 기기의 Play 스토어 홈페이지에 표시됩니다.

EMM은 앱을 검색하고 컬렉션에 추가할 수 있도록 iframe URL의 매개변수에서 SELECT mode를 활용해야 합니다.

사용자 기기에서 Play 스토어 앱에는 사용자 (또는 기기)가 사용할 수 있는 컬렉션의 앱만 표시됩니다. 컬렉션에 사용자가 사용할 수 있는 앱 (또는 기기)이 포함되어 있지 않으면 컬렉션이 Play 스토어에 표시되지 않습니다.

관리 Google Play iframe
그림 5. 기기의 앱 모음 (클러스터)

IT 관리자는 앱 정리 페이지에서 기존 컬렉션을 수정, 삭제, 복사할 수도 있습니다. 이러한 작업을 실행하는 방법에 관한 사용자 안내는 관리 Google Play 고객센터에서 확인할 수 있습니다.


콘솔에 iframe 추가

1단계: 웹 토큰 생성

enterprises.webTokens.create를 호출하여 기업을 식별하는 웹 토큰을 생성합니다. 응답에 토큰의 value가 포함됩니다.

  • parentFrameUrl를 iframe을 호스팅하는 상위 프레임의 URL로 설정합니다.
  • iframeFeature를 사용하여 iframe에서 사용 설정할 기능 (PLAY_SEARCH, PRIVATE_APPS, WEB_APPS, STORE_BUILDER: 앱 정리)을 지정합니다. iframeFeature가 설정되지 않으면 iframe은 기본적으로 모든 기능을 사용 설정합니다.

2단계: iframe 렌더링

다음은 관리 Google Play iframe을 렌더링하는 방법의 예입니다.

<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
      'where': document.getElementById('container'),
      'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

이 코드는 컨테이너 div 내에 iframe을 생성합니다. iframe 태그에 적용할 속성은 앞서 언급한 'attributes' 옵션으로 설정할 수 있습니다.

URL 매개변수

아래 표에는 URL에 URL 매개변수로 추가할 수 있는 iframe에 사용할 수 있는 모든 매개변수가 나와 있습니다. 예를 들면 다음과 같습니다.

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
매개변수 페이지 필수 설명
token 해당 사항 없음 1단계에서 반환된 토큰입니다.
iframehomepage 해당 사항 없음 아니요 iframe이 렌더링될 때 표시되는 초기 페이지입니다. 가능한 값은 PLAY_SEARCH, WEB_APPS, PRIVATE_APPS, STORE_BUILDER (앱 정리)입니다. 지정하지 않으면 다음 우선순위에 따라 표시되는 페이지가 결정됩니다. 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3. WEB_APPS, 4. STORE_BUILDER.
locale 해당 사항 없음 아니요 iframe의 콘텐츠를 현지화하는 데 사용되는 올바른 형식의 BCP 47 언어 태그입니다. 지정되지 않은 경우 기본값은 en_US입니다.
mode 앱 검색 아니요 SELECT: IT 관리자가 앱을 선택할 수 있습니다.
APPROVE (기본값): IT 관리자가 앱을 선택, 승인, 승인 취소할 수 있습니다.
showsearchbox 앱 검색 아니요 TRUE (기본값): 검색창을 표시하고 iframe 내에서 검색어를 시작합니다.
FALSE: 검색창이 표시되지 않습니다.
search 앱 검색 아니요 검색 문자열 지정된 경우 iframe은 IT 관리자를 지정된 문자열이 포함된 검색 결과로 안내합니다.

3단계: iframe 이벤트 처리

통합의 일환으로 다음 이벤트도 처리해야 합니다.

이벤트설명
onproductselect 사용자가 앱을 선택하거나 승인합니다. 그러면 다음을 포함하는 객체가 반환됩니다.
{
    "packageName": The package name of the app, e.g. "com.google.android.gm",
    "productId": The product ID of the app, e.g. "app:com.google.android.gm",
    "action": The type of action performed on the document. Possible values are:
    "approved", "unapproved" or "selected." If you implement the iframe in SELECT
    mode, the only possible value is "selected".
}
    
아래 샘플은 onproductselect를 리슨하는 방법을 보여줍니다.
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);


Google Play 스토어에 자체 앱 업로드

개발자 또는 고객이 Android 앱을 개발하는 경우 Google Play Console을 사용하여 Play 스토어에 업로드할 수 있습니다.

앱을 Play 스토어에서 공개적으로 제공하고 싶지 않다면 Google Play Console을 사용하여 앱을 단일 기업으로 제한할 수 있습니다. Google Play Custom App Publishing API를 사용하여 프로그래매틱 방식으로 비공개 앱을 게시하는 방법도 있습니다. 비공개 앱은 제한된 기업에서만 사용할 수 있습니다. 정책을 사용하여 계속 설치할 수 있지만 기업 외부의 사용자에게는 표시되지 않습니다.