AMAPI SDK との統合

Android Management API(AMAPI)SDK を使用すると、特定のアプリが Android Device Policy(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 の使用は任意です。これを使用するには、NotificationReceiverService を拡張するクラスを定義し、AndroidManifest.xmlservice として追加して、エクスポートされていることを確認します。


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