Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
▶️Google Play do‘konidan 1,8 million ilova olib tashlandi!
🧹 2024-yil boshidan beri Google ilovalar do‘konida tozalash ishlari boshlandi. Natijada mavjud ilovalar soni 47% ga kamaydi.
🛡 Sabablari:
- Past sifatli va keraksiz ilovalarga qarshi kurash
- Sun’iy intellekt orqali zararli ilovalarni aniqlash
- Yevropa Ittifoqining yangi talablariga javob bermagan ilovalarning bloklanishi
✅ Har bir yangi ilova endi 20 ta test foydalanuvchisi bilan 2 hafta sinovdan o‘tishi shart
📊 Qaysi ilovalar ketdi?
🎮 O‘yinlar — 200 ming+
📚 Ta’lim — 160 ming+
🏢 Biznes — 115 ming+
🚫158 mingdan ortiq ishlab chiquvchilar bloklandi.
📈 Shunga qaramay, yangi ilovalar soni 7,1% ga oshgan — endi raqamlar kam, lekin sifat yuqori!
🎥#googleplay | Birinchi raqamli IT-Blog
▶️ Google Play batareyani tez sarf qiladigan ilovalarni belgilay boshladi
⚠️ 1-martdan boshlab, smartfon batareyasini ortiqcha sarf qiladigan ilovalar maxsus ogohlantirish oladi.
✅ Agar ilova fon rejimida uzoq ishlasa, tizim bu holatni qayd qiladi.
✅ Agar oy davomida ko‘plab foydalanuvchilarda bu vaziyat takrorlansa, ilovaga maxsus belgi qo‘yiladi.
Maqsad: foydalanuvchilar batareyani tez sarf qiladigan ilovalarni ko‘rishi mumkin, ishlab chiquvchilar esa optimizatsiyaga e’tibor beradi.
👍Bizning barcha loyihalar | #googleplay
🛒Google Play теперь предупреждает пользователей о приложения с высоким расходом батареи
Пользователи увидят красную плашку сразу в шапке страницы приложения в Google Play с предупреждением. Установка всё также будет возможна. Задача изменения - уведомление пользователей и попытка повилять на кол-во установок, чтобы пользователи сами решили всё.
Раскатка фичи началась с 1 марта 2026 года на приложения, которые были определены как "с высоким расходом батареи". В течении нескольких недель такая плашка появится на всех приложения в Google Play
Уже давно есть инструменты в Google Play консоле чтобы увидеть, что ваше приложение расходует много энергии или тормозит. Просто перестаньте игнорировтаь их.
🔗 Источник - блог Android Developers (там же набор рекомендаций по устранению проблем с расходом батареи)
#GooglePlay
🛒 Google Play меняет свои правила после победы Epic Games
Ключевые изменения:
👉Больше не будет форсирования оплаты цифровых товаров и подписок через Google Play
👉Сторнние сторы получат возможности как у Google Play
Registered App Stores - официальная для программа для сторонних магазинов. Те кто решит пойти в программу поулчат сразу при установке все разрешения и опыт близкий к работе Gooogle Play Программа стартует за пределами США и только потом станет доступна там.
🪙 Снижение комисии магазина. Теперь процент зависит от разных факторов, но использовать Google Play Billing точно становится приятнее
💬Как на ваш взгляд это повлияет на монетизацию разработчиков и возможности распространения приложения?
Источник - оф блог Android Developers
#GooglePlay
🛒 Google Play врёт с размером обновления?
Уже не первый раз замечаю как при обновлении приложения вижу одну цифру, в когда начинаю обновлять - объем скачиваемых данных больше
💬 Делитесь идеями в комментариях
#GooglePlay
‼️🛒Google Play становится открытым в США🤯
Google Play разрешил приложениям в США размещать ссылку на альтернативные методы оплаты в приложения и использования Google Play Billing теперь необязательно.
UPD! Google сделала это по решению суда, а не по собственной воли
#googleplay
🛒Пример использования Google Play Age Signals API (beta)
// Создаем экземпляр менеджера
val ageSignalsManager = AgeSignalsManagerFactory.create(
ApplicationProvider.getApplicationContext()
)
// Запрашиваем проверку возрастных сигналов
ageSignalsManager
.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { ageSignalsResult ->
// Сохраняем installId для дальнейшего использования
val installId = ageSignalsResult.installId()
when (ageSignalsResult.userStatus()) {
AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED -> {
// Пользовтаелю меньше 18 лет и родитель запретил доступ
}
AgeSignalsVerificationStatus.VERIFIED -> {
// Пользователю больше 18 лет
}
else -> {
// Обрабатываем другие статусы
}
}
}
#googleplay
‼️ Дуров нас предупреждал - стала доступна betа версия API для проверки возраста из-за новых требований в отдельных штатах США
Google Play Age Signals API позволяет получить "сигналы" касательно возраста пользователя и дальнейшей реакцией приложения на полученную информацию
Новое API вызвано требованием обязательной проверки магазином возраста пользователя с 1 января 2026 в штате Техас
#googleplay
🛒Google Play отказывается от "in-app purchase" (SKU). На замену приходит "One-time product" OTP - гибче и лучший способ для продаж цифровых товаров внутри приложения
Каждый OTP может иметь несколько вариантов покупки, отражая разные способы получения пользователем. Также можно добавить несколько "специальных предложений" для OTP.
Система стала гибче и проще для проведения экспериментов с одним и тем же товаром, а именно:
👉 Разные способы продажи
👉 Сдача товара в аренду (временная покупка)
👉 OTP могут быть предзаказаны
👉 Нет цены по умолчанию
👉 Управление ценой в регионе и доступность товара
👉 Гибкая система создания акций для OTP
В Google Play Console вы можете мигрировать с существующей SKU системы в новую модель и будет обратная совместимость, если вы решите не переносить товары.
Чтобы получить все возможности в коде вашего приложения на Android надо перейти на Play Billing Library 8.0
#googleplay
🛒Обновление правил Google Play от 10 июля 2025
Что самого важного из изменений:
👉 Разрешение рекламы краткосрочных займов только в Пакистане
👉 Изменения касательно криптовалют и цифровых кошельков
👉 Уточнили как использовать разрешения для чтения сенсоров тела
👉 Добавили практики по использованию контента, сгенерированного AI,
📹Видео версия
#googleplay
🛒В Google Play можно будут остановить раскатку после Full Rollout🔥
Одна из причин раскатки приложения пошагово - желание проверить как работает новая версия, но уже традицией стало оставлять раскатку на 99% из-за того что после полной нельзя остановить её. Теперь это станет возможным
#googleplay