cuidai_plugin 1.1.5 copy "cuidai_plugin: ^1.1.5" to clipboard
cuidai_plugin: ^1.1.5 copied to clipboard

unlistedoutdated

A Cuidai flutter plugin.

example/lib/main.dart

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!");
  }
}
3
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A Cuidai flutter plugin.

Homepage

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on cuidai_plugin