アプリの配布

以下では、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 の文字列をコピーし、デベロッパーに送信します。

限定公開アプリの場合は、Google Play Console の [価格と配布] ページで参加企業の組織 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 管理者は、ユーザーのデバイス上の 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 パラメータとして追加できる 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 なし × 正しい形式の BCP 47 言語タグ。iframe 内のコンテンツのローカライズに使用します。指定しない場合、デフォルト値は en_US です。
mode アプリを検索 × SELECT: IT 管理者がアプリを選択できます。
APPROVE(デフォルト): IT 管理者がアプリを選択、承認、不承認にできます。このモードは非推奨です。代わりに SELECT を使用してください。APPROVE モードは、ウェブトークンで PlaySearch.ApproveAppstrue に設定されている場合にのみ機能します。
showsearchbox アプリを検索 × TRUE(デフォルト): 検索ボックスを表示し、iframe 内から検索クエリを開始します。
FALSE: 検索ボックスは表示されません。
search アプリを検索 × 検索文字列。指定すると、IT 管理者は指定の文字列で結果を検索するよう 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 を使用して、限定公開アプリをプログラムで公開することもできます。限定公開アプリは、利用が制限されている企業でのみ利用できます。ポリシーを介してインストールすることもできますが、企業外のユーザーには表示されません。