Flutter SDK

Desk360 Flutter SDK helps you embedding customer support in your Flutter mobile applications with ease. This package gives wrapper methods for desk360 sdks. iOS - Android

Features

  • Turn all your customer support requests into tickets and interact with these messages using our powerful platform.

  • Flutter SDK has highly customizable and flexible UI options.

  • Push notifications and deep linking support options are both available.

  • Give multilingual support for your customers: It supports 40+ languages.

  • Flutter SDK supports different types of media and file formats.

  • It's easy to use and integrate. After writing only a few lines of code, you're ready to use!

Installation

Getting started

Add below code into your pubspec.yaml file under dependencies section.

desk360flutter:
    git:
      url: https://github.com/Teknasyon-Teknoloji/desk360-flutter-sdk.git
      ref: 0.1.0

And run $ flutter pub get

Installation Notes

  • IOS

    • Set minimum ios version 10.0 or higher in ios/Podfile like: platform :ios, '10.0'

    • Add use_frameworks! into ios/Podfile if not exists.

    • Run $ cd ios && pod install

  • ANDROID

    • Set kotlin_version "1.4.32" or higher in android/build.gradle

    • Set minSdkVersion to 21 or higher in android/app/build.gradle

    • Add maven { url 'https://raw.githubusercontent.com/Teknasyon-Teknoloji/desk360-android-sdk/master/' } into android/build.gradle (Add into repositories under allprojects)


Usage

Let's start

Important footnot

You must add your info.plist file.

<key>NSPhotoLibraryUsageDescription</key>
<string>Allow the app to access your photos.</string>

Permission text is optional. you can type whatever you want. But this permission not optional. If you didn't add this permission. Desk360 Images attachment property doesn't work

Start Desk360 with appId -and an optinal deviceId, an optional language-

Note: If no deviceId is provided, Desk360 will use device's UUID, which might cause your app to lose tickets when the application is deleted. If use environment type .production, Desk360 will look at prod url. If no application language is provided, Desk360 will use device's language.

import 'package:desk360flutter/enums/environments.dart';
import 'package:desk360flutter/enums/platforms.dart' as Platforms;
import 'package:flutter/material.dart';
import 'package:desk360flutter/desk360flutter.dart';

if (Platform.isIOS) {
    Desk360flutter.start(properties: {
    "appID": "aOJe1THakL03kwONmc2U4utYCeW16zJr",
    "deviceID": "34567",
    "languageCode": 'en',
    "environment": Environment.SANDBOX.value,
    "countryCode": 'tr',
    "bypassCreateTicketIntro": true,
    });
    Desk360flutter.show(animated: true);
} else {
    var androidDeviceInfo = await deviceInfo.androidInfo;
    var deviceId = androidDeviceInfo.androidId;
    Desk360flutter.initialize({
    "appID": "aOJe1THakL03kwONmc2U4utYCeW16zJr",
    "appVersion": "1.0.0",
    "languageCode": 'en',
    "environment": Environment.SANDBOX.value,
    "platform": Platforms.Platform.GOOGLE.value,
    "countryCode": 'tr',
    "name": "Test-092021"
    }, "", deviceId);
    Desk360flutter.start();
}

Using Desk360

import 'package:desk360flutter/desk360flutter.dart';

Desk360flutter.getTicketId()
          .then((value) => {print("Ticket ID: $value")});

Getting the unread tickets

If you would like to get a list of the unread tickets you can do so like follows:

  Desk360flutter.getUnreadTickets().then( (results) {
      print(results);
  });

You can show the unread tickets the way that fits your app design and expierence. If you want to navigate to a specific ticket detail you can do so so by following:

  Desk360flutter.ticketDetailsViewController(unreadTicket);

Support

For further information, please with contact us support@desk360.com

Visit our GITHUB page for usage, technical setup and detailed info.

Last updated