Site icon AppTractor

Первый взгляд на «песочницу конфиденциальности» Google и ее влияние на SDK

Ранее в этом году Google анонсировал свою песочницу конфиденциальности для Android, целью которой является создание технологии, которая фундаментальным образом улучшает конфиденциальность пользователей, поддерживая при этом критически важные варианты использования экосистемы.

Это было сделано в рамках более широкой инициативы, которую Google начал несколько лет назад в отношении Chrome. Эта инициатива окажет глубокое влияние на индустрию мобильной рекламы в целом. Компания заявила, что API-интерфейсы Privacy Sandbox будут создаваться в течение нескольких лет. В течении них компания будет выпускать предварительные версии для разработчиков, чтобы участники экосистемы Android могли узнать, как это повлияет на их продукты, и предоставить Google отзывы.

Первая предварительная версия для разработчиков, выпущенная пару недель назад, дает представление о том, как будут работать два из четырех компонентов в конструкции песочницы конфиденциальности — SDK Runtime и Topics API.

Я протестировал предварительную версию SDK Runtime — в этой статье я делюсь тем, что узнал, а также некоторыми мыслями о том, что нам следует ожидать. Конечно, поскольку это первая предварительная версия для разработчиков, все может измениться по мере того, как Google будет развивать инициативу.

Немного предыстории SDK Runtime

Исторически Android создавался как открытая платформа, позволяющая разработчикам создавать приложения, которые делают на устройстве практически все, что они хотят. Хотя этот подход создал множество возможностей, он также вызвал множество проблем с безопасностью, конфиденциальностью и взаимодействием с пользователем. По мере взросления платформы Google ограничивал все больше и больше возможностей приложений с помощью устаревания API, защиты разрешений и различных политик. Однако SDK, размещенные в APK, по-прежнему имеют множество возможностей, которые не являются критически важными для поддержки их основных вариантов использования. Например, если приложению предоставлено пользователем разрешение на доступ к списку контактов, все SDK, размещенные в этом приложении, будут иметь такую ​​же возможность.

Предложения по системному дизайну SDK Runtime, который изначально предназначался для использования рекламными платформами, направлены на сокращение скрытого доступа к пользовательским данным и позволяет SDK делать только то, что им нужно — ни больше, ни меньше. Такие SDK называются SDK с поддержкой среды выполнения (Runtime Enabled SDK, RE SDK).

Имея это в виду, я настроил рабочую тестовую среду, чтобы поиграть с этой новой технологией.

Запуск тестового проекта

Google предоставил отличные руководства по настройке среды разработки и загрузке образа устройства или эмулятора. Важно отметить, что эта предварительная версия Privacy Sandbox Developer Preview не является частью Android 13 Beta 1, выпущенной 26 апреля, поэтому я настроил свой эмулятор на использование уровня API «TiramisuPrivacySandbox» (а не «Tiramisu»).

Выбор правильного образа системы в Android Studio

Кроме того, Google предоставил примеры проектов, которые работают «из коробки». Я импортировал проект PrivacySandboxKotlin в Android Studio и воспользовался файлом README.md, в котором есть пошаговое руководство по правильному запуску проекта. Я внимательно следовал инструкциям, поскольку для успешной установки приложений необходимо выполнить определенные шаги.

Например, приложение RE SDK — это headless приложение (приложение, у которого нет иконки лаунчера), и для его успешной установки необходимо настроить установку без запуска Activity.

Итак, я выполнил шаги, и вуаля! У нас есть рабочее приложение, которое загружает RE SDK и представляет WebView, которым управляет этот RE SDK.

Пример проекта RE SDK

Затем я начал экспериментировать и узнал несколько интересных вещей.

Так как же работает RE SDK?

Общая идея песочницы среды выполнения SDK с технической точки зрения заключается в том, чтобы RE SDK и их хост-приложения выполнялись в отдельных процессах. Таким образом, эти RE SDK работают отдельно с ограниченными ресурсами, разрешениями и возможностями. То, как это делается, довольно интересно. Есть системное приложение с именем пакета «com.google.android.sdksandbox». Это приложение запускает процесс, когда приложение загружает RE SDK:

Если приложение использует два RE SDK, оба этих SDK загружаются в один и тот же процесс:

Если другое приложение использует тот же RE SDK, приложение com.google.android.sdksandbox загружает этот SDK в новом процессе:

Стоит упомянуть:

Финальные мысли

Способ работы RE SDK действительно инновационный. Он решает многие проблемы, представляя совершенно новый способ работы с SDK на Android, поэтому при чтении предложений по дизайну и работе с первой предварительной версией на ум приходит много идей и вопросов.

Я упомяну некоторые, которые я нахожу интересными:

Такие изменения, как RE SDK, важны и демонстрируют зрелость экосистемы Android. Их сложно реализовать, и будет очень интересно посмотреть, как Google будет развивать платформу вместе со всей экосистемой.

Источник

Exit mobile version