uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Android Broadcast

Android Broadcast

Відкрити в Telegram

Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR

Показати більше

📈 Аналітичний огляд Telegram-каналу Android Broadcast

Канал Android Broadcast (@android_broadcast) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 14 580 підписників, посідаючи 8 794 місце в категорії Технології та додатки та 44 714 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 14 580 підписників.

За останніми даними від 26 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 61, а за останні 24 години на -1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 39.85%. Протягом перших 24 годин після публікації контент зазвичай збирає 23.09% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 5 811 переглядів. Протягом першої доби публікація в середньому набирає 3 367 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 28.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як api, kotlin, gradle, сборка, androiddev.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR”

Завдяки високій частоті оновлень (останні дані отримано 27 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

14 580
Підписники
-124 години
-27 днів
+6130 днів
Архів дописів
🤖 Claude Sonnet 5.5 возглавил Android Bench Google продолжает пополнять Android Bench — свой лидерборд LLM на реальных задач
🤖 Claude Sonnet 5.5 возглавил Android Bench Google продолжает пополнять Android Bench — свой лидерборд LLM на реальных задачах Android-разработки. Теперь туда добавили Claude Sonnet 5.5, Gemini 4 Argon и GPT 6.1 Sol, и у рейтинга сменился лидер. Long-horizon задачи (30 штук: миграции, конвертация приложений, новые фичи): 🥇 Claude Sonnet 5.5 (max) — 40,0%, $1574,9 за прогон 🥈 Claude Opus 5.5 (max) — 37,3%, $1150,3 🥉 GPT 6.1 Sol (max) — 29,3%, $99,5 • GPT 6 Astra (high) — 28,0% • Gemini 4 Argon (high) — 21,3% Sol почти в 16 раз дешевле Sonnet за прогон и примерно в 2,7 раза быстрее (26,6 ч против 70,7 ч). Моделей Grok от SpaceXSI (бывшая xAI), включая флагманскую Grok 4.7, в Android Bench по-прежнему нет. 🔗 Android Bench #Android #AI #Benchmark

🛒 Публикация приложения из России в 2026: опыт с пятью магазинами Российская команда ИИ-репетитора английского Aisha выложила приложение в RuStore, Google Play, Huawei AppGallery и App Store, а в Samsung Galaxy Store так и не попала. Главные проблемы оказались не в модерации, а в документах и приёме оплаты. 👉 RuStore — регистрация ИП через VK и КЭП, одобрили за день, обновления проходят примерно за час. Подписки — через RuStore Pay. 👉 Google Play — D-U-N-S делали около месяца. Play Billing в России приостановлен, но для российских пользователей действует исключение: подписки принимают через RuStore Pay, Google за эти платежи не берёт комиссию. Модераторам схему пришлось объяснять в примечаниях к проверке. Обновления — 2–3 дня. 👉 Huawei AppGallery — для ИП хватило сканов документов, без D-U-N-S, сторонние платежи разрешены. Проверка — от двух дней, чаще около пяти. 👉 App Store — новым российским аккаунтам Paid Applications Agreement сейчас недоступно, поэтому оформить внешнюю ссылку на оплату не удалось. Вышла только бесплатная версия без внешних ссылок и с кнопкой мгновенного удаления аккаунта. 👉 Samsung Galaxy Store — даже для бесплатного приложения нужен статус коммерческого продавца с D-U-N-S и PayPal на домене компании. Заявку отклонили.
⚠️ Сроки проверок — личный опыт одной команды, а не обязательства магазинов.
🔗 Личный опыт публикации в магазинах приложений в России в 2026 году (Хабр) #Android #AndroidDev #RuStore #GooglePlay

🚀 Sentry Android SDK стал на 20–30% быстрее при старте: что поменяли SentryAndroid.init стоит на критическом пути запуска ка
🚀 Sentry Android SDK стал на 20–30% быстрее при старте: что поменяли SentryAndroid.init стоит на критическом пути запуска каждого приложения с Sentry, а таких стартов, по подсчётам компании, около 4,5 млрд в день. За квартал команда сделала больше 40 изменений и сократила инициализацию на 20–30% между версиями 8.43.0 и 8.54.0. Узкие места искали по трейсам Perfetto, в том числе с LLM, а каждый фикс проверяли Macrobenchmark. Приёмы, которые пригодятся и в вашем коде: 👉 Настройки из манифеста — в байткод при сборке: SDK больше не парсит манифест, одно это дало 6,5%. 👉 Свой парсер DSN вместо java.net.URI: было до 6 мс, стало около 1 мкс. 👉 Общие пулы вместо разовых потоков: в ART каждый поток резервирует 1 МБ под стек. Нужны SDK от 8.54.0 и Sentry Android Gradle Plugin от 6.20.0.
⚠️ Цифры сняты на синтетическом демо-приложении, в реальных проектах эффект может отличаться.
🔗 Sentry Blog #Android #AndroidDev #Performance #Sentry

Один и тот же пуш мгновенно приходит на Pixel — и не приходит вообще на Redmi. Разработчик часами копается в FCM, а виноват не он: Xiaomi, Redmi, Poco, Oppo, Realme, Vivo, iQOO и OnePlus добавляют поверх Android свой агрессивный менеджер батареи, который останавливает приложения в фоне. А остановленное приложение пушей не получает. Что делают эти прошивки • Автозапуск выключен по умолчанию (MIUI/HyperOS, ColorOS) — пуш, которому нужен ваш код, не может его запустить. • Смахивание из недавних = Force stop. Android не доставляет сообщения force-stopped приложению, пока его не откроют. • Профили экономии батареи ограничивают фон, иногда через несколько дней без открытия приложения. • Уведомления на экране блокировки и всплывающие выключены — пуш пришёл, но пользователь его не видит. Что можно сделать в приложении • Важное — через notification messages, а не data-only: их показывает система без запуска вашего кода. • High priority — только для того, что пользователь ждёт (подтверждение входа, статус заказа). • Разные каналы для логинов и промо, чтобы отключение одного не глушило другой. • Просите настройку один раз и в нужный момент, а не всем в первый день. • Pull в дополнение к push: при открытии приложения подтягивайте пропущенное — тогда недошедший пуш лишь опоздал, а не потерялся. Для экрана настроек есть стандартные интенты, а для автозапуска у вендоров публичного API нет:
// Системный список исключений из оптимизации батареи
startActivity(Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS))

// Страница настроек приложения: там на большинстве телефонов Autostart и батарея
startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
    Uri.fromParts("package", packageName, null)))
⚠️ Google Play разрешает прямой запрос исключения (REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) лишь в немногих случаях — большинству приложений стоит вести пользователя на экран настроек.
Как проверить, что дело в прошивке: отправьте одно и то же уведомление на Pixel/Samsung и на Xiaomi, смахнув приложение на обоих. Пришло на первом, но не на втором — это battery saver, и одними изменениями на сервере это не исправить.
⚠️ Названия пунктов меню меняются между версиями прошивок — актуальные инструкции по брендам собраны на dontkillmyapp.com.
🔗 Why push notifications go missing on Xiaomi, Oppo, Vivo and Realme #Android #AndroidDev #FCM #Push #Xiaomi

photo content

🔐 Утекли ключи удостоверяющего центра eMudhra: обновите OkHttp до 5.5.1 или 4.12.1 Поздно вечером 17 октября Mozilla получила сообщение: закрытые ключи восьми промежуточных сертификатов удостоверяющего центра eMudhra скомпрометированы. С ними можно выпустить поддельный HTTPS-сертификат для чужого сайта, и клиент, который доверяет этим корням, его примет. Firefox заблокировал сертификаты меньше чем за три часа, а 20 октября Mozilla убрала корень из своего хранилища NSS. Приложения на OkHttp уязвимы, пока не обновится список доверенных корней платформы, а на Android и JVM это может занять очень долго. Поэтому Jesse Wilson 20 октября выложил обходной путь, а 22 октября вышли OkHttp 5.5.1 и 4.12.1, которые сами блокируют эти 8 сертификатов. Достаточно поднять версию. Если обновиться сразу нельзя, подключите ForbiddenCertificatesHostnameVerifier из гиста, он работает со всеми поддерживаемыми версиями OkHttp:
val safeClient = client.newBuilder()
    .hostnameVerifier(ForbiddenCertificatesHostnameVerifier())
    .build()
⚠️ Первая версия обхода была на Interceptor, но он получает сертификаты слишком поздно, когда секреты уже ушли атакующему. Если вы скопировали её 20 октября, замените на HostnameVerifier. На устройствах с Google Play Services Google уже раздал автоматическое обновление, под угрозой прежде всего JVM и AOSP-устройства.
🔗 Jesse Wilson · Mozilla · Changelog 5.5.1 · 4.12.1 #Android #AndroidDev #OkHttp #Security

🏝 DateParser Kotlin: «купить молоко завтра в 19:00» превращается в дату без сети и API-ключей Пользователь пишет напоминание обычным текстом, а приложению нужно вытащить из него дату, время и сам текст задачи. Обычно для этого зовут облачный NLP-сервис или пишут свои регулярки. DateParser Kotlin делает это офлайн: из Buy milk tomorrow at 7pm получается Buy milk и завтрашние 19:00 в выбранной таймзоне. Библиотека для Kotlin Multiplatform понимает английский и русский: Android, JVM и iOS. Она разбирает даты, время, диапазоны вроде «завтра с 17:30 до 20:00» и повторения вроде «каждые 2 дня». Context и инициализация не нужны.
val parser = DateParser()
val matches = parser.parse(
    text = "buy in 5 hours",
    reference = Instant.parse("2024-02-28T10:15:00Z"),
    timeZone = TimeZone.UTC
)
val instant = matches.single().instant // 2024-02-28T15:15:00Z
Неоднозначные даты не угадываются: 03/04/2026 без явного DateOrder.MDY или DMY вернёт пустой результат. Кроме момента времени, DateMatch отдаёт конец диапазона, период повторения и оставшийся текст напоминания.
⚠️ Парсер построен на правилах: произвольный текст за пределами поддерживаемых форм может не распознаться. Android — от API 26, Swift/XCFramework-дистрибутива нет. Версия 0.1.3, репозиторий создан в октябре.
🔗 GitHub · Документация · klibs.io #Kotlin #KMP #Multiplatform #OpenSource

🚀 Предусловия UI-тестов через API — не всегда быстрее: замеры на 400+ Android-тестах Почти каждый UI-тест в Android-приложен
🚀 Предусловия UI-тестов через API — не всегда быстрее: замеры на 400+ Android-тестах Почти каждый UI-тест в Android-приложении финансового сервиса начинался одинаково: шесть экранов логина и около 26 секунд, хотя логин эти тесты не проверяли. Команда проверила на Хабре известный совет «готовьте предусловия через API, а не через UI» на трёх кейсах в сьюте на Kaspresso. Для логина совет сработал: вход через auth-слой приложения занял ~7 секунд вместо ~26, а общее время 418 тестов сократилось на 27%. А переключение тумблера через PATCH оказалось на 29% медленнее трёх тапов: тест сам грузил большой список продуктов, который приложение потом загружало ещё раз. Вывод авторов: выигрыш даёт не API сам по себе, а то, что из теста уходит длинная UI-цепочка, которая не лежит на пути к проверяемому экрану. 🔗 Статья на Хабре #Android #AndroidDev #Testing #Kaspresso

🤖 Виджеты на Android 17: слишком тяжёлые картинки теперь роняют приложение Приложение обновляет виджет с парой крупных фото и падает с IllegalArgumentException: RemoteViews for widget update exceeds maximum bitmap memory usage. Так Android 17 ведёт себя с приложениями на targetSdk 37: если картинки в RemoteViews не влезают в лимит, система отклоняет обновление и бросает исключение. На targetSdk 36 и ниже это пока только предупреждение в логе. Google переписал описание этого изменения и добавил, как считается лимит и как в него уложиться. Лимит — 6 * width * height байт, то есть полтора полноэкранных буфера ARGB_8888. Считаются картинки для всех ориентаций и размеров виджета сразу, поэтому responsive-виджет легко съедает бюджет копиями одного и того же Bitmap. 👉 Размер экрана берите из WindowManager.currentWindowMetrics, а не из displayMetrics: на складных устройствах тот может вернуть размер неактивного дисплея. 👉 Уменьшайте картинки до размеров виджета, а для непрозрачных используйте RGB_565 — это вдвое меньше памяти. 👉 В Glance декодируйте Bitmap один раз в provideGlance до provideContent, иначе для каждого размера создаётся своя копия. URI-картинки в лимит не входят, но лаунчер декодирует их в полном разрешении, так что класть в cacheDir тоже стоит уменьшенную версию. 🔗 Изменения поведения Android 17 · Виджеты на Glance #Android #AndroidDev #Android17 #AppWidgets

🤖 Google объяснил Android-разработчикам, как устроены ИИ-агенты и что писать в AGENTS.md Агент обновляет библиотеку с ломающ
🤖 Google объяснил Android-разработчикам, как устроены ИИ-агенты и что писать в AGENTS.md Агент обновляет библиотеку с ломающими изменениями, а нового API нет в его обучающих данных, и по сотням файлов сыплются ошибки компиляции. С разбора таких ситуаций начинается новый раздел AI tools на developer.android.com: агент — это LLM плюс обвязка с инструкциями, инструментами, навыками и циклом выполнения. Главный практический совет: пишите в AGENTS.md конкретные команды и пути, а не пожелания. Не «убедись, что проект собирается», а ./gradlew assembleDebug; не «бери свежие версии», а «версии из gradle/libs.versions.toml, новые зависимости — только после вопроса». Навыки устаревают, поэтому свежие факты агенту лучше давать через поиск по документации в Android CLI. В квикстарте инструменты подобраны под опыт: новичкам — Google AI Studio, своему агенту вроде Claude Code — Android CLI и skills, для продакшена — Android Studio. 🔗 Как работают агенты · Квикстарт #Android #AndroidDev #AI #AIAgents

🐱 Mac.apk открыл исходники: Android-приложения на Mac без эмулятора и виртуальной машины Чтобы запустить Android-приложение
🐱 Mac.apk открыл исходники: Android-приложения на Mac без эмулятора и виртуальной машины Чтобы запустить Android-приложение на Mac, обычно поднимают эмулятор — целый Android в виртуальной машине. Автор Mac.apk пошёл путём Wine: его программа сама изображает Android поверх macOS. 19 октября код открыли под AGPL-3.0. При первом запуске DEX переводится в Java-байткод и работает на встроенной OpenJDK, 64-битный ARM-код выполняется на чипе Apple как есть, а графика идёт через ANGLE и MoltenVK в Metal. Каждое приложение — отдельное окно с иконкой в Dock. Разработчикам важно: на Mac.apk ваше приложение запускается без настоящих Google Play Services: Play Billing и Play Integrity недоступны, а рекламный SDK Google получает пустой ответ. Если не хотите видеть там своё приложение, автор по запросу внесёт его в список блокировки.
⚠️ Это альфа-версия: нужны Apple Silicon и macOS 26.4+, часть приложений пока не запускается.
🔗 GitHub · Как это устроено · Для разработчиков #Android #AndroidDev #macOS #OpenSource

👨‍💻 Ты оптимизировал весь код, кроме собственного рабочего места? Монитор — 4K. Клавиатура — механическая. Компьютер — звер
👨‍💻 Ты оптимизировал весь код, кроме собственного рабочего места? Монитор — 4K. Клавиатура — механическая. Компьютер — зверь. Кресло — работает на устаревшей прошивке с 2018 года. 💀 Кажется, пора выпускать обновление! У «Эргостол» стартовала акция «Октябрь — месяц эргономики»: с 23 октября по 1 ноября скидки до -15% на товары акции. 🔥 Скидки суммируются с промокодом -10% ANDROID10 действует на сайте Эргостол и на Ozon! Как насчёт апгрейда кресла? 🪑 🎥Смотрите обзор кресла Экзо Флекс: https://abdev.by/EiMt 👉 Выбрать себе обновления можно: тут #реклама

🚀 Grab включил R8 на 10 млн строк кода и избавился от всплесков ANR после релизов «Каждый еженедельный релиз — всплеск ANR»,
🚀 Grab включил R8 на 10 млн строк кода и избавился от всплесков ANR после релизов «Каждый еженедельный релиз — всплеск ANR», — так описывают жизнь команды Grab, суперприложения из Юго-Восточной Азии с 10-летней кодовой базой. Холодный старт тормозило чтение множества DEX-файлов, а Cloud Profiles из Google Play не покрывали их критичные пути вроде сборки графа Dagger. Сначала команда перешла на proguard-android-optimize.txt и добавила Baseline и Startup Profiles, через девять месяцев — на R8 full mode. Вместо широких исключений нашли конкретные классы, к которым обращаются через рефлексию и динамические прокси, и написали для них точечные keep-правила. Оценки оптимизации R8 теперь отслеживают в CI, а новые keep-правила планируют пропускать только с обоснованием. Итог: ANR меньше на 32%, холодный старт быстрее на 35%. Недавно писал, что Google взялся за R8 всерьёз, — вот как это выглядит на большом проекте. 🔗 Кейс Grab #Android #AndroidDev #R8 #Performance

🤖 DataStore научился шифровать данные из коробки: замена EncryptedSharedPreferences дошла до RC В 2025 году Google объявил deprecated всю библиотеку security-crypto вместе с EncryptedSharedPreferences и предложил работать с Android Keystore напрямую. Готовой замены «подключил и забыл» не было. Теперь она есть: в DataStore 1.3 появился артефакт datastore-tink, а 12 октября вышел 1.3.0-rc01, то есть API уже стабилен. Шифрование подключается обёрткой над вашим сериализатором: AeadSerializer шифрует данные через Tink (AES-256-GCM), а ключ защищён Android Keystore.
// keysetHandle создаётся через AndroidKeysetManager
val aeadSerializer = AeadSerializer(
    aead = keysetHandle.getPrimitive(
        RegistryConfiguration.get(), Aead::class.java
    ),
    wrappedSerializer = SettingsSerializer,
    // уникальное имя защищает от подмены шифротекста
    associatedData = "settings.json".encodeToByteArray(),
)
val dataStore = dataStore(
    fileName = "settings.json",
    serializer = aeadSerializer,
    scope = scope,
)
Работает на Android и JVM. Ошибки расшифровки приходят как CorruptionException, так что их ловит обычный CorruptionHandler. Заодно в 1.3 появился DataStore.Builder, и Google советует переходить на него с DataStoreFactory. 🔗 Release notes DataStore · Разбор на ProAndroidDev #Android #AndroidDev #DataStore #Security

🤖 MediaPipe LLM Inference больше не развивают: Google советует переходить на LiteRT-LM Google сменила курс по on-device LLM одной плашкой в документации Google AI Edge: LLM Inference API из MediaPipe для Android, iOS и веба теперь только поддерживают, а новые возможности и оптимизации делают в LiteRT-LM. Когда это произошло, Google не пишет, но затишье видно и по релизам — последняя версия tasks-genai вышла на Google Maven ещё в конце апреля. Если вы через MediaPipe встроили в приложение языковую модель, которая работает прямо на телефоне, она продолжит работать, но всё новое теперь появляется только в LiteRT-LM, так что переезд стоит спланировать заранее. LiteRT-LM — рантайм Google для языковых моделей поверх LiteRT. У него свой Kotlin API для Android и JVM с ускорением на GPU и NPU, мультимодальностью и вызовом инструментов. Модели нужны в формате .litertlm, готовые лежат в LiteRT Community на Hugging Face. Актуальная версия — litertlm-android:0.18.0, ещё до 1.0. Базовый сценарий из документации:
val engine = Engine(EngineConfig(modelPath = modelPath, backend = Backend.GPU()))
engine.initialize() // до ~10 секунд, не на главном потоке
engine.createConversation().use { conversation ->
    conversation.sendMessageAsync("Привет!").collect { print(it) }
}
Для GPU в манифест нужно добавить uses-native-library для libOpenCL.so и libvndksupport.so с required="false".
⚠️ В AAR LiteRT-LM 0.18.0 нативные библиотеки есть только для arm64-v8a и x86_64. На 32-битных ARM-устройствах загрузка упадёт с UnsatisfiedLinkError, поэтому проверяйте Build.SUPPORTED_ABIS заранее — на это наткнулся Charles Hartmann.
🔗 MediaPipe LLM Inference · LiteRT-LM для Android · dev.to #Android #AndroidDev #AI #LiteRT

Полностью ожидаемо когда появился Contact Picker в Android 17 и полностью правильно. Я не хочу никому давать все контакты: банкам, мессенджерам, соц. сетям и другим прилам. Жду теперь Scoped Contact чтобы самому выбирать, что пошарить в приложением

🤖 Google отбирает у приложений WRITE_CONTACTS: контакты теперь сохраняются через системный редактор Чтобы сохранить хотя бы
🤖 Google отбирает у приложений WRITE_CONTACTS: контакты теперь сохраняются через системный редактор Чтобы сохранить хотя бы один контакт, приложения до сих пор просили WRITE_CONTACTS, а оно позволяет менять всю адресную книгу в фоне. Интенты были альтернативой, но на разных устройствах вели себя по-разному. Google меняет правила: приложения с targetSdk следующей версии Android не смогут писать в контакты напрямую, такие записи упадут с SecurityException. Вместо этого — ACTION_INSERT, ACTION_EDIT и ACTION_INSERT_OR_EDIT: они откроют стандартный системный редактор и не потребуют разрешений. Для чтения выбранных контактов есть Contact Picker, для «Позвонить через…» в мессенджерах — новый People Directory. Приложениям с фоновой синхронизацией (CRM, облака) дадут спецдоступ MANAGE_CONTACTS в Android 17 QPR2.
⚠️ Свои MIME-типы в Insert.DATA системный редактор молча проигнорирует, а SHOW_OR_CREATE_CONTACT он не обрабатывает.
🔗 Android Developers Blog #Android #AndroidDev #Contacts #Privacy

🐘 Gradle закрывается... Открывается Develocity. Компания официально сделала ребрендинг и сайт gradle.com теперь будет переадресовывать на develocity.ai — коммерческий продукт, который давно существовал, становится лицом. #Gradle

🐘 Обновили Gradle скиллы до версии 1.1.0: исправили баги и сделали улучшения для работы на более слабых моделях #Gradle #AI

🛒 Google Play: Ask Play сравнивает приложения, Engage SDK на 9 категорий Google обновила инструменты discovery и engagement
🛒 Google Play: Ask Play сравнивает приложения, Engage SDK на 9 категорий Google обновила инструменты discovery и engagement для разработчиков. Часть уже в Play Console, часть раскатывается. 👉 Ask Play. Динамические сравнения приложений бок о бок прямо в поиске — по подпискам, офлайн и другим пунктам листинга 👉 Play в Gemini. Уже >6 млн установок за 2 месяца с запуска; рекомендации приложений теперь и через Gemini Live голосом 👉 Deep links. Встроенный эмулятор deep links в Play Console — проверять ссылки без физического устройства 👉 Engage SDK. Персональный контент в Apps Home / You tab — теперь 9 категорий, включая Education и Health & Fitness 👉 Игры. Play Games Rewards в GA; Sprints — 48-часовые матчи 2–5 игроков. Apps Experience / Level Up доступны в EEA, UK, US, AU, JP 🔗 Android Developers Blog #Android #AndroidDev #GooglePlay