アプリの配布

以下のセクションでは、managed Google Play ストアでのアプリの配布に関して役立つ情報を紹介します。

アプリをインストールする

このポリシーを使用して、Google Play ストアから Android アプリをデバイスにインストールできます。この機能を使用するには、インストールするアプリのパッケージ名が必要です。アプリのパッケージ名を確認するには、次の 2 つの方法があります。

  1. アプリのパッケージ名は、Google Play ストア ページの URL に含まれています。 たとえば、Google Chrome アプリページの URL は

    https://play.google.com/store/apps/details?id=com.android.chrome
    で、パッケージ名は com.android.chrome です。

  2. EMM コンソールに managed Google Play iframe を埋め込むことで、ユーザーが Google Play ストアを閲覧できるようになります。お客様が iframe でアプリを選択すると、EMM コンソールにイベントのパッケージ名が届きます。

その後、デバイスのポリシーにアプリを追加できます。

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

デバイスにポリシーを適用すると、アプリがデバイスにインストールされるか、デバイス上の managed Google Play ストアに追加されます。

クローズド テスト用にアプリを配布する

アプリ デベロッパーは Google Play Console でクローズド リリース(クローズド トラック)を作成し、一連のテスターを対象にアプリのプレリリース バージョンをテストできます。これをクローズド テストと呼びます。クローズド トラック配信をサポートすることで、組織はサードパーティ アプリと社内で開発した限定公開アプリをテストできます。

Google Play Console でクローズド テストを設定する場合、アプリ デベロッパーは最大 100 の組織(enterprises)をターゲットにできます。Android Management API を使用して企業を対象とするクローズド トラックを取得し、ポリシーを使用してデバイスに配布できます。

クローズド テストの対象となるアプリ

クローズド テストをセットアップする前に、アプリ デベロッパーは、アプリが次の要件を満たしていることを確認する必要があります。

  • アプリの製品版が Google Play(限定公開アプリの場合は managed Google Play)で公開されている
  • Google Play Console では、アプリの [詳細設定] ページで [managed Google Play] を有効にします。
  • アプリのクローズド バージョンは、バージョン コードの要件を満たしている。

クローズド テストに企業を追加する

クローズド テストをセットアップする際、アプリ デベロッパーは組織 ID を追加することで、組織にクローズド テストへのアクセス権を付与できます。お客様は、次の手順で組織 ID を確認できます。

  1. 管理者アカウントで managed Google Play にログインします。
  2. [管理者設定] をクリックします。
  3. [組織の情報] ボックスから組織 ID の文字列をコピーし、デベロッパーに送信します。

限定公開アプリの場合、デベロッパーはアプリの [詳細設定] ページの [managed Google Play] タブで、参加している各企業の組織 ID を追加する必要もあります。手順については、限定公開アプリを Google Play Console から公開するをご覧ください。

クローズド トラックをユーザーに配布する

指定したアプリについて企業が使用できるトラックのリストを取得するには、enterprises.applications を呼び出します。レスポンスに含まれる appTrackInfo[] リストには、特定のアプリに関する次のものが含まれます。

  • trackId: トラックの一意の識別子。アプリのトラック情報を表示する Google Play Console のページの URL に含まれる releaseTrackId から取得されます。
  • trackAlias: 人が読める形式のトラック名。Google Play Console で変更できます。

ユーザーのデバイスにクローズド トラックをインストールするには、デバイス ポリシーaccessibleTrackIds を指定します。

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

上記の例のように、ポリシーに同じアプリの複数のトラックが含まれている場合、ポリシーによってバージョン コードが最も高いトラックがインストールされます。

次のような特定のシナリオでは、trackId が enterprises.applications 呼び出しから自動的に削除されます。

  • トラックの APK が別のトラックまたは製品版にプロモートされています。
  • 製品版バージョンがトラックよりも上位のバージョンで更新されている。
  • デベロッパーがトラックを停止した場合。

managed Google Play iframe

managed Google Play iframe を使用すると、managed Google Play を EMM コンソールに直接埋め込んで、統合型のモバイル管理エクスペリエンスを提供できます。

managed-play-iframe
図 1: managed Google Play iframe

iframe には、タイトルバーと展開可能なサイドメニューが含まれています。このメニューから、ユーザーは別のページに移動できます。

  • アプリを検索: IT 管理者は Google Play アプリの検索とブラウジング、アプリの詳細の表示、アプリの選択を行えます。
  • 限定公開アプリ: IT 管理者は、企業向けの限定公開アプリを公開、管理できます。
  • ウェブアプリ: IT 管理者は、ウェブサイトのショートカットをアプリとして公開して配布できます。
  • アプリの整理: IT 管理者は、ユーザーのデバイスの Google Play ストア アプリでアプリを整理する方法を設定できます。

機能

このセクションでは、managed Google Play iframe で利用できる機能について説明します。 iframe を埋め込んでこれらの機能を実装する方法については、コンソールに iframe を追加するをご覧ください。


コンソールに iframe を追加する

ステップ 1: ウェブトークンを生成する

enterprises.webTokens.create を呼び出して、企業を識別するウェブトークンを生成します。レスポンスには、トークンの value が含まれます。

  • parentFrameUrl を、iframe をホストする親フレームの URL に設定します。
  • iframeFeature を使用して、iframe で有効にする機能PLAY_SEARCHPRIVATE_APPSWEB_APPSSTORE_BUILDER(アプリを整理))を指定します。iframeFeature が設定されていない場合、iframe はデフォルトですべての機能を有効にします。

ステップ 2. iframe をレンダリングする

managed 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_SEARCHWEB_APPSPRIVATE_APPSSTORE_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 を使用して Google Play ストアにアプリをアップロードできます。

Google Play ストアでアプリを一般公開したくない場合は、Google Play Console を使用してアプリを単一のエンタープライズに制限できます。また、Google Play Custom App Publishing API を使用して、限定公開アプリをプログラムで公開することもできます。限定公開アプリは、利用が制限されている企業のみが利用できます。ポリシーを使用してインストールすることはできますが、企業外のユーザーには表示されません。