Android Management API (AMAPI) SDK позволяет определенным приложениям напрямую взаимодействовать с Android Device Policy (ADP). В частности, должны поддерживаться:
- Локальное выполнение команд
- Как перенести устройства, управляемые с помощью специального контроллера политики устройств, в AMAPI
- Изучите информацию о Device Trust от Android Enterprise.
- Новый процесс регистрации устройств, который также поддерживает добавление управляемых аккаунтов Google.
- Как управлять корпоративными приложениями с помощью Android Management API
- Управление ролями в приложении
- Как управлять обновлениями с помощью Unified Update Controls
- Считывать 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>
Подробные рекомендации для разработчиков и сведения об альтернативных решениях собраны в специальном руководстве.
Реализуйте 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. Это можно сделать двумя способами.
В документации по каждой функции указано, какой подход следует использовать.
Explicit 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 в один сервис.