Everything posted by Viktor Akselrod
-
Сервисы аутентификации. Аутентификация с помощью Google Sign-In
В этой статье мы разберем настройку и использование сервиса Google Sign-In с помощью TfgGoogleSignInAuthenticationClient. Настройка серверной части Переходим по ссылке и попадаем н а страницу документации с пошаговым мастером настройки, запускаемым по кнопке Configure a project Запускаем мастер и указываем имя проекта (внутреннее именование, невидимое для конечного пользователя) Указываем имя продукта для OAuth клиента, которое увидит конечный пользователь в диалоге аутентификации Далее в выпадающем списке выбираем тип клиента Android, указываем имя пакета (далее понадобится нам при настройке Delphi приложения) и отпечаток сертификата (получение рассмотрено ниже) Завершаем настройку (при надобности сохраните конфигурационные данные клиента) Получение SHA-1 отпечатка сертификата При сборке Android приложение подписывается сертификатом разработчика. От типа сборки, режима конфигурации и версии Delphi будет зависеть местоположение файла сертификата от которого мы будет получать отпечаток. Ниже будет рассмотреть вариант получения отпечатка для Debug сборки в режиме конфигурации Development для Delphi 11. Открываем командуню строку Windows и выполяем следующую команду keytool -list -v -alias androiddebugkey -keystore "C:\Users\%USERNAME%\AppData\Roaming\Embarcadero\BDS\22.0\debug.keystore" где %USERNAME% - имя залогиненого пользователя Windows 22.0 - версия Delphi 11 (для Delphi 10.4 этот параметр будет равен 21.0). Если вы используете собственный сертификат разработчика и режим конфигурации Application Store, подставьте путь к вашему .keystore файлу. Настройка клиентской части Переходим в настройки Android профиля приложения и назначаем package из шага 4 настройки серверной части Открываем в текстовом редакторе файл AndroidManifest.template.xml из директории проекта и сразу после закрывающего тега </activity> добавляем следующий текст <!-- Google Play Services version, which are used in this application. This value is checked by Play Services in runtime --> <meta-data android:name="com.google.android.gms.version" android:value="12451000" /> <activity android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity" android:excludeFromRecents="true" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- Service handling Google Sign-In user revocation. For apps that do not integrate with Google Sign-In, this service will never be started. --> <service android:name="com.google.android.gms.auth.api.signin.RevocationBoundService" android:exported="true" android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION" /> Внимание! Если в настройках вашего проекта вклюены опции AdMob Service, Maps Service или Receive push notifications указывать первую строку с версией Google Play Services необязательно, т.к. она добавится автоматически. Итоговый файл можно посмотреть в прикрепленном демо проекте Authentication - Clients.zip Спасибо за внимание.
-
Сервисы аутентификации. Аутентификация с помощью Facebook Login
В этой статье мы разберем настройку и использование сервиса Facebook Login с помощью TfgFacebookLoginAuthenticationClient. Настройка серверной части Переходим по ссылке и попадаем в список приложений Для создания нового приложения нажимаем кнопку Create App Выбираем наиболее подходящий под вашу задачу тип приложения Заполняем название приложения и контактную информацию После завершения создания нового приложения мы попадаем на страницу настроек приложения. Заходим в настройки сервиса Facebook Login Выбираем платформу iOS Далее идёт пошаговая настройка. Большая часть шагов не представляет для нас интереса. В шаге 2 необходимо указать Bundle ID (он далее понадобится нам при настройке Delphi приложения) В шаге 3 нужно включить опцию Enable Single Sign On Скопируем несколько значений из серверных настроек, которые понадобятся нам для настройки Delphi приложения наравне с Bundle ID из предыдущего шага: a) App ID, который можно взять в тулбаре настроек, либо со страницы Settings-Basic b) Client token, который находится на странице Settings-Advanced-Security Настройка клиентской части Переходим в настройки iOS профиля приложения и назначаем CFBundleIdentifier из шага 7 настройки серверной части Открываем в текстовом редакторе файл info.plist.TemplateiOS.xml из директории проекта и сразу после плейсхолдера <%StoryboardInfoPListKey%> добавляем следующий текст <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fbAPP-ID</string> </array> </dict> </array> <key>FacebookAppID</key> <string>APP-ID</string> <key>FacebookClientToken</key> <string>CLIENT-TOKEN</string> <key>FacebookDisplayName</key> <string>APP-NAME</string> <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-share-api</string> </array> где APP-ID - App ID из шага 8a CLIENT-TOKEN - Client token из шага 8b APP-NAME - имя приложения Итоговый файл можно посмотреть в прикрепленном демо проекте Authentication - Clients.zip Спасибо за внимание.
-
Сервисы аутентификации. Аутентификация с помощью Apple ID
Этой статьей мы начинаем серию статей по клиентам аутентификации, которые впервые появились в версии 1.13.4.0. Мы планируем постепенно добавлять новые сервисы аутентификации. На момент написания данной статьи поддерживаются три клиента для платформы iOS: TfgAppleIdAuthenticationClient, TfgFacebookLoginAuthenticationClient и TfgVKLoginAuthenticationClient. Что такое аутентификация? Согласно википедии «аутентификация» — это процедура проверки подлинности. Те другими словами это доказательство того, что перед вами именно тот пользователь, кем он представился. В обычной жизни можно провести аналогию со сличением личности по паспорту. Что является результатом аутентификации? Основным результатом аутентификации является идентификатор аккаунта (TfgAccountId), а так же ряд дополнительных полей наличие и состав которых зависит от сервиса аутентификации и желания пользователя их предоставить. Как правило, сервисы возвращают имя пользователя, email. Сервис аутентификации в библиотеке FGX Native Каждый сервис аутентификации реализует интерфейс IFGXAuthenticationService, который включает в себя метод по входу, выходу и проверке состояния авторизации по указанному индентификатору аккаунта. За регистрацию, хранение и поиск сервисов аутентификации отвечает класс TfgAuthenticationServiceManager. Для упрощения работы с сервисами добавлены клиенты аутентификации — компоненты, которые можно привычным способом бросить на форму в дизайнере и настроить с помощью инспектора объектов. Клиент для аутентификации с помощью Apple ID - TfgAppleIdAuthenticationClient (iOS) Общие сведения по использованию фреймворка. Абсолютно все сервисы аутентификации требуют предварительной настройки на стороне сервера и на стороне клиента (приложения). Важно: необходимо иметь платный аккаунт разработчика. Настройка серверной части. Переходим по ссылке и попадаем в список идентификаторов приложений. Нажимаем кнопку добавления нового идентификатора приложения. Выбираем опцию App IDs Тип идентификатора App Добавляем описание, указываем уникальный Band ID (он далее понадобится нам при настройке приложения) и отмечаем галку напротив опции Sign In with Apple Подтверждаем изменения и сохраняем новый идентификатор. Настройка клиентской части. Для успешной сборки приложения необходимо в SDK добавить фреймворк AuthenticationServices . Для этого необходимо открыть настройки SDK Tools-Options-Deployment-SDK Manager, в списке SDK выбрать iOS и нажать кнопку добавления нового элемента. Добавляем фреймворк со следующими параметрами: Path: $(SDKROOT)/System/Library/Frameworks Name: AuthenticationServices Type: Framework Нажимаем кнопку Update Local File Cache для обновления SDK. Переходим в настройки iOS профиля приложения и назначаем CFBundleIdentifier из шага 5 настройки серверной части. Демо пример использования клиентов аутентификации В версии 1.14.0.0 в поставку библиотеки будет включен пример по использованию клиентов аутентификации, который будет расширяться по мере добавления новых сервисов. Данный пример вы можете загрузить уже сейчас не дожидаясь следующего релиза Authentication - Clients.zip. Спасибо за внимание.
- 1.13.5.2 English
-
1.13.5.2 Русский
Скачать: Релиз доступен только по запросу. Дата релиза: 27 февраля 2022 Исправление ошибок 🐛 При использовании TfgAppleIdAuthenticationClient под Android срабатывал ассерт. Исправлены режимы отображения TfgImage (iOS). Исправлена ошибка загрузки библиотеки при наличии установленной Skia4Delphi.
- 1.13.5.1 English
-
1.13.5.1 Русский
Здравствуйте. Проблема с TfgImage - это регрессия, которая будет поправлена в следующем хотфиксе, который должен выйти в ближайшие дни. Если для вас это принципиальный момент - сделайте временный откат на предыдущую версию. Приносим извинения за неудобства.
-
1.13.5.0 Русский
Планируем сегодня.
- 1.13.5.0 English
-
1.13.5.0 Русский
Обновление! Проблема проявляется только на части версий Delphi 11. Вы можете попробовать установить на свой страх и риск. В случае неудачи - откатитесь на предыдущую версию.
- 1.13.5.0 English
-
1.13.5.0 Русский
Внимание! В текущем билде обнаружена серьезная ошибка, приводящая к невозможности работы библиотеки на Delphi 11. Не устанавливайте данную, если вы используете Delphi 11. Если вы уже установили данную версию - времеено сделайте откат к предыдущей
-
1.13.5.0 English New Version Install Error D11 ON D10.4 Work
Hello. We are already working on a fix. The fix will be ready during the day. We apologize for the inconvenience. Temporarily use the previous version. Thank you.
-
Утилита генерации заголовочных файлов для Java (Java2Delphi)
Здравствуйте. У вас невалидный конфиг с точки зрения json. Уберите запятую в у последнего элемента массива "com.multisoft.drivers.fiscalcore.*"
-
1.13.2.0 Русский
Здравствуйте @Артем Исправлено 1.13.4.0.
-
[TfgCameraPreview] - Свойство DisplayMode на iOS
Здравствуйте. На самом деле свойство работает, однако была проблема в инициализации стартового значения свойства TfgCameraPreview.DisplayMode. Исправлено в 1.13.3.0.
-
[TfgSplitter] Не хватает такого компонента
Здравствуйте. Обратите внимание на компонент TfgBottomSheetLayout. В поставке библиотеки есть несколько примеров с этим компонентом.
- В компоненте TfgEdit в событиях OnEnter, OnExit входящий параметр Sender всегда указывает на главную форму
-
Продление лицензии
Здравствуйте. Актуальную информацию о подписке вы можете найти в Профиль-Управление подписками-Покупки. Ваша подписка актуальна до 05.12.2021. Спасибо.
- Новое средство просмотра Android логов в FGX Native
- Новое средство просмотра Android логов в FGX Native
-
Новое средство просмотра Android логов в FGX Native
Здравствуйте. Окно просмотрщика поддерживает стандартный механиз доккинга IDE. Это значит, что вы можете встроить окно в любое удобное для вас место в IDE и сохранить раскладку окон (desktop). Чтобы окно просмотрщика автоматически открывалось при старте отладки, вы можете перезаписать стандартную раскладку Debug Layout. 1. Перемещаем окно просмотрщика в требуемое место. 2. Вызываем диалог Save Desktop->Debug Layout. 3. Подтверждаем перезапись раскладки.
- Новое средство просмотра Android логов в FGX Native
-
[Вебинар] Пример использования библиотеки FGX Native для создания мобильного приложения по покупке продуктов
Здравствуйте. Демо пример уже доступен, но только в закрытой клиентской зоне форума.
- Новое средство просмотра Android логов в FGX Native