Zendesk-Messaging for Flutter developer

Overview

Zendesk Messaging

Messaging is a "user-based" chat

Live Chat is a "session-based" chat

  • Better UI (Native)
  • Chat history
  • Answer Bot

Setup

1. Enable agent work-space

2. Enable Messaging

3. Add channel and get key

How to use?

Initialize

 final String androidChannelKey = '';
 final String iosChannelKey = '';

  @override
  void initState() {
    super.initState();
    ZendeskMessaging.initialize(
      androidChannelKey: androidChannelKey,
      iosChannelKey: iosChannelKey,
    );
  }

just use initialize() one time

Show

ZendeskMessaging.show();

You can use in onTap()

Weak

  • AuthenticationCurrently does not support. Unable to automatically set user information for users you know, users must enter their own name, email, etc.
  • TagCurrently does not support. There is no way to help users with additional information like Chat.
  • Attachment fileCurrently does not support. The official said it will be launched in the future.
  • Chat room closed:An agent can not reply to a customer at any time. if the customer is not active in the foreground, the room will be closed automatically. It is inconvenient to track chat history.

Future Function

  • Push Notifications

Link

About Me

Comments
  • Feature - Support user authentication

    Feature - Support user authentication

    This PR is still in WIP but it will add authentication support for Zendesk (fix #1)

    [x] Android support [x] iOS support [x] Documentation

    Authentication

    Usage with helpers :

    Future<ZendeskLoginResponse> login() async {
       final String jwt = await ...; // get your JWT
       return ZendeskMessaging.loginUser(jwt: jwt);
    }
    
    Future<void> logout() async {
       return ZendeskMessaging.logoutUser();
    }
    

    Usage with default methods and callbacks :

    Future<void> login() async {
       final String jwt = await ...; // get your JWT
       await ZendeskMessaging.loginUserCallbacks(
          jwt: jwt, 
          onSuccess: (id, externalId) {
              // handle success
          }, 
          onFailure: () {
              // handle failure
          },
       );
    }
    
    Future<void> logout() async {
       await ZendeskMessaging.logoutUserCallbacks(
          onSuccess: () {
              // handle success
          }, 
          onFailure: () {
              // handle failure
          },
       );
    }
    

    Observers

    I added some channel methods to be able to watch for success/failure. I updated the example too to display them.

    You can attach a global observer to catch messages from native platforms :

    
    ZendeskMessaging.setMessageHandler((type, arguments) {
         // type is an enum, see ZendeskMessagingMessageType
    });
    
    
    opened by tspoke 6
  • No such module 'ZendeskSDKMessaging' : flutter  3.0, ios 10

    No such module 'ZendeskSDKMessaging' : flutter 3.0, ios 10

    Hi @chyiiiiiiiiiiii thank you for this plugin, however I'm facing a No such module 'ZendeskSDKMessaging' issue while building for ios. Using zendesk_messaging: ^0.0.3 and xcode 13. Please help. Screenshot 2022-09-25 at 10 20 42

    Screenshot 2022-09-25 at 10 22 08
    opened by DennisMuchiri 5
  • Upgrade to Zendesk 2.6.0

    Upgrade to Zendesk 2.6.0

    Hi @chyiiiiiiiiiiii ,

    This PR upgrade the project to 2.6.0.

    I changed the version number to match the Zendesk version (easier to understand). There is a previous commit with a rollback due to incompatibilities which seems to be fixed in 2.6.0.

    Could you create a new version on pubdev with tag=2.6.0 ?

    Thanks for your review !

    opened by tspoke 2
  • v2.7.0 sdk upgrade

    v2.7.0 sdk upgrade

    iOS minimum OS version is 11: https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/getting_started/#ensure-you-meet-the-minimum-supported-ios-version

    2.8.0 is the newest version: https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/release_notes/

    I wasn't able to get the example app to compile on version 2.8.0. Both iOS and android work on version 2.7.0

    opened by VictorUvarov 1
  • upgrade to v2.8.0

    upgrade to v2.8.0

    iOS minimum OS version is 11: https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/getting_started/#ensure-you-meet-the-minimum-supported-ios-version

    2.8.0 is the newest version: https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/release_notes/

    opened by VictorUvarov 1
  • User Authentication

    User Authentication

    Hi,

    I'm opening this issue because Zendesk released the authentication for the new Messaging SDK (https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/android/advanced_integration/#authentication)

    It could be great to implement it in this package too :)

    opened by tspoke 0
  • kotlin.UninitializedPropertyAccessException: lateinit property coroutineScope has not been initialized

    kotlin.UninitializedPropertyAccessException: lateinit property coroutineScope has not been initialized

    Hi @chyiiiiiiiiiiii, thanks for the plugin. I have a problem on Android, when starting typing on Android, the app is crashed and returns this error: kotlin.UninitializedPropertyAccessException: lateinit property coroutineScope has not been initialized Version: 2.6.0+1

    opened by gprtskh 0
Owner
Yii Chen
Yii Chen
Flutter plugin for Juspay Payment SDK

juspay_flutter A flutter plugin for juspay payment SDK. Flutter Setup Add plugin dependency in pubspec.yaml dependencies: juspay_flutter: git:

Deep Rooted.Co 11 Nov 28, 2022
Basispay-Flutter-SDK-V2

BasisPay-Flutter-PG-SDKV2-KIT A Flutter plugin to use the BasisPay Payment gateway kit for accepting online payments in Flutter app. INTRODUCTION This

null 0 Dec 2, 2021
A flutter plugin to add Mapbox Navigation into flutter app

mapbox A new Flutter project. Getting Started This project is a starting point for a Flutter plug-in package, a specialized package that includes plat

Dishant Mahajan 2 Dec 30, 2021
Muhammad Bilal 0 Jan 6, 2022
Esp touch flutter plugin - Client-side (mobile) Android Flutter implementation for ESP-Touch protocol

esp_touch_flutter_plugin Client-side (mobile) Android Flutter implementation for

huangyanxiong 0 Jan 21, 2022
Open as default - A flutter plugin that allows setting up your flutter app to open files as default

open_as_default A flutter plugin that allows setting up your flutter app to open

LuisDeLaValier 3 Nov 15, 2022
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 29, 2022
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Applozic 659 May 14, 2022
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Applozic 659 May 14, 2022
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Jan 8, 2023
Email-based instant messaging for Android.

Delta Chat Android Client This is the Android client for Delta Chat. It is available on F-Droid and the Google Play Store. The APK can also be downloa

Delta Chat 897 Jan 2, 2023
Official Android client for the Kontalk messaging system

This is the official Android client for the Kontalk messaging system. It always implements the latest protocol.

Kontalk 563 Dec 24, 2022
Signal is a messaging app for simple private communication with friends.

Signal Android Signal is a messaging app for simple private communication with friends. Signal uses your phone's data connection (WiFi/3G/4G) to commu

Signal 23.2k Dec 28, 2022
Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

mesibo 630 Dec 7, 2022
Application includes Admob SDK, In-App Messaging, Crashlytics, Lottie, Flurry

AdvertisementApplication This application includes Admob SDK, In-App Messaging, Crashlytics, Lottie, Flurry. * Admob: AdMob helps you monetize your mo

Alparslan Köprülü 2 Nov 8, 2021
Group Messaging Chat (Discord Clone :eyes:) App Using Firebase Cloud-Firestore following MVVM Architecture

Nit Talk Nit Talk is a Group Chat Messaging (Discord Clone) App based on Modern Android Application tech-stacks and MVVM architecture. Techs Used ?? K

Rohit Sharma 27 Jul 22, 2022
신경 - Cloud-native messaging/pubsub with powerful routing

신경 신경 /ɕʰinɡjʌ̹ŋ/ • sin-gyeong (try it with IPA Reader) nerve Nerve /nərv/ • noun (in the body) a whitish fiber or bundle of fibers that transmits imp

amy null 75 Dec 22, 2022