atlas_support_sdk 1.0.0
atlas_support_sdk: ^1.0.0 copied to clipboard
Atlas customer support chat widget
Atlas customer support chat widget
Getting started #
To use it with Android you may need to ensure that AndroidManifest.xml includes <uses-permission android:name="android.permission.INTERNET" />
Usage #
You can run sample application by changing credentials in the main.dart file.
Using the widget to add the chat #
import 'package:atlas_support_sdk/atlas_support_widget.dart';
// Use widget:
AtlasSupportWidget(appId: "", userId: "", userHash: "")
Listening for stats changes #
Each conversation stat instance contains id
, unread
(amount of unread messages), and closed
flag.
import 'package:atlas_support_sdk/watch_atlas_support_stats.dart';
// Listen:
class _MyWidgetState extends State<MyWidget> {
int _unreadCount = 0;
Function? _unsubscribe = null;
@override
void initState() {
super.initState();
_unsubscribe = watchAtlasSupportStats(
appId: "",
userId: "",
userHash: "",
onStatsChange: (stats) {
setState(() {
_unreadCount = stats.conversations
.fold(0, (sum, conversation) => sum + conversation.closed ? 0 : conversation.unread);
});
});
}
@override
void dispose() {
_unsubscribe?.call();
super.dispose();
}
// ...
}
Using instance with shared settings #
Using SDK instance you can change user for all widgets and watches by calling sdk.identify(userId: "", userHash: "")
.
import 'package:atlas_support_sdk/atlas_support_sdk.dart';
// Listen:
class _MyWidgetState extends State<MyWidget> {
int _unreadCount = 0;
Function? _unsubscribe = null;
AtlasSupportSDK atlasSdk = createAtlasSupportSDK(appId: "", userId: "", userHash: "");
@override
void initState() {
super.initState();
_unsubscribe = atlasSdk.watchStats((stats) {
setState(() {
_unreadCount = stats.conversations
.fold(0, (sum, conversation) => sum + conversation.closed ? 0 : conversation.unread);
});
});
}
@override
void dispose() {
_unsubscribe?.call();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: atlasSdk.Widget()
);
}
// ...
}