-
Постов
2 517 -
Зарегистрирован
-
Посещение
-
Победитель дней
264
Активность репутации
-
Равиль Зарипов (ZuBy) получил реакцию от Andrey Efimov в Политика конфиденциальности
если мне память не изменяет, то гугл будет ругать на разрешение READ_PHONE_STATE т.к. оно даёт доступ к многим параметрам устройства, для нее нужна политика конфиденциальности
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в Политика конфиденциальности
если мне память не изменяет, то гугл будет ругать на разрешение READ_PHONE_STATE т.к. оно даёт доступ к многим параметрам устройства, для нее нужна политика конфиденциальности
-
Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Политика конфиденциальности
Да, на данный момент, только вручную.
Если смотреть поверхностно, то
android:minSdkVersion="14" android:targetSdkVersion="14"
означает:
1) Приложение может запускаться на версиях от 14 АПИ (minSdkVersion)
2) Приложение разработано для 14 АПИ (targetSdkVersion)
3) Приложение при установке на АПИ отличное от версии 14 (targetSdkVersion) будет работать в режиме совместимости. Как известно в Андроиде существует обратная совместимость версий, что несомненно является плюсом, иначе просто пришлось бы собирать приложение для каждой версии Андроида
4) Эти параметры используются в Google Play и всех версиях Андроида начиная с 4 АПИ (если мне не изменяет память...)
Т.о. если вы разрабатываете и тестируете на версии Андроид 6.0 (23 АПИ), т.е. вы используете новые методы АПИ и т.п., и при этом хотите оставить поддержку старых версий Андроида, вам необходимо:
1) Указать параметр "targetSdkVersion" равный 23 АПИ и разработать приложение в соответствии с требованиями 23 АПИ
2) Решить насколько старые устройства должны поддерживаться вашим приложением, допустим мы решили, что это будут устройства с Андроид 4.1.2 (16 АПИ) на борту, значит вам необходимо:
указать параметр minSdkVersion равный 16 АПИ сделать проверку версии АПИ для всех методов из нового АПИ, в данном случае 23 3) И самое главное, протестировать приложение на Андроид 4.1.2 (16 АПИ) и Андроид 6.0 (23 АПИ)
Про совместимость версий, раньше было написано в Гугл документации, сейчас не знаю... В некоторых моментах, поведение приложения будет разным. Например, при запросе разрешений в АПИ 19 и АПИ 23 (при вот таких параметрах android:minSdkVersion="16" android:targetSdkVersion="23"), обо всём этом написано в справке гугла.
p.s. Из трёх сообщений можно статью уже запилить...
-
Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Политика конфиденциальности
Вероятно, вам требуется добавить ссылку на политику конфиденциальности в Консоли разработчика.
Делается это так:
1) Заходим в консоль разработчика
2) Выбираем приложение
3) В меню открываем вкладку "Настройка страницы приложения" и жмём по "Описание приложения"
4) Спускаемся в самый низ, там будет раздел "Политика конфиденциальности", вставляем ссылку на страничку/документ
5) Сохраняем и публикуем новые настройки
Про GET_ACCOUNTS.
Как убрать разрешение:
Собираем приложение (Build) Открываем "Проект\AndroidManifest.template.xml", выставляем минимальную и целевую версию СДК. Делаем Clear проекта и снова Собираем приложение (Build) Находим файл "Проект\Android\Debug\AndroidManifest.xml", открываем и удаляем строку с разрешением, сохраняем. Делаем деплой и заливаем в консоль. Если нужно оставить разрешение для старых версий АПИ, то можно сделать так:
Собираем приложение (Build) Находим файл "Проект\Android\Debug\AndroidManifest.xml", открываем, и в строку с разрешением добавляем " android:maxSdkVersion="Версия АПИ" ", версию выбираем исходя из ответа на вопрос "на какой версии АПИ данное разрешение перестало требоваться?", сохраняем. Делаем деплой и заливаем в консоль. Разрешение будет запрашиваться на всех версиях до той (включительно), которую вы указали.
Если вам необходимо запрашивать разрешение на версиях АПИ 23 и выше, то необходимо добавить специальный метод в ваше приложение, я максимально упростил эту задачу. Статья с описанием: Добавляем метод onRequestPermissionsResult в приложение. Либа для скачивания:CustomActivityAndListener
p.s. Надеюсь, правильно понял ваши вопросы...
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в TMapView ложит приложение
скорее всего не включен Maps Service в Entitlement List
Для винды есть TMS Pack(платные компоненты)
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в Разрешающий документ
отправьте на публикацию, если что-то не так вам придёт ссылка с нужной формой.
не пугайтесь если приложение заблокируют или удалят, после отправки документов, все восстановят
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
Автор: Зарипов Равиль @ZuBy
Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
В предыдущей части , я рассказывал как сделать настройку пуш уведомления в консоли Firebase, в этой я покажу код на Delphi и серверную часть на PHP
https://github.com/rzaripov1990/PUSHTestFCM
-
Равиль Зарипов (ZuBy) отреагировална ENERGY в Отправка email
Через сервер. Можно сделать при помощи php отправку письма, а из программы вызывать этот php на сервере и ему в Post\GET запросе передавать тело письма и адрес. На всякий случай уточню, что php - это файл который работает только на сервера (хостинг).
Можно еще заморочиться с SMTP протоколом, и отправлять через google mail, но имхо это сложнее.
-
Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Как загрузить картинку в TRectangle по прямой ссылке?
Если дело в скачивании, то вынести загрузку картинок в отдельный поток. В Берлине у компонента NetHTTPClient есть свойство Asynchronous (Using an HTTP Client - Making Requests Asynchronous) для того чтобы форма/приложение не подвисало пока что-то загружается из инета.
-
Равиль Зарипов (ZuBy) получил реакцию от yooSee в Как узнать полный путь выбранного файла в TakePhotoFromLibraryAction?
там в параметре есть Bitmap, сохраняй его на устройство. это имя используй в запросе. после чего удали картику с устройства
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в Как узнать полный путь выбранного файла в TakePhotoFromLibraryAction?
там в параметре есть Bitmap, сохраняй его на устройство. это имя используй в запросе. после чего удали картику с устройства
-
Равиль Зарипов (ZuBy) получил реакцию от Rusland в Несколько пушей в одном уведомлении
нужно смотреть как группировка делается на джаве, а потом попытаться перевести на делфи. я думаю этот код должен быть в публикаторе (в fmx.jar)
из коробки такой возможности нет
update:
https://habrahabr.ru/company/pushall/blog/319794/
вот тут написано что этим занимается публикатор (mBuilder) и там нужно выставить имя группы. делов не много, пару строк кода, но надо смотреть где этот код добавить (в либе или в сорсах)
@Rusland можешь прописать у себя в сорсах xx.SetGroup('myGroupName') но ничего скорей всего не произойдёт, нужно править либу
-
Равиль Зарипов (ZuBy) получил реакцию от Mars M в [Windows] Сворачивание приложение
кто-то в чатике просил сделать подобное, вот что получилось
FMX.AppMinimized.zip
сворачивание/разворачивание делается, только после разворота не делается активация формы (не было времени с этим разбираться у меня)
-
Равиль Зарипов (ZuBy) отреагировална #WAMACO в Разрешающий документ
Если можно, скиньте ссылку на приложение... интересно глянуть!
Оно же сделано на FMX?
-
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в Разрешающий документ
https://support.google.com/googleplay/answer/7100415#
-
Равиль Зарипов (ZuBy) отреагировална kami в Удаление сложных классов, Android
нет, совсем не на раз. Эта задача решается не совсем очевидным способом в том числе и на Windows (раз два три , и это так - навскидку ). То, что вы не наткнулись на грабли в Windows - это очень хорошо. Вернее, плохо, потому что теперь вы считаете, что так делать можно. И потом возможны вопросы "вот почему раньше получалось, а с вот этим вот компонентом - нет".
Кросс-платформенные варианты:
Item.Release; TThread.CreateAnonimousThread(... TThread.Queue(...здесь любой использованный вами ранее код удаления всех компонентов)).Start: или аналог CreateAnonimousThread - TTask.Run
-
Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Разрешающий документ
блин копался в почте не смог найти ссылку, но вроде достаточно отправить в службу поддержки google play
и указать обязательно имя пакета приложения. я отправлял на двух языках скан копии (в pdf)
-
-
-
Равиль Зарипов (ZuBy) отреагировална kami в Define для релиз-версии
Вам же дали ссылку на Conditional Defines. Это именно то, что вы спрашивали - что под какой платформой неявно задефайнено.
-
Равиль Зарипов (ZuBy) получил реакцию от #WAMACO в [Андроид] кнопка с эффектом
если это основное действие в приложении, то в андроиде принято делать Floating Action Button (гугл в помощь)
есть компоненты которые правильно рисуют фигуры (без лесенок и зазубрин), поверх компонента положить картинку или пиктограмму и будет стильно, современно, молодежно
-
Равиль Зарипов (ZuBy) получил реакцию от enatechno в Define для релиз-версии
честно не совсем понял о чем речь. директивы стандартные можно найти в справке ембы
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Conditional_compilation_(Delphi)
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Delphi_Compiler_Directives_(List)_Index
ну и так далее
-
Равиль Зарипов (ZuBy) получил реакцию от enatechno в [Андроид] кнопка с эффектом
если это основное действие в приложении, то в андроиде принято делать Floating Action Button (гугл в помощь)
есть компоненты которые правильно рисуют фигуры (без лесенок и зазубрин), поверх компонента положить картинку или пиктограмму и будет стильно, современно, молодежно
-
Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в [Андроид] кнопка с эффектом
если это основное действие в приложении, то в андроиде принято делать Floating Action Button (гугл в помощь)
есть компоненты которые правильно рисуют фигуры (без лесенок и зазубрин), поверх компонента положить картинку или пиктограмму и будет стильно, современно, молодежно