onDeeplinkReceived property

Stream<DeeplinkDetails> get onDeeplinkReceived

Stream of deeplink events

Listen to this stream to receive deeplink events when a user opens your app via a Grovs link. The stream emits DeeplinkDetails objects containing the link URL, payload data, and tracking parameters.

Note: Set up the listener in initState() to ensure it's ready before any deeplinks are received.

Example:

@override
void initState() {
  super.initState();
  _subscription = Grovs().onDeeplinkReceived.listen((deeplinkDetails) {
    print('Received deeplink: ${deeplinkDetails.link}');
    print('Payload: ${deeplinkDetails.data}');
    print('Tracking: ${deeplinkDetails.tracking?.toMap()}');

    // Navigate based on payload
    if (deeplinkDetails.data?['screen'] == 'product') {
      Navigator.pushNamed(context, '/product',
        arguments: deeplinkDetails.data?['productId']);
    }
  });
}

@override
void dispose() {
  _subscription?.cancel();
  super.dispose();
}

Implementation

Stream<DeeplinkDetails> get onDeeplinkReceived {
  return GrovsPlatform.instance.onDeeplinkReceived;
}