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 管理者は、ユーザーのデバイス上の Play ストア アプリでのアプリの表示順序を設定できます。

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


機能

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


コンソールに 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 をレンダリングする

managed 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);