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 を追加するをご覧ください)。


機能

このセクションでは、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 パラメータとして 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);