Перейти к содержанию
Fire Monkey от А до Я
  • 0

как запросить связь ссылки с приложением Android 12


BoriZZ_21

Вопрос

В манифесте создал intent-filter для обработки ссылок моим приложением, т.е. если пользователь например из мессенджера пытается открыть ссылку с моим доменом, то система предлагает выбор, открыть в приложении или в браузере.
Связь с сервером я создал, манифест поправил. В версиях до Android 12 работает как надо (автоматически определяет мой домен), а вот начиная с 12 нет. Всегда открывает в браузере.
В документации google есть обработка как спросить пользователя привязать ссылки к приложению, как сделать такой опрос в FMX?

 
https://developer.android.com/training/app-links/verify-site-associations#request-user-associate-app-with-domain
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

А может надо у браузера попробывать сбросить настройки по умолчанию?

Ну вам нужно проверить привязан ли домен к вашему приложению и если нет отправить запрос на открытие настроек где пользователь сможет вручную привязать домен к приложению.

Код верификации транслировать не могу rad studio старая.

 

Вызов настроек:

       Intent := TJIntent.Create;
       Intent:=  TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS);
       intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('package:').concat(TAndroidHelper.Context.getPackageName)));
      TAndroidHelper.Context.startActivity(Intent);

Есть еще вариант вообще не привязывать именно домен, а сделать приложение универсальным для открытия ссылок, а уже в приложении проверять домен.

Ссылка на комментарий
  • 0
ACTION_APP_OPEN_BY_DEFAULT_SETTINGS - нет такого метода

Если сделать приложение универсальным для открытия ссылок, то оно заменит браузер по умолчанию.

Есть решение через FireBase, создавая динамические DeepLink, но при такой реализации происходит мерцание браузера. Получается, что сперва открывается браузер, проверяет установлено ли приложение, а уже потом запускает приложение. Да и на каждую ссылку придется создавать DeepLink.

Ссылка на комментарий
  • 0
22 часа назад, BoriZZ_21 сказал:

нет такого метода

А у вас какая версия rad studio?

Да и в любом случае добавьте сами в скопируйте в папке проекта

Androidapi.JNI.Provider, затем добавьте туда  в класс JSettingsClass = interface(JObjectClass)


    {class} function _GetACTION_APP_OPEN_BY_DEFAULT_SETTINGS: JString; cdecl;

...
    {class} property ACTION_APP_OPEN_BY_DEFAULT_SETTINGS: JString read _GetACTION_APP_OPEN_BY_DEFAULT_SETTINGS;

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...