Динамическая ссылка не очищается после получения - PullRequest
0 голосов
/ 21 ноября 2018

В моем приложении флаттера я использую плагин динамических ссылок firebase .

В основной функции вызывается retrieveDynamicLink и ссылка обрабатывается, как и каждый разприложение возобновляется, слушатель жизненного цикла снова вызывает retrieveDynamicLink и обрабатывает ссылку.

Плагин вызывает метод android: getDynamicLink(registrar.activity().getIntent()), и в документации говорится, что этот метод должен очистить намерение, чтобы любой другой вызов возвращал значение null, пока приложение не будет открыто / возобновлено по другой ссылке.

Но это не то, что происходит, не всегда, по крайней мере.

Если я открываю приложение по динамической ссылке, переключаюсь на другое приложение и затем возвращаюсь к приложению, retrieveDynamicLink call снова возвращает ссылку.Если я первоначально открываю приложение из его значка, то этого не происходит.

У кого-нибудь есть предложения?

Я использую firebase_dynamic_links: ^0.1.0+1 на флаттере 0.11.7

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Не правильное решение, но я заметил, что добавление задержки между событием возобновления и фактическим получением динамической ссылки, похоже, решает проблему.

Может быть полезным в качестве временного обходного пути.

Я использую 500 мс.

Должно быть какое-то условие гонки.

Реализация iOS фактически страдала от той же (подобной) проблемы до: https://medium.com/@diegoveloper/flutter-firebase-dynamic-link-6f1b79278ce0

Пример кода существует в ссылке.

Но в основном:

if (state == AppLifecycleState.resumed) {
    _timerLink = new Timer(const Duration(milliseconds: 500), () {
    _retrieveDynamicLink();
  });
}

РЕДАКТИРОВАТЬ: Только что заметил, что @ diegoveloper является создателем статьи + обходной путь +исправление iOS и новый отчет об ошибке плагина Android.Итак, спасибо!

0 голосов
/ 22 ноября 2018

Я уже исправил проблему в моем репо, не могли бы вы попробовать использовать этот конфиг в pubspec.yaml:

firebase_dynamic_links:
   git: 
     url: https://github.com/diegoveloper/plugins
     path: packages/firebase_dynamic_links

Дайте мне знать, если он работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...