zendesk2 1.1.0 copy "zendesk2: ^1.1.0" to clipboard
zendesk2: ^1.1.0 copied to clipboard

discontinued
outdated

Zendesk Android and iOS SDK port for Flutter, easily open native chat or manipulate providers for custom UI

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:zendesk2/zendesk2.dart';
import 'package:zendesk2_example/zendesk_chat.dart';

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

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

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Home());
  }
}

class Home extends StatefulWidget {
  _Home createState() => _Home();
}

class _Home extends State<Home> {
  void zendesk(bool isNativeChat, BuildContext context) async {
    String accountKey = '';
    String appId = '';

    String name = '';
    String email = '';
    String phoneNumber = '';

    Zendesk2Chat z = Zendesk2Chat.instance;

    await z.init(accountKey, appId, iosThemeColor: Colors.yellow);

    await z.customize(
      departmentFieldStatus: PRE_CHAT_FIELD_STATUS.HIDDEN,
      emailFieldStatus: PRE_CHAT_FIELD_STATUS.HIDDEN,
      nameFieldStatus: PRE_CHAT_FIELD_STATUS.HIDDEN,
      phoneFieldStatus: PRE_CHAT_FIELD_STATUS.HIDDEN,
      transcriptChatEnabled: true,
      agentAvailability: false,
      endChatEnabled: true,
      offlineForms: true,
      preChatForm: true,
      transcript: true,
    );

    await z.setVisitorInfo(
      name: name,
      email: email,
      phoneNumber: phoneNumber,
      tags: ['app', 'zendesk2_plugin'],
    );

    await z.logger(true);
    if (isNativeChat)
      await z.startChat(
        toolbarTitle: 'Talk to us',
        backButtonLabel: 'Back',
        botLabel: 'bip bop boting',
      );
    else
      Navigator.of(context)
          .push(MaterialPageRoute(builder: (context) => ZendeskChat()));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Center(
        child: Text('Press on FAB to start chat'),
      ),
      floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        crossAxisAlignment: CrossAxisAlignment.end,
        children: [
          FloatingActionButton.extended(
            heroTag: 'nativeChat',
            icon: Icon(Icons.chat),
            label: Text('Native Chat'),
            onPressed: () => zendesk(true, context),
          ),
          SizedBox(height: 20),
          FloatingActionButton.extended(
            heroTag: 'customChat',
            icon: Icon(FontAwesomeIcons.comments),
            label: Text('Custom Chat'),
            onPressed: () => zendesk(false, context),
          ),
        ],
      ),
    );
  }
}
15
likes
0
pub points
67%
popularity

Publisher

verified publisheradriankohls.app

Zendesk Android and iOS SDK port for Flutter, easily open native chat or manipulate providers for custom UI

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on zendesk2