cuidai_plugin 1.1.7 cuidai_plugin: ^1.1.7 copied to clipboard
A Cuidai flutter plugin.
import 'dart:convert';
import 'dart:developer';
import 'package:cuidai_plugin/cuidai_plugin.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _formKey = GlobalKey<FormState>();
final _routeController = TextEditingController();
@override
void initState() {
super.initState();
// Init the Cuidai SDK
CuidaiPlugin.initSDK(appName: "vitat");
CuidaiPlugin.setUserProperties(
{"ExternalId": "sudhshud", "Test": "sudhshud"});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Cuidai Plugin example app'),
),
body: Padding(
padding: const EdgeInsets.symmetric(horizontal: 32.0),
child: Center(
child: Column(
children: [
Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
TextFormField(
controller: _routeController,
decoration: const InputDecoration(
hintText: 'Enter the route',
),
validator: (value) {
if (value.isEmpty) {
return 'Please enter the route';
}
return null;
},
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: ElevatedButton(
onPressed: () {
if (_formKey.currentState.validate()) {
//Open Cuidai screen
var param = {
"popupJson":
'[{"id": 1, "type": "streak_1", "headerTitle": "Que ótimo te ver por aqui!", "headerText": "O primeiro passo foi dado, parabéns!", "title": "Parabéns", "imageUrl": "https://cuidai.blob.core.windows.net/static/contents/popups/1621017839177.png", "steps": ["1", "2", "3", "4", "5", "6", "7"], "completedIndex": 2, "buttons": [{"type": "primary", "title": "Pode deixar", "route": ""}], "text": "Cada dia você chega mais perto dos seus objetivos!"}]'
};
// CuidaiPlugin.route(
// deepLink: "popups", params: param);
CuidaiPlugin.route(
deepLink: _routeController.text,
params: param);
}
},
child: Text('Route'),
),
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: ElevatedButton(
onPressed: () {
startCommunication();
},
child: Text('Start Communicarion'),
),
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: ElevatedButton(
onPressed: () {
stopCommunication();
},
child: Text('Stop Communication'),
),
),
],
),
)
],
),
),
),
),
);
}
void startCommunication() {
CuidaiPlugin.setUserProperty("ExternalId", value: "123455dsgseg");
CuidaiPlugin.startCommunication(CuidaiCommunication(onRoute: (route) {
if (route.startsWith("updateuser")) {
var json = route.replaceFirst("updateuser/", "");
var user = jsonDecode(json);
log("Rota => $route");
log("Usuário => $user");
} else {
log("Rota => $route");
}
}));
log("Comunicação Aberta!");
}
void stopCommunication() {
CuidaiPlugin.stopCommunication();
log("Comunicação FECHADA!");
}
}