simx_zendesk_support 0.0.4 copy "simx_zendesk_support: ^0.0.4" to clipboard
simx_zendesk_support: ^0.0.4 copied to clipboard

A Flutter plugin for integrating Zendesk Support, Chat, and AnswerBot SDKs on Android and iOS.

simx_zendesk_support #

A Flutter plugin for integrating Zendesk Support, Chat, and AnswerBot SDKs on both Android and iOS. This plugin simplifies the process of embedding Zendesk's customer support features into your Flutter application.

Features #

  • Initialize Zendesk SDK: Configure with your Zendesk URL, App ID, and Client ID.
  • Start Chat: Launch a live chat session with support agents.
  • Start Chat Bot (Answer Bot): Initiate an automated conversation with Answer Bot.
  • Show Help Center: Display your Zendesk Help Center articles and categories.
  • Send User Information: Pass user details (name, email, phone) to Zendesk for context.
  • Show List of Tickets: View a list of the user's support tickets.

Getting Started #

Installation #

Add simx_zendesk_support to your pubspec.yaml:

dependencies:
  simx_zendesk_support: ^0.0.4

Platform Configuration #

Android

  1. Set the minSdkVersion to 24 in your android/app/build.gradle:

    defaultConfig {
        minSdkVersion 24
    }
    
  2. Add the INTERNET permission to your AndroidManifest.xml if not already present:

    <uses-permission android:name="android.permission.INTERNET"/>
    

iOS

  1. Ensure your deployment target is set to iOS 13.0 or higher in your Podfile:

    platform :ios, '13.0'
    
  2. Swift Package Manager Support: This plugin supports Swift Package Manager (SPM) for iOS. If your app is configured to use SPM, Flutter will automatically resolve the dependencies. Ensure you've enabled SPM in your Flutter configuration:

    flutter config --enable-swift-package-manager
    
  3. Add usage descriptions to your Info.plist for camera, photo library, and microphone access (required for attachments and voice messages):

    <key>NSCameraUsageDescription</key>
    <string>This app requires access to the camera to attach photos to support tickets.</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>This app requires access to the photo library to attach photos to support tickets.</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>This app requires access to the microphone for voice messages.</string>
    

Usage #

Import the package:

import 'package:simx_zendesk_support/simx_zendesk_support.dart';

Initialize the plugin:

final _zendeskSupport = SimxZendeskSupport();

await _zendeskSupport.initialize(
  url: 'https://yoursubdomain.zendesk.com',
  appId: 'YOUR_APP_ID',
  clientId: 'YOUR_CLIENT_ID',
  name: 'User Name',
  emailId: 'user@example.com',
  userId: 'unique_user_id',
);

Start Chat #

_zendeskSupport.startChat(
  name: 'User Name',
  emailId: 'user@example.com',
  phoneNumber: '1234567890',
);

Show Help Center #

_zendeskSupport.showHelpCenter(
  name: 'User Name',
  emailId: 'user@example.com',
  userId: 'unique_user_id',
  categoryIdList: [], // Optional list of category IDs to filter
);

Push Notifications #

To register your push token with Zendesk (FCM for Android, APNs for iOS):

await _zendeskSupport.setPushToken("YOUR_DEVICE_TOKEN");

Custom Theming #

You can set a primary theme color for the Zendesk SDK UI:

await _zendeskSupport.setThemeColor(0xFF0000FF); // Blue

Note: On Android, programmatic theming for the Unified SDK is limited. It is recommended to use the styles.xml approach for comprehensive results.

Future Enhancements #

  • ✅ Add JWT authentication support
  • ❌ Add more granular error handling
  • ✅ Add unit tests
  • ✅ Add integration tests

JWT Authentication Example #

await _zendeskSupport.initialize(
  url: 'https://yoursubdomain.zendesk.com',
  appId: 'YOUR_APP_ID',
  clientId: 'YOUR_CLIENT_ID',
  name: 'User Name',
  emailId: 'user@example.com',
  userId: 'unique_user_id',
  jwtToken: 'YOUR_JWT_TOKEN', // Provide JWT token for authenticated identity
);

Support #

If you find this plugin helpful and want to support its development, you can buy me a coffee!

Buy Me A Coffee

Contributing #

Contributions are welcome! If you find a bug or want to add a feature, please open an issue or submit a pull request on GitHub.

Troubleshooting #

For common issues like Android theme crashes (AppBarLayout) or iOS build errors, please refer to the TROUBLESHOOTING.md guide.

Quick Tip: Android Theme #

If your app crashes when opening Zendesk UI, ensure your app theme inherits from Theme.MaterialComponents in styles.xml.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

0
likes
160
points
91
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for integrating Zendesk Support, Chat, and AnswerBot SDKs on Android and iOS.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on simx_zendesk_support

Packages that implement simx_zendesk_support