managed Google Play iframe

managed Google Play iframe を使用すると、managed Google Play を EMM コンソールに直接埋め込み、統合されたモビリティ管理エクスペリエンスをお客様に提供できます。

managed Google Play iframe
図 1. アプリ検索ページが表示された managed Google Play iframe。

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

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

デフォルトでは、iframe ですべてのページが有効になっていますが、個別に無効にすることもできます(iframe をコンソールに追加するをご覧ください)。


機能

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

アプリを検索

[アプリを検索] ページ(図 1 を参照)では、IT 管理者が Google Play アプリを検索、ブラウジング、選択できます。

ページのタイトルバーにある検索ボックスは、デフォルトで有効になっています。検索ボックスは、自動補完などの機能をサポートし、Google Play で公開されているアプリの結果を返します。検索結果が iframe 内に表示されます。

限定公開アプリ

限定公開アプリ
図 2. 限定公開アプリの詳細画面

[限定公開アプリ] ページでは、IT 管理者が EMM コンソールから直接限定公開アプリを公開、管理できます。IT 管理者が限定公開アプリの公開を効率化できるように、このページには次の機能が用意されています。

  • エンタープライズに代わって Google Play Console アカウントをサイレントで作成し、IT 管理者に管理者権限を付与します。
  • アプリの公開に必要だった Play Console の登録料(25 米ドル)が免除されます。
  • 必要なのは、アプリの APK とタイトルのみです。
  • アプリの公開が 10 分以内に完了します(Google Play Console では 2 時間)。
    注: [限定公開アプリ] ページから公開したアプリを一般公開することはできません。

IT 管理者が iframe で初めてアプリを公開すると、iframe によって企業の代わりに Play Console アカウントが自動的に作成されます。高度な編集を行うと、Google アカウントでログインするよう求められます。これは任意の Google アカウント(Gmail、Cloud Identity など)にできます。この Google アカウントは、企業の Google Play Console アカウントの管理者として追加されます。その後、IT 管理者は Google アカウントを使用して Google Play Console に直接ログインし、次のことができます。

[限定公開アプリ] ページの使用方法については、managed Google Play ヘルプセンターをご覧ください。

選択ボタン

アプリが公開されたら、IT 管理者はアプリの詳細ページでタイトルと APK を編集できます。アプリの詳細ページには [SELECT] ボタンも表示されます(図 2 を参照)。IT 管理者がこのボタンをクリックしたときに実行されるアクションを指定する必要があります(ステップ 3 の onproductselect をご覧ください)。iframe イベントを処理する)。

ウェブアプリ

ウェブアプリ
図 3. ウェブアプリ作成フォーム。

[ウェブアプリ] ページでは、IT 管理者がウェブサイトのショートカットを限定公開アプリとして managed Google Play に公開できます。ウェブアプリはパッケージ名(productId)で識別できます。通常、公開には 10 分ほどかかります。公開すると、企業向けに自動的に承認され、他の承認済みアプリと同様にユーザーに配布できるようになります。ウェブアプリは、他の管理対象の Google Play iframe 機能と互換性があります。Google Play 検索ページで検索でき、コレクションに追加できます。

ウェブアプリ作成フォームには、タイトル、HTTPS または HTTP URL、アイコン画像(512 x 512 JPG または 32 ビット PNG)が必要です。また、IT 管理者は次の 3 つの表示オプションから選択できます。

  • 全画面: アプリは全画面モードで開き、デバイスのステータスバーとナビゲーション バーは表示されません。
  • スタンドアロン(デフォルト): アプリにデバイスのステータスバーとナビゲーション バーが表示されます。
  • ミニマル UI: アプリには、デバイスのステータスバーとナビゲーション バー、アプリの URL、更新オプションが表示されます。HTTP URL の場合は、これが唯一の選択肢となります。

[ウェブアプリ] ページでは、IT 管理者がウェブアプリを編集、削除することもできます。ウェブアプリを削除すると、ユーザーの managed Google Play ストアから削除されますが、アプリがすでにデバイスにインストールされている場合は、ユーザーが引き続きアクセスできる場合があります。ユーザーのデバイスからウェブアプリを削除するには、アプリを削除するをご覧ください。ウェブアプリの作成と編集方法については、managed Google Play ヘルプセンターをご覧ください。

選択ボタン

ウェブアプリが公開されると、その詳細ページに [選択] ボタンが表示されます。IT 管理者がこのボタンをクリックしたときに実行されるアクション(アプリの配布など)を指定する必要があります(ステップ 3 の onproductselect を参照)。iframe イベントを処理する)。

アプリの整理

アプリを整理する
図 4. アプリを整理するページが表示された managed Google Play iframe。

[アプリを整理] ページでは、IT 管理者がアプリをコレクション(クラスタ)に整理できます。たとえば、IT 管理者は、よく使用するアプリ用に [必須アプリ] コレクションを作成したり、費用の追跡や出張の記録などに関連するアプリ用に [費用] コレクションを作成したりできます。コレクションは、ユーザーのデバイスの Google Play ストアのホームページに表示されます。

EMM は、iframe URL のパラメータで SELECT mode を使用して、アプリの検索とコレクションへの追加を許可する必要があります。

ユーザーのデバイスでは、Google Play ストア アプリに、ユーザー(またはデバイス)が利用できるコレクションのアプリのみが表示されます。コレクションに、ユーザー(またはデバイス)が利用できるアプリが含まれていない場合、そのコレクションは Google Play ストアに表示されません。

managed Google Play iframe
図 5. デバイス上のアプリ コレクション(クラスタ

IT 管理者は、[アプリを整理] ページで既存のコレクションの編集、削除、コピーも行えます。これらのタスクを実行する方法については、managed Google Play ヘルプセンターをご覧ください。


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

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

エンタープライズを識別するウェブトークンを生成するには、Enterprises.createWebToken を呼び出します。次の例は、Java 用 Google Play EMM API クライアント ライブラリを使用してトークンを取得する方法を示しています。

iframe 内のすべてのページはデフォルトで有効になっています。ウェブトークンを生成するときに、無効にするページを指定できます。次の例では、限定公開アプリ、ウェブアプリ、アプリの整理を無効にしています。

public AdministratorWebToken getAdministratorWebToken(
        String enterpriseId) throws IOException {
    AdministratorWebTokenSpec tokenSpec = new AdministratorWebTokenSpec();
    tokenSpec.setParent("https://my-emm-console.com");
    tokenSpec.setPlaySearch(new AdministratorWebTokenSpecPlaySearch());
    tokenSpec.setPrivateApps(new AdministratorWebTokenSpecPrivateApps().setEnabled(false));
    tokenSpec.setWebApps(new AdministratorWebTokenSpecWebApps().setEnabled(false));
    tokenSpec.setStoreBuilder(new AdministratorWebTokenSpecStoreBuilder().setEnabled(false));
    return androidEnterprise
        .enterprise()
        .createWebToken(enterpriseId, tokenSpec)
        .execute();
}

コンソールで iframe をレンダリングするときに、返されたトークンを他のパラメータとともに含める必要があります。

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

管理対象の 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(アプリを整理)です。指定しない場合、次の優先順位でページが表示されます。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);