seedkit_feature_deeplinks

Пакет deeplink-навигации для SeedKit-приложений.

Интеграция

  • В main создай provider и repository:
RepositoryProvider(
  create: (_) => DeeplinkRepository(
    DeeplinkProvider(),
  ),
);
  • Инициализируй DeeplinkBloc в той части приложения, где нужно начать слушать ссылки:
BlocProvider(
  create: (context) => DeeplinkBloc(
    context.read<DeeplinkRepository>(),
    handlers: [
      MyDeeplinkHandler(),
    ],
  ),
);
  • Для ручной отправки ссылки в поток можно использовать:
DeeplinkProvider.sendLink(Uri.parse('app://profile'));

Использование

  • DeeplinkBloc — bloc-обработчик диплинков; подписывается на поток ссылок и вызывает первый подходящий handler.
  • DeeplinkHandler — интерфейс обработчика диплинка с canHandle и handle.
  • DeeplinkProvider — низкоуровневый provider обработки диплинков, initial link, stream и ручная отправка через sendLink.
  • DeeplinkRepository — repository для доступа к stream ссылок и initial link.

Импорты

import 'package:seedkit_feature_deeplinks/seedkit_feature_deeplinks_bloc.dart';
import 'package:seedkit_feature_deeplinks/seedkit_feature_deeplinks_models.dart';
import 'package:seedkit_feature_deeplinks/seedkit_feature_deeplinks_providers.dart';
import 'package:seedkit_feature_deeplinks/seedkit_feature_deeplinks_repositories.dart';