datra_engage_sdk 0.1.2
datra_engage_sdk: ^0.1.2 copied to clipboard
Flutter SDK for resolving and tracking Datra Engage in-app messages.
example/lib/main.dart
import 'package:datra_engage_sdk/datra_engage_sdk.dart';
import 'package:flutter/material.dart';
void main() {
final client = DatraEngage(
const DatraEngageConfig(
baseUrl: 'https://api.example.com',
publicKey: 'pk_live_replace_me',
customerExternalId: 'demo_customer',
platform: 'flutter',
),
);
runApp(DatraEngageProvider(client: client, child: const ExampleApp()));
}
class ExampleApp extends StatelessWidget {
const ExampleApp({super.key});
@override
Widget build(BuildContext context) => MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Datra Engage')),
body: DatraEngageBuilder(
screen: 'home',
placement: 'home_top_banner',
trackShown: true,
builder: (context, state) {
if (state.messages.isEmpty) {
return const Center(child: Text('No active offers'));
}
final message = state.messages.first;
return ListTile(
title: Text(message.title),
subtitle: message.body == null ? null : Text(message.body!),
onTap: () => DatraEngageProvider.of(context)
.messageClickedSafe(message.decisionId),
);
},
),
),
);
}