Skip to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Viktor Akselrod

Administrators
  • Joined

  • Last visited

Everything posted by Viktor Akselrod

  1. Changed Status to Fixed Changed Resolution to Fixed Changed Fix version to 1.18.13.0
  2. Changed Status to Fixed Changed Resolution to Fixed Changed Fix version to 1.18.13.0
  3. И еще раз соберите, пожалуйста, лог запуска примера из FGX. Необходимо убедиться, что фильтр приложения пуст,а уровень лога равен Trace. Так же надо добавить следующие строки в файл проекта. Спасибо. program BiometricAuthentication; uses FGX.Application, FGX.Forms, FGX.Log, // <------ Form.Main in 'Form.Main.pas' {FormMain: TfgForm}, Assets.Consts in 'Assets.Consts.pas'; {$R *.res} begin TfgLog.MinimumLevel := TfgLogLevel.Trace; // <------ Application.Initialize; Application.CreateForm(TFormMain, FormMain); Application.Run; end.
  4. Надо сбросить библиотеки на дефолт, как показано на скриншоте.
  5. Очистите лог Не выбирая никаких фильтров в тулбаре (в тч и приложение, как у вас на скирне) запустите тестовое приложение. По окончанию работы тестового приложения сохраните из окна лог вьювера все данные и прикрепите файл сюда. Вы можете воспользоваться этим примером https://github.com/DeveloppeurPascal/Delphi-samples/tree/main/FireMonkey-Samples/017-TBiometricAuth Я правильно понимаю, что зависает на строке fgBiometricAuthentication1.GetBiometricInformation(False); ? Пробовавали ли вы зайти отладчиком внутрь по F7?
  6. Здравствуйте. Какая оболочка установлена на телефонах? Есть ли на устройствах гугл сервисы? Устойства оснащены сканером отпечатков пальцев? Используется исключительно стандартный пример без единого изменения? Приложите полный лог из logcat с запуском тестовых приложений. Пустое приложение запускается на данных телефонах? Работает ли на данных устройствах FMX.BiometricAuth ?
  7. Hello @Stefan Diestelmann We partially caught the problem. We are working on fixing it. Thank you.
  8. Changed Status to Fixed Changed Resolution to Fixed Changed Fix version to 1.18.13.0
  9. Hello @SALONA When creating a native control (view), by default it will be searched in the TfgNativeControlFactory according to the name of the platform-independent class (TfgEditNumber in your case). There are two options: 1. Directly registering-linking the control with the view for all platforms. For example: TfgNativeControlFactory.Register(TfgEditNumber, TfgiOSControl.CreateHandle<TfgiOSEdit>); 2. You can specify that your control will be used by the view from TfgEdit, since you do not actually touch the native controls - views. TfgEditNumber = class(TfgEdit) private ... protected function DefineNativeControlName: string; override; public function TfgEditNumber.DefineNativeControlName: string; begin Result := 'TfgEdit'; end; I recommend that you use the second option. Thank you.
  10. Здравствуйте. Вы можете назначить родителя фрейму Frame1.Parent := fgDrawerLayout1.Content, либо добавить фрейм в список дочерних компонентов fgDrawerLayout1.Content.AddControl(Frame1).
  11. Компонент TfgBiometricAuthentication реализован в 1.18.8.0.
  12. Компонент TfgBiometricAuthentication реализован в 1.18.8.0.
  13. Здравствуйте, уважаемые разработчики. Близится к своему завершению 2024 год, и, не смотря на то, что пришло время подводить итоги и готовиться к праздникам, мы ни на секунду не прекращаем развитие и усовершенствование библиотеки FGX Native. Финальным в этом году станет релиз под номером 1.18.8.0, который будет содержать не только исправления ошибок, но и привнесёт ряд новых приятных возможностей. Одной из таких возможностей станет новый сервис биометрической аутентификации. Что такое биометрическая аутентификация В последние годы биометрическая аутентификация на смартфонах стала неотъемлемой частью повседневной жизни. Эта технология позволяет пользователям разблокировать устройства и авторизоваться в приложениях, используя уникальные физические характеристики, такие как отпечаток пальца, лицо или даже радужная оболочка глаза. Биометрическая идентификация заменяет или дополняет традиционные пароли и PIN-коды, делая процесс аутентификации быстрее и удобнее. Преимущества биометрической аутентификации Удобство: Биометрические методы позволяют разблокировать телефон или войти в приложение быстрее, чем вводить пароль. Повышенная безопасность: Физические характеристики сложно подделать или украсть, что делает биометрию надежнее традиционных паролей. Персонализированный доступ: Биометрическая аутентификация позволяет настроить телефон так, чтобы только владелец мог получить к нему доступ. Пример работы биометрической аутентификации в приложении Для того, чтобы в своих приложениях вы смогли предложить пользователям этот современный и безопасный вариант аутентификации, мы разработали новый сервис биометрической аутентификации. Компонент TfgBiometricAuthentication TfgBiometricAuthentication это невизуальный компонент, который позволяет запускать процесс биометрической аутентификации, а так же получать информацию о её текущем состоянии и типе. Настройки Title - основной текст, объясняющий для чего именно осуществляется запрос аутентификации. Старайтесь не указывать имя приложения, потому что, как правило, оно будет отображено самой ОС. Fallback.Kind - Тип резервного действия на случай, если биометрическая аутентификация завершается неудачей. Возможны следующие варианты: Passcode - Использовать ключ (пароль, PIN-код, графический ключ). Action - Пользовательское действие. None - Не использовать резервное действие. Fallback.Action - Этот текст будет отображен на кнопке, если в качестве резервного действия выбрано пользовательское действие. Subtitle - Подзаголовок. Актуально только для Android. Description - Описание. Актуально только для Android. Методы Authenticate - Запуск асинхронного процесса биометрической аутентификации с учётом выбранных настроек. Функция возвращает булево значение в зависимости от успешности запуска процесса аутентификации. Чтобы узнать причину неудачного запуска вы можете проанализировать состояние AInfo.State в перегруженной версии метода. Результат процесса аутентификации будет передан в одном из событий компонента. GetBiometricInformation - Получение информации о состоянии и типе биометрической аутентификации. При запросе передается флаг AAllowUsePasscode, который будет учитывать планируете ли вы разрешать использовать ключ (пароль, PIN-код, графический ключ) в качестве резервного способа аутентификации. Результат возвращается в виде записи TfgBiometricInfo. TfgBiometricInfo.Kind - Тип биометрической аутентификации, доступной на устройстве: TouchID - Биометрическая аутентификация по отпечатку пальца. FaceID - Биометрическая аутентификация по лицу. Iris - Биометрическая аутентификация по радужной оболочке глаза. TfgBiometricInfo.State - Текущее состояние биометрической аутентификации, доступной на устройстве. Error - При определении состояния произошла ошибка. Supported - Биометрическая аутентификация поддерживается на устройстве. Unsupported - Биометрическая аутентификация не поддерживается на устройстве. NotEnrolled - Пользователь не настроил биометрическую аутентификацию. Unavailable - Биометрическая аутентификация недоступна в данный момент. Locked - Биометрическая аутентификация заблокирована (например превышено количество попыток). Важно: в случае, если вас интересует только биометрическая аутентификация и вы не планируете разрешать использовать ключ в качестве резервного варианта, устанавливайте параметр AAllowUsePasscode = False. В противном случае при ненастроенной биометрической аутентификации и наличии ключа вы получите State = Supported, что может создать впечатление доступности биометрической аутентификации. События OnAuthenticationError - Событие возникает при неудачной аутентификации. Подробности возникшей проблемы вы можете узнать из аргумента AError. OnAuthenticationSuccess - Событие возникает при успешной аутентификации. OnAuthenticationFallbackAction - Событие возникает, если пользователь выбрал резервный способ аутентификации. В этом событии вы можете предложить пользователям альтернативный вариант аутентификации - например по логину и паролю. Использование биометрической аутентификации без компонента Процесс биометрической аутентификации осуществляется с помощью интерфейса IFGXBiometricAuthentication, который вы можете получите напрямую из платформенного сервиса IFGXBiometricAuthenticationService, либо фабрики TfgBiometricAuthenticationFactory. class function TfgBiometricAuthenticationFactory.CreateBiometricAuthentication: IFGXBiometricAuthentication; var LService: IFGXBiometricAuthenticationService; begin if not TfgPlatformServicesManager.RequestService(IFGXBiometricAuthenticationService, LService) then raise EfgPlatformService.CreateFmt(SServiceIsNotSupported, ['IFGXBiometricAuthenticationService']); Result := LService.CreateBiometricAuthentication; end; Интерфейс IFGXBiometricAuthentication реализует Fluent interface, что позволяет удобно настраивать аутентификацию и запускать её. TfgBiometricAuthenticationFactory.CreateBiometricAuthentication .SetFallbackAsPasscode; .SetSubtitle('Subtitle') .SetDescription('Description') .Execute(BiometricAuthenticationResul, 'Title'); Нет надобности хранить ссылку на IFGXBiometricAuthentication до окончания процесса аутентификации. Память будет автоматически освобождена при условии, что снаружи никто не держит ссылку на интерфейс. Важно помнить, что нельзя повторно запускать процесс аутентификации для одного и того же экземпляра IFGXBiometricAuthentication не смотря то, с каким именно результатом завершился предыдущий процесс. В противном случае будет возбуждено исключение EfgBiometricAuthentication. Настройки проекта Есть некоторые отличия в настройках проекта между Android и iOS. Для Android необходимо поставить галочку Enabled, чтобы при сборке проекта добавилась необходимая библиотека-зависимость. Для iOS необходимо описать причину, почему вашему приложению необходим доступ к биометрической аутентификации. Данный текст будет показан пользователю при первой попытке приложения использовать биометрическую аутентификацию. Минимально поддерживамые версии Android: Android 6 (API level 23) iOS: iOS 8.0 Заключение Для того, чтобы лучше ознакомиться с возможностями нового сервиса мы подготовили демо пример "Authentication - Biometric\BiometricAuthentication.dproj", который дополнит коллекцию примеров, входящих в дистрибутив библиотеки FGX Native. Спасибо за внимание и с наступающими вас новогодними праздниками!
  14. Здравствуйте. Да, это ошибка нумерации. Не обращайте внимания. На самом деле версия новая.
  15. Здравствуйте. Проверьте, какие иконки есть в итоговом приложении, открыв папку приложения на macOS. А так же надо убедиться, что иконка 1024 присутствует в окне деплоя и имеет корректные данные (локальный, удаленный путь, имя файла и тд).
  16. Добавьте в фрейм событие изменения данных и вызывайте его при изменении текста лейбла, либо при других событиях, соотвествующих логике вашего приложения. Далее из формы подписывайтесь на это событие фрейма.
  17. Hello @Alan Please make sure you don't have any local files FGX.Canvas.Types.pas, FGX.Canvas.Types.dcu, FGX.Canvas.pas, FGX.Canvas.dcu, in your project folder or other locations accessible through an PATH environment variable. When you find them, delete these files and clean up the project. This should solve the problem. Thank you.
  18. Download: The distributive is available by request only. Release date: 11 April 2024 Improvements 🙌 For better portability of projects, now all specified file paths in the settings dialog will be presented in relative form. Bug Fixes 🐛 Fixed control of the "Screen Behavior" parameter for the animated splash screen (Android). If the svg -> xml (vector drawable) conversion fails, the project build could freeze (Android). Fixed demo project "Animated splash screen". Fixed building of aab bundles (Android).
  19. Скачать: Релиз доступен по запросу. Дата релиза: 11 апреля 2024 Улучшения 🙌 В целях лучшей переносимости проектов теперь все задаваемые пути файлов в диалоге настроек будут представлены в относительной форме. Исправление ошибок 🐛 Исправлено управление параметром "Поведение экрана" для анимированной заставки (Android). При неудачной конвертации svg -> xml (vector drawable) могло происходит зависание сборки проекта (Android). Исправлен демо проект "Анимированный сплешскрин". Исправлена сборка aab бандлов (Android).
  20. Вероятнее всего проблема в перенастроенной выходной папке. Эта ошибка устранена в следующем релизе. Временное решение: сбросить опцию DCC_ExeOutput на дефолт.
  21. Возможно вы установили библиотеку при открытой IDE, чего делать категорически нельзя и слетела регистрация пакетов. 1. Закройте IDE. Убедитесь, что не осталось зависших процессов bde.exe в менеджере процессов. 2. Откройте реестр на ветке HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0\Disabled Packages, (где 22 - соответствует версии вашей Delphi. 22 - Delphi 11, 23 - Delphi 12) 3. Если вы видите среди значений в данном ключе реестра пути к пакетам, относящимся к FGX Native - удалите эти значения. 4. Произведите установку FGX Native заново.
  22. Здравствуйте. TfgLine на месте и не подвергалась изменениям. Проверьте, пожалуйста, на пустом проекте. Всё должно быть в порядке.
  23. Здравствуйте. На какой платформе проявляется проблема? PS для сообщения об ошибке лучше использовать багтрекер, который содержит все необходимые поля, предоставляющие исчерпывающую информацию об окружении и тд.
  24. Чтобы лучше понять принцип выравнивания, используемый в библиотеке, вы можете обратиться к статье (внутри есть даже мини-игры, помогающие закрепить знания).

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.