AMAPI SDK との統合

Android Management API(AMAPI)SDK を使用すると、特定のアプリが Android デバイス ポリシー(ADP)と直接通信できるようになります。これには、次のサポートが含まれます。

AMAPI SDK をアプリケーションと統合するには、次の手順を行う必要があります。

  1. AMAPI SDK ライブラリを追加します。
  2. ターゲット SDK が 30 以上の場合は、queries 要素を追加します。

前提条件

  • アプリの minSdkVersion が API レベル 21 以上に設定されていることを確認します。
  • 最新バージョンの AMAPI SDK の依存関係をアプリケーションに追加します。利用可能な最新のライブラリのバージョンと、それをアプリに追加する方法については、AMAPI SDK のリリースノートのページをご覧ください。

queries 要素を追加する

アプリが SDK 30 以降をターゲットとしている場合は、ADP とやり取りすることを指定するために、AndroidManifest.xml に queries 要素が必要です。

<queries>
    <package android:name="com.google.android.apps.work.clouddpc" />
</queries>

詳しくは、Android でのパッケージの公開設定のフィルタリングをご覧ください。

NotificationReceiverService を実装する

一部の機能では NotificationReceiverService の作成が必要であり、一部の機能ではオプションで使用します。これを使用するには、NotificationReceiverService を拡張するクラスを定義し、service として AndroidManifest.xml に追加して、エクスポートされるようにします。


import com.google.android.managementapi.notification.NotificationReceiverService;

...

public final class MyAppNotificationReceiverService extends NotificationReceiverService {

  @Override
  protected void setupInjection() {
    // This method can be optionally used to inject dependencies at the
    // beginning of the service lifecycle.
  }
}

ADP アプリに NotificationReceiverService クラスの ComponentName を指定する必要があります。これには 2 つの方法があります。各機能のドキュメントには、使用するアプローチが記載されています。

明示的な API

この場合、ComponentName は適切な API を介して ADP アプリに渡されます。詳細については、該当する機能のドキュメントをご覧ください。AndroidManifest.xml に、次の行を追加します。

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" />

自動検出

このアプローチでは、サービスを自動的に検出できるように、サービスにタグを付ける必要があります。AndroidManifest.xml に以下を追加します。

<service
 android:name = ".MyAppNotificationReceiverService"
 android:exported = "true" >
    <meta-data android:name="Insert name here" android:value=""/>
</service>

meta-data の android:name に使用する特定の文字列は、このアプローチを使用する機能ごとにドキュメント化されています(例については、アプリケーション ロールを管理するをご覧ください)。このタグ付けを有効にするには、アプリに有効なサービスが 1 つだけ存在し、その meta-data の android:name がこの特定の文字列で、android:value が空の文字列である必要があります。同じサービスに複数の meta-data を追加できます。