zendesk_helper_plus 3.1.3 copy "zendesk_helper_plus: ^3.1.3" to clipboard
zendesk_helper_plus: ^3.1.3 copied to clipboard

A Flutter plugin for the Zendesk Chat SDK v2. Provides embed chat functionality in your apps to give your mobile users access to your support team

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:zendesk_helper_plus/zendesk_helper_plus.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late final TextEditingController _tokenController;

  @override
  void initState() {
    super.initState();
    _tokenController = TextEditingController();
    initZendesk();
  }

  @override
  void dispose() {
    _tokenController.dispose();
    super.dispose();
  }

  Future<void> initZendesk() async {
    if (!mounted) {
      return;
    }
    const _accountKey = String.fromEnvironment(
      'ACCOUNT_KEY',
      defaultValue: 'C4NkxGBoxHSTMW3Gm3gznZ6AxIqYXWkZ',
    );
    const _appId = String.fromEnvironment(
      'APP_ID',
      defaultValue: 'ff92947363297c35ad960e50edc747e7a19dbbd7235a852e',
    );

    await Zendesk.initialize(_accountKey, _appId);
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Zendesk Helper Plus - Plugin Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              const Padding(
                padding: EdgeInsets.all(16),
                child: Text(
                  'Initialize  example with proper\nkeys in main.dart',
                  textAlign: TextAlign.center,
                ),
              ),
              Container(
                margin: const EdgeInsets.all(16),
                child: TextField(
                  controller: _tokenController,
                  decoration: const InputDecoration(
                    hintText: 'Enter your token',
                    border: OutlineInputBorder(),
                  ),
                ),
              ),
              MaterialButton(
                onPressed: openChat,
                color: Colors.blueGrey,
                textColor: Colors.white,
                child: const Text('Open Chat'),
              )
            ],
          ),
        ),
      ),
    );
  }

  Future<void> openChat() async {
    try {
      if (_tokenController.text.isEmpty) {
        await Zendesk.setVisitorInfo(name: 'Text Client', email: 'test+client@example.com', phoneNumber: '0000000000', department: 'Support');
      } else {
        await Zendesk.setIdentity(_tokenController.text.trim());
      }
      await Zendesk.startChat(primaryColor: Colors.red);
    } catch (ex) {
      print('An error occured $ex');
    }
  }
}
0
likes
150
points
66
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for the Zendesk Chat SDK v2. Provides embed chat functionality in your apps to give your mobile users access to your support team

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on zendesk_helper_plus