SDK Android Management API (AMAPI) позволяет определенным приложениям напрямую взаимодействовать с политикой устройств Android (ADP). Он включает поддержку следующих функций:
- Локальное выполнение команд
- Перенесите устройства, управляемые с помощью пользовательского DPC, на AMAPI.
- Функция «Доверие устройств» от Android Enterprise
- Новый процесс регистрации устройств, который также поддерживает добавление управляемых учетных записей Google.
- Управляйте пользовательскими приложениями с помощью AMAPI.
- Управление ролями приложения .
- Считайте EID устройства.
Для интеграции AMAPI SDK с вашим приложением необходимо выполнить следующие шаги:
- Добавьте библиотеку AMAPI SDK .
- Добавьте элемент queries , если целевой SDK >= 30.
Предварительные требования
- Убедитесь, что
minSdkVersionвашего приложения установлен как минимум на уровень API 21. - Добавьте в свое приложение зависимости для последней версии AMAPI SDK. Версию последней доступной библиотеки и инструкции по ее добавлению в приложение можно найти на странице примечаний к выпуску AMAPI SDK .
Добавить элемент запросов
Если ваше приложение ориентировано на SDK 30 или более позднюю версию, то в файле AndroidManifest.xml необходимо указать элемент queries, чтобы определить, что оно будет взаимодействовать с ADP.
<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 ComponentName вашего класса NotificationReceiverService . Существует два способа сделать это. В документации к каждой функции указано, какой способ следует использовать.
Явный API
В этом случае ComponentName передается в приложение ADP через соответствующий API. Подробности можно найти в документации к данной функции. В файл 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>
Конкретная строка, используемая для android:name meta-data , описана для каждой функции, использующей этот подход (см. раздел «Управление ролями приложения » для примера). Для корректной работы этой системы тегирования ваше приложение должно иметь ровно одну включенную службу, meta-data которой имеют android:name являющийся этой конкретной строкой, и android:value , являющийся пустой строкой. Вы можете добавить несколько meta-data к одной и той же службе.