Advanced Integration

This guide covers advanced SDK features for customization and extension in both Flutter and Android.

1. Custom Widgets

Register your own native widgets to use them within Digia Studio. This is useful for maps, camera views, or complex native components.

Step 1: Define Props Class

class MyWidgetProps {
  final String title;
  MyWidgetProps({required this.title});
  
  static MyWidgetProps fromJson(Map<String, dynamic> json) {
    return MyWidgetProps(title: json['title']);
  }
}

Step 2: Register Widget

DUIFactory().registerWidget<MyWidgetProps>(
  'custom/myWidget', // ID used in Digia Studio
  MyWidgetProps.fromJson,
  (props, childGroups) => MyCustomWidget(title: props.title),
);

2. Environment Variables

Pass runtime configuration (like API endpoints, feature flags, or user tokens) to your Digia pages. Access them in Digia Studio using ${env.variableName}.

Option A: At Initialization

Option B: Runtime Update


3. Analytics Integration

Track user interactions from Digia UI pages by implementing the Analytics interface.

Step 1: Implement Adapter

Step 2: Initialize

Last updated