Исследователи безопасности обнаружили интересную уязвимость в некоторых дейтинг-приложениях. Хотя ни одно из этих приложений не указывает точное местоположение в их профилях, они используют точное местоположение для функции «фильтры». Чтобы определить точное местоположение целевого пользователя, исследователи использовали новую технику, которую они назвали «предсказательной трилатерацией» (oracle trilateration). На первом этапе человек, который хочет определить местоположение своей цели, «приблизительно оценивает местоположение жертвы», например, на основе местоположения, отображаемого в профиле цели. Затем злоумышленник использует фильтры и по земле перемещается с определенным шагом “до тех пор, пока приложение не укажет, что жертва больше не находится поблизости, и так для трех разных направлений. Теперь у злоумышленника есть три позиции с известным точным расстоянием, и он может трилатеризировать жертву”.
Разработка
• Bumble и Hinge позволяли определять местоположение пользователей с точностью до 2 метров
• I recreated Shazam's algorithm with Go
Маркетинг
• Рынок приложений в первом полугодии 2024 года — отчет Apptica
• ИИ генерирует странные описания в Play Store
Кроссплатформа
• Адаптивная верстка на React Native
• App clip with React Native and New Arch (and Swift)
• Shake It Up with CMPShakeDetection: Integrating Fun in Compose Multiplatform
Разработка
• Bumble и Hinge позволяли определять местоположение пользователей с точностью до 2 метров
• I recreated Shazam's algorithm with Go
Маркетинг
• Рынок приложений в первом полугодии 2024 года — отчет Apptica
• ИИ генерирует странные описания в Play Store
Кроссплатформа
• Адаптивная верстка на React Native
• App clip with React Native and New Arch (and Swift)
• Shake It Up with CMPShakeDetection: Integrating Fun in Compose Multiplatform
AppTractor
Bumble и Hinge позволяли определять местоположение пользователей с точностью до 2 метров
Чтобы определить точное местоположение целевого пользователя, исследователи использовали новую технику, которую они назвали «предсказательной трилатерацией» (oracle trilateration).
🔥2❤1✍1
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что вы посмотрели за неделю?
#ios #android #mobile #video
•
(iOS Ru) Почему Metal перестал быть страшным•
(iOS Ru) Локализация iOS-приложения за 1$ в 2024 году•
(iOS En) SwiftUI Floating Bottom Sheets•
(iOS En) How to Refactor SwiftUI into Reusable Views•
(iOS En) SwiftUI App Intro Animation's - Shape Morphing Effect•
(iOS En) Xcode File Headers and Macros•
(iOS En) How to Use TextField Keyboard Focus in SwiftUI with FocusState•
(And Ru) Нужно ли учить Java для Android-разработки в 2024•
(And En) Compose Tips for Delightful UI•
(And En) Compose Migration Side Effects - What Can Go Wrong?•
(And En) Building Libraries for the Next 25 Years•
(And En) Turbocharge Your Data: Harnessing Kotlin and gRPC to Handle Real-Time Data From Connected Cars•
(And En) Grow with the Flow: How Kotlin Flow Became a Game Changer for our Business•
(And En) Coroutines: Concurrency in Kotlin•
(Crs Ru) KMP на ОС Аврора: проблемы и пути их решения•
(Crs En) The Kotlinx DateTime API for Compose Multiplatform•
(Crs En) How to Implement Drag & Drop in Jetpack Compose•
(Crs En) Hitchhiker’s Guide to Kotlin Multiplatform Libraries•
(Dev Ru) Алгоритмическая сессия на собеседовании + Все собеседования•
(Dev Ru) Автоматическая генерация верстки под Server-driven UI из макетов Figma•
(Dev Ru) Учимся договариваться о деньгах — Офферы, Зарплаты, Повышение•
(Dev Ru) Дизайн системы — это слишком модно, возможно они вам не нужны•
(Dev En) How to get a FAANG Dev Job in your 40sЧто вы посмотрели за неделю?
#ios #android #mobile #video
👍3❤1
Конвейеры симуляции
В новом дайджесте конвейеры мобильного развертывания за $0 и нестрашный Metal, Selenoid без симуляции и странные описания в Play Store, адаптивная верстка на React Native, упадок мобильной разработки, оптимизация пейвола и многое другое. Подключайтесь!
В новом дайджесте конвейеры мобильного развертывания за $0 и нестрашный Metal, Selenoid без симуляции и странные описания в Play Store, адаптивная верстка на React Native, упадок мобильной разработки, оптимизация пейвола и многое другое. Подключайтесь!
👍1
«У нас закончились столбцы» — лучшая худшая кодовая база
Хотите ужасов? Их есть у меня ☺️ Джимии Миллер написал о лучшей худшей кодовой базе, которую он видел. В ней БД была полным месивом, важные данные редактировались вручную, главные экраны загружались по неск минут. И все же... Она была свободна. От архитектуры, согласований, стилей кода и прочего.
Поддержите ⬆️ мой перевод на Хабре
Хотите ужасов? Их есть у меня ☺️ Джимии Миллер написал о лучшей худшей кодовой базе, которую он видел. В ней БД была полным месивом, важные данные редактировались вручную, главные экраны загружались по неск минут. И все же... Она была свободна. От архитектуры, согласований, стилей кода и прочего.
За всю мою последующую карьеру мне никогда не доводилось работать в такой удивительно уродливой кодовой базе. Все уродливые кодовые базы, с которыми я сталкивался потом, так и не преодолели свою потребность в согласованности. Возможно, в данном случае кодовая база была покинута «серьезными» разработчиками задолго до этого. Остались лишь разношерстные стажеры и младшие разработчики. А может быть, дело в том, что между этими разработчиками и пользователями не было никакой прослойки: ни переводов, ни требований, ни карт. Просто вы стоите за столом представителя службы поддержки и спрашиваете, как сделать их жизнь лучше.
Поддержите ⬆️ мой перевод на Хабре
👍6
iOS
• Как iOS-команда Medium эффективно работает с legacy кодом
• Переводим текст в SwiftUI-приложении с помощью фреймворка Translation
• Как пиратские приложения обходят проверку App Store
• Почему Metal перестал быть страшным
• Локализация iOS-приложения за 1$ в 2024 году
• SafeDI — безопасная Compile-time инъекция зависимостей в Swift
• Non-Sendable types are cool too you know
• Async await in Swift: The Full Toolkit
• How to add animation to MeshGradient in SwiftUI
• Olympic Logo in SwiftUI
• iOS App Launch Optimization: How Cityflo Achieved 2.22x Faster Load Times
#ios
• Как iOS-команда Medium эффективно работает с legacy кодом
• Переводим текст в SwiftUI-приложении с помощью фреймворка Translation
• Как пиратские приложения обходят проверку App Store
• Почему Metal перестал быть страшным
• Локализация iOS-приложения за 1$ в 2024 году
• SafeDI — безопасная Compile-time инъекция зависимостей в Swift
• Non-Sendable types are cool too you know
• Async await in Swift: The Full Toolkit
• How to add animation to MeshGradient in SwiftUI
• Olympic Logo in SwiftUI
• iOS App Launch Optimization: How Cityflo Achieved 2.22x Faster Load Times
#ios
AppTractor
Как iOS-команда Medium эффективно работает с legacy кодом
Таким образом, мы узнаем все больше и больше о тонкостях и небольших нюансах этого куска кода и, когда мы достаточно его разберем или поймем, тогда мы рассмотрим возможность переписать то, что осталось, и/или все целиком, используя более современные части…
Android
• Google Play сможет обновлять сторонние приложения
• Compose Game Engine — 2D игровой движок
• Нужно ли учить Java для Android-разработки в 2024
• «Арендовал телефон — стал фермером»: знакомство с Mobile Farm
• Hassle-free Snackbar in Jetpack Compose
• Making security easy: How we are helping you fix vulnerabilities in your Android apps
• Jetpack Compose Previews: Delving Deep Into Their Inner Workings
• Clean Data Sources in Android
#android
• Google Play сможет обновлять сторонние приложения
• Compose Game Engine — 2D игровой движок
• Нужно ли учить Java для Android-разработки в 2024
• «Арендовал телефон — стал фермером»: знакомство с Mobile Farm
• Hassle-free Snackbar in Jetpack Compose
• Making security easy: How we are helping you fix vulnerabilities in your Android apps
• Jetpack Compose Previews: Delving Deep Into Their Inner Workings
• Clean Data Sources in Android
#android
AppTractor
Google Play сможет обновлять сторонние приложения
Новый флаг, замеченный в последнем выпуске Google Play Store, указывает на то, что пользователи могут увидеть возможность установки обновлений для приложений, загруженных из другого источника.
❤2
У мобильного рынка новый победитель - MONOPOLY GO! быстрее всех заработала 3 миллиарда долларов. За 473 дня против 594 у предыдущего победителя, Genshin Impact. Интересно, что разработка MONOPOLY GO! заняла целых 7 лет и один из директоров Scopely Уолтер Драйвер подчеркнул, что процесс был долгим и сложным, отметив: «Есть старая поговорка, что большинство мгновенных успехов создаются десятилетиями, и в случае с MONOPOLY GO! это очень верно».
Разработка
• Алгоритмическая сессия на собеседовании
• Автоматическая генерация верстки под Server-driven UI из макетов Figma
• Учимся договариваться о деньгах — Офферы, Зарплаты, Повышение
• Самые высокооплачиваемые вакансии июля в сфере разработки приложений
• How to perform geoqueries on Firestore (somewhat) efficiently
• The way we interact with apps is changing, so should the way they are designed.
Маркетинг
• MONOPOLY GO! быстрее всех заработала $3 млрд
Кроссплатформа
• KMP на ОС Аврора: проблемы и пути их решения
• Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking
• Архитектура Flutter проекта простым языком. Clean Arch (MVVM, DI, Bloc, Inversion of Control)
Разработка
• Алгоритмическая сессия на собеседовании
• Автоматическая генерация верстки под Server-driven UI из макетов Figma
• Учимся договариваться о деньгах — Офферы, Зарплаты, Повышение
• Самые высокооплачиваемые вакансии июля в сфере разработки приложений
• How to perform geoqueries on Firestore (somewhat) efficiently
• The way we interact with apps is changing, so should the way they are designed.
Маркетинг
• MONOPOLY GO! быстрее всех заработала $3 млрд
Кроссплатформа
• KMP на ОС Аврора: проблемы и пути их решения
• Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking
• Архитектура Flutter проекта простым языком. Clean Arch (MVVM, DI, Bloc, Inversion of Control)
AppTractor
MONOPOLY GO! быстрее всех заработала $3 млрд
Один из генеральных директоров Scopely Уолтер Драйвер подчеркнул, что процесс был долгим и сложным, отметив: «Есть старая поговорка, что большинство мгновенных успехов создаются десятилетиями, и в случае с MONOPOLY GO! это очень верно».
✍3❤1🍌1
iOS
• SwiftUI Design System
• Useful packages to improve your SwiftUI development workflow
• Implementing Seamless App Version Management in iOS with CloudKit
#ios
• SwiftUI Design System
• Useful packages to improve your SwiftUI development workflow
• Implementing Seamless App Version Management in iOS with CloudKit
#ios
Medium
SwiftUI Design System
If your dreams don’t scare you, then your dreams aren’t big enough. And I also remember, Sutan Sjahrir once said, ‘a life that is not…
Android
• Реализация Server-Driven UI в Android
• В Android 15 режим edge-to-edge обязателен, но Google добавил возможность отказаться от него
• WhatsApp Clone Compose — копия WhatsApp на Compose и Stream SDK
• Full-Text Search in Android: Integrating FTS4 with Room
• My notes on Android optimization. Part 1. Measuring startup time
• Android Device Streaming: Announcing Early Access to Samsung, Xiaomi, and Oppo Device Labs
#android
• Реализация Server-Driven UI в Android
• В Android 15 режим edge-to-edge обязателен, но Google добавил возможность отказаться от него
• WhatsApp Clone Compose — копия WhatsApp на Compose и Stream SDK
• Full-Text Search in Android: Integrating FTS4 with Room
• My notes on Android optimization. Part 1. Measuring startup time
• Android Device Streaming: Announcing Early Access to Samsung, Xiaomi, and Oppo Device Labs
#android
Не очень понял как так получилось, но лидер июльского топа загрузок в России - CHOOLBOY RUNAWAY. Игра про школьника, которому нужно сбежать от родителей, получила за месяц почти 4.5 миллиона установок и опередила Телеграм и Wildberries, а TikTok и WhatsApp так вообще вместе взятых. Сколько заработала не очень понятно, так как IAP нет, есть только реклама. Но, кажется. неплохо. Так что мораль - никогда не надо недооценивать силу школьников 👨🎓
Разработка
• ОС «Аврора» — веб-сервер в кармане
• Trade My Spin строит бизнес на поддержанных тренажерах Peloton
• What Type of Loading and Progress Indicators Implement in the App?
• "20% for tech debt" doesn't work
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в июле 2024
Кроссплатформа
• Understanding Composited Layers to improve the performance of Flutter apps
• Convert Your Native Project to Kotlin Multiplatform
• How BigPay Increased Flutter Developer Velocity
Разработка
• ОС «Аврора» — веб-сервер в кармане
• Trade My Spin строит бизнес на поддержанных тренажерах Peloton
• What Type of Loading and Progress Indicators Implement in the App?
• "20% for tech debt" doesn't work
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в июле 2024
Кроссплатформа
• Understanding Composited Layers to improve the performance of Flutter apps
• Convert Your Native Project to Kotlin Multiplatform
• How BigPay Increased Flutter Developer Velocity
👍2❤1
Google запускает базу знаний о безопасности Android-приложений
База знаний по безопасности приложений Android (Android Application Security Knowledge Base, AAKB) содержит рекомендации по написанию безопасного программного обеспечения для Android. Она представляет собой хранилище распространенных проблем в коде с примерами их устранения и пояснениями по реализации конкретных моделей.
• База знаний была составлена с учетом того, что разработчикам необходимо знать не только о том, какие уязвимости были обнаружены в их приложениях, но и о том, как устранить проблемы и как избежать подобных неприятностей в будущем.
• Цель AAKB — создать руководство по написанию безопасного программного обеспечения для Android. Информация об уязвимостях и советы соответствуют стандартам OWASP MASVS, которые являются отраслевыми стандартами безопасности для мобильных приложений.
Руководство доступно на домашней странице AAKB или прямо в Android Studio, которая «ссылается на AAKB в результатах проверок линтера».
База знаний по безопасности приложений Android (Android Application Security Knowledge Base, AAKB) содержит рекомендации по написанию безопасного программного обеспечения для Android. Она представляет собой хранилище распространенных проблем в коде с примерами их устранения и пояснениями по реализации конкретных моделей.
• База знаний была составлена с учетом того, что разработчикам необходимо знать не только о том, какие уязвимости были обнаружены в их приложениях, но и о том, как устранить проблемы и как избежать подобных неприятностей в будущем.
• Цель AAKB — создать руководство по написанию безопасного программного обеспечения для Android. Информация об уязвимостях и советы соответствуют стандартам OWASP MASVS, которые являются отраслевыми стандартами безопасности для мобильных приложений.
Руководство доступно на домашней странице AAKB или прямо в Android Studio, которая «ссылается на AAKB в результатах проверок линтера».
🔥11
iOS
• Дизайн-система в SwiftUI
• В чём отличие асинхронности и многопоточности — вопросы с собеседований
• iOS Clean Architecture — чистая архитектура, MVVM и Combine
• Exploring SwiftUI: Creating a BottomSheet
• Nested Grid Layout Anomaly: Analysis Approach and Resolution Strategies for SwiftUI Layout Issues
• How to automatically manage, monitor & rollout new machine learning models across your iOS app user base
• How to automatically detect memory leaks on CI/CD using UI tests
#ios
• Дизайн-система в SwiftUI
• В чём отличие асинхронности и многопоточности — вопросы с собеседований
• iOS Clean Architecture — чистая архитектура, MVVM и Combine
• Exploring SwiftUI: Creating a BottomSheet
• Nested Grid Layout Anomaly: Analysis Approach and Resolution Strategies for SwiftUI Layout Issues
• How to automatically manage, monitor & rollout new machine learning models across your iOS app user base
• How to automatically detect memory leaks on CI/CD using UI tests
#ios
AppTractor
Дизайн-система в SwiftUI
В двух словах, дизай-система нужна нам для того, чтобы обеспечить единый внешний вид и восприятие различных продуктов на разных платформах, обеспечивая бесшовный пользовательский опыт.
👍1
Android
• Google TV Streamer — преемник Chromecast и центр умного дома
• Google запускает базу знаний о безопасности Android-приложений
• Precise Intent Resolution - Android 15
• Applying the Strategy Pattern in Kotlin
• The best way to load data in ViewModels
#android
• Google TV Streamer — преемник Chromecast и центр умного дома
• Google запускает базу знаний о безопасности Android-приложений
• Precise Intent Resolution - Android 15
• Applying the Strategy Pattern in Kotlin
• The best way to load data in ViewModels
#android
AppTractor
Google TV Streamer — преемник Chromecast и центр умного дома
Но по своей сути Google TV Streamer по-прежнему остается в основном развлекательным гаджетом.
❤1👍1
Давно хочу сделать уютный ламповый чат для инди-разработчиков (проектов). Вход только с указанием продукта, может быть по подписке, обсуждаем всякую индюшатину - ниши, аналитику, хаки, код, пейволы и пр. Не для Enterprise, а что можно сделать совсем или почти бесплатно в рамках пет-проектов. Интересно?
Разработка
• Flighty использует машинное обучение, чтобы предсказывать задержки рейсов
• VK проведет конференцию по мобильной разработке — VK JT Mobile
• Препарируем электрохомяка
• The Senior Engineer Illusion: What I Thought vs. What I Learned
• How Uber Tests Payments In Production
Маркетинг
• Маркетологи в мобайле: Денис Лазаричев (руководитель проектов performance-
Кроссплатформа
• PWA вместо приложения: плюсы, минусы, подводные камни
• What’s new in Flutter 3.24
• Getting started with Flutter GPU
• Custom Render Boxes and Painting in Flutter
Разработка
• Flighty использует машинное обучение, чтобы предсказывать задержки рейсов
• VK проведет конференцию по мобильной разработке — VK JT Mobile
• Препарируем электрохомяка
• The Senior Engineer Illusion: What I Thought vs. What I Learned
• How Uber Tests Payments In Production
Маркетинг
• Маркетологи в мобайле: Денис Лазаричев (руководитель проектов performance-
Кроссплатформа
• PWA вместо приложения: плюсы, минусы, подводные камни
• What’s new in Flutter 3.24
• Getting started with Flutter GPU
• Custom Render Boxes and Painting in Flutter
👍9
Жутко, но факт: как Uber тестирует платежи в продакшене
Тестирование в проде давно стало предметом для шуток и мемов. А вот, например, Uber там проводит большую часть тестов системы оплаты - одной из важнейших подсистем для приложения такси. Почему так?
Тестовы среды ограничены и в них невозможно реализовать все условия реального мира. Ошибки, которые в них можно выявить, просты и элементарны, а глубинных проблем вы никогда не поймете. Поэтому быстро прогнали тесты - и в прод.
Подробнее в статье.
Тестирование в проде давно стало предметом для шуток и мемов. А вот, например, Uber там проводит большую часть тестов системы оплаты - одной из важнейших подсистем для приложения такси. Почему так?
Тестовы среды ограничены и в них невозможно реализовать все условия реального мира. Ошибки, которые в них можно выявить, просты и элементарны, а глубинных проблем вы никогда не поймете. Поэтому быстро прогнали тесты - и в прод.
Uber перерос идею о том, что дефекты могут быть полностью устранены на этапе тестирования.
Вместо того чтобы напрягаться по поводу идеального релиза, Uber внедрил инструменты для раннего обнаружения производственных сбоев и быстрого и простого отката к заведомо безопасному состоянию.
Эти инструменты соответствуют трем ключевым концепциям: Развертывание с учетом бизнес-показателей, тщательный выбор региона первого развертывания и постепенное развертывание.
Подробнее в статье.
👨💻8👍6🏆4❤1🤔1🤯1
Android
• Пишем своё приложение для установки PIN на другие приложения
• Что стоит знать о Jetpack Compose: руководство для начинающих
• Building an effective abstraction layer for UI resources on Android
• How Suspend Functions Work in Kotlin: Under the Hood in Android
• MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
• Decompile and Recompile APK using APKTOOL : Beginners Guide
#android
• Пишем своё приложение для установки PIN на другие приложения
• Что стоит знать о Jetpack Compose: руководство для начинающих
• Building an effective abstraction layer for UI resources on Android
• How Suspend Functions Work in Kotlin: Under the Hood in Android
• MutableState or MutableStateFlow: A Perspective on what to use in Jetpack Compose
• Decompile and Recompile APK using APKTOOL : Beginners Guide
#android
Хабр
Пишем своё приложение для установки PIN на другие приложения
Предыстория Ещё с детства мой отец приучил меня пользоваться антивирусами. Соблюдая традиции, я купил себе подписку на антивирус для Андроида. Оказалось, в приложении есть крайне...
👍2❤1
Разработка
• Жутко, но факт: как Uber тестирует платежи в продакшене
Маркетинг
• Приложение ChatGPT поставило рекорд по выручке
• Кейс Ozon и Bidease: как снизить CAC и CPO более чем на 30%
Кроссплатформа
• How to Develop a Super App with React Native?
• Deep dive into writing macros in Dart 3.5
#mobiledev
• Жутко, но факт: как Uber тестирует платежи в продакшене
Маркетинг
• Приложение ChatGPT поставило рекорд по выручке
• Кейс Ozon и Bidease: как снизить CAC и CPO более чем на 30%
Кроссплатформа
• How to Develop a Super App with React Native?
• Deep dive into writing macros in Dart 3.5
#mobiledev
AppTractor
Жутко, но факт: как Uber тестирует платежи в продакшене
Вместо того чтобы напрягаться по поводу идеального релиза, Uber внедрил инструменты для раннего обнаружения производственных сбоев и быстрого и простого отката к заведомо безопасному состоянию.
👍1
Apple объявила о новой структуре сборов для приложений в ЕС
После июньского решения Евросоюза, согласно которому политики Apple и App Store официально нарушают Закон о цифровых рынках, компания Apple объявила о внесении очередных изменений. В частности, эти изменения касаются правил, связанных с размещением разработчиками приложений внешних ссылок для информирования пользователей об альтернативных способах оплаты.
• Ранее Apple применяла строгие правила, определяющие, как приложениям разрешается размещать ссылки. Требовалось, чтобы ссылка была статической и вела непосредственно на собственный сайт, без каких-либо параметров для идентификации вошедшего пользователя в URL. Это ограничивало возможности приложений напрямую направлять пользователей на веб-страницу, где они могли заплатить за функции в своем аккаунте.
• Согласно сегодняшним изменениям, все эти ограничения теперь отменены. Приложения могут предлагать действующие ссылки с любым количеством динамических URL. Эти ссылки могут вести пользователя куда угодно, в том числе для продвижения других каналов продаж, например альтернативных магазинов приложений. URL-адреса могут содержать параметры, если эти параметры не используются для рекламы или профилирования пользователей.
• Apple также обновила страницу раскрытия информации для пользователей, добавив более дружелюбный дизайн и включив в интерфейс переключатель, позволяющий пользователям в будущем отказаться от просмотра страницы раскрытия информации при переходе по внешним ссылкам на покупки.Core Technology Fee
• Взамен Apple вводит двухуровневую систему сборов для приложений, которые ссылаются на веб-страницы для оплаты. Кроме Core Technology Fee. это теперь плата за первоначальное приобретение (Initial Acquisition Fee) и плата за услуги магазина (Store Services Fee).
• Изменения запутаны — настолько, что даже Spotify пока не совсем понимает, что с ними делать,. Однако компания все же осудила изменения, основываясь на своем нынешнем понимании того, как будет работать новая политика:
И что: до очередных изменений осталось месяца 2.
После июньского решения Евросоюза, согласно которому политики Apple и App Store официально нарушают Закон о цифровых рынках, компания Apple объявила о внесении очередных изменений. В частности, эти изменения касаются правил, связанных с размещением разработчиками приложений внешних ссылок для информирования пользователей об альтернативных способах оплаты.
• Ранее Apple применяла строгие правила, определяющие, как приложениям разрешается размещать ссылки. Требовалось, чтобы ссылка была статической и вела непосредственно на собственный сайт, без каких-либо параметров для идентификации вошедшего пользователя в URL. Это ограничивало возможности приложений напрямую направлять пользователей на веб-страницу, где они могли заплатить за функции в своем аккаунте.
• Согласно сегодняшним изменениям, все эти ограничения теперь отменены. Приложения могут предлагать действующие ссылки с любым количеством динамических URL. Эти ссылки могут вести пользователя куда угодно, в том числе для продвижения других каналов продаж, например альтернативных магазинов приложений. URL-адреса могут содержать параметры, если эти параметры не используются для рекламы или профилирования пользователей.
• Apple также обновила страницу раскрытия информации для пользователей, добавив более дружелюбный дизайн и включив в интерфейс переключатель, позволяющий пользователям в будущем отказаться от просмотра страницы раскрытия информации при переходе по внешним ссылкам на покупки.Core Technology Fee
• Взамен Apple вводит двухуровневую систему сборов для приложений, которые ссылаются на веб-страницы для оплаты. Кроме Core Technology Fee. это теперь плата за первоначальное приобретение (Initial Acquisition Fee) и плата за услуги магазина (Store Services Fee).
• Изменения запутаны — настолько, что даже Spotify пока не совсем понимает, что с ними делать,. Однако компания все же осудила изменения, основываясь на своем нынешнем понимании того, как будет работать новая политика:
На первый взгляд, требуя до 25% за базовое общение с пользователями, Apple в очередной раз грубо игнорирует фундаментальные требования Закона о цифровых рынках (DMA). Европейская комиссия ясно дала понять, что взимание периодической платы за такие базовые элементы, как ценообразование и ссылки, неприемлемо. Мы призываем Комиссию ускорить расследование, ввести ежедневные штрафы и обеспечить соблюдение DMA.
И что: до очередных изменений осталось месяца 2.
👨💻4❤1
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Что вы посмотрели за неделю?
#ios #android #mobile #video
•
(iOS Ru) Итоги одного года мобильной разработки с использованием NLP•
(iOS Ru) Combine с нуля — реактивщина это просто•
(iOS En) Building Compositional Grid Layout With iOS 18 APIs•
(iOS En) The Best iOS Dev Portfolio Strategy•
(iOS En) How to Reduce Log Verbosity in the Xcode Debug Console•
(iOS En) Getting the MOST out of Xcode 16•
(iOS En) Building App Intro Animations with Shape Morphing Effect Using SwiftUI•
(And En) Targeting Android 15 - Why Your App Is NOT Ready•
(And En) Channels in Kotlin Coroutines•
(And En) Guide to Improving Compose Performance•
(And En) Background Work in Android: Strategies and Best Practices•
(And En) Applying the Strategy Pattern in Kotlin•
(Crs En) Lifecycle path to Multiplatform•
(Crs En) Kotlin Multiplatform in Google Workspace•
(Crs En) KMP in Action A Production Case Study•
(Dev Ru) Тулкиты кодогенерации Android vs iOS•
(Dev Ru) Ускоряем карьерный рост в FAANG•
(Dev Ru) Алгоритмы — самый провальный этап собеседований (+ все собеседования)•
(Dev En) Operating Systems Course for BeginnersЧто вы посмотрели за неделю?
#ios #android #mobile #video
👍2