Flutter客服集成插件salesiq_mobilisten的使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter客服集成插件salesiq_mobilisten的使用

Zoho SalesIQ Mobilisten Flutter Plugin 提供了强大的客户支持功能,允许用户在应用中直接与客服人员进行实时聊天。以下是详细的安装和使用步骤。

安装步骤

要求

Android

  • 最低Android版本:Android 5.0 (Lollipop) (API Level 21)
  • 编译SDK版本:34 (Android 14)
  • 所需权限:
    • android.permission.INTERNET(用于网络操作)

iOS

  • 最低iOS版本:iOS 12及以上
  • Xcode最低版本:Xcode 13

安装步骤

  1. pubspec.yaml文件中添加Mobilisten依赖:
dependencies:
  flutter:
    sdk: flutter
  salesiq_mobilisten: ^6.3.1
  1. 运行flutter pub get以获取项目依赖。

  2. 导航到ios目录并运行pod install命令。

  3. 在iOS Runner项目的Info.plist文件中添加以下权限:

    Mobilisten iOS Permissions Info.plist

  4. 打开android目录,在Android Studio或其他IDE中打开项目build.gradlesettings.gradle文件,并添加以下maven仓库:

    对于Gradle 6.7及以下版本:

    allprojects {
       repositories {
          google()
          mavenCentral()
          // ...
          maven { url 'https://maven.zohodl.com' }
       }
    }
    

    对于Gradle 6.8及以上版本:

    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            // Add the Zoho Maven URL here
            maven { url 'https://maven.zohodl.com' }
        }
    }
    

    点击Sync Now或使用Sync Project with Gradle Files选项同步项目。

  5. 如果启用了ProGuard(minifyEnabled) R8,请在proguard-rules.pro文件中添加以下规则:

    -dontwarn kotlinx.parcelize.Parcelize
    
  6. 在Zoho SalesIQ控制台生成iOS的应用密钥和访问密钥:

    • 导航至SettingsBrandsInstallationiOS
    • 输入应用的Bundle ID并点击Generate
    • 记录生成的App Key和Access Key

    iOS Mobilisten Generating App and Access Keys

    iOS Mobilisten Copy App and Access Keys

  7. 在Zoho SalesIQ控制台生成Android的应用密钥和访问密钥:

    • 导航至SettingsBrandsInstallationAndroid
    • 输入应用的Package Name并点击Generate
    • 记录生成的App Key和Access Key

    Android Mobilisten Generating App and Access Keys

    Android Mobilisten Copy App and Access Keys

  8. main.dart文件中导入Mobilisten:

import 'dart:io' as io;
import 'package:salesiq_mobilisten/salesiq_mobilisten.dart';
  1. 使用init API初始化Mobilisten:
if (io.Platform.isIOS || io.Platform.isAndroid) {
    String appKey;
    String accessKey;
    if (io.Platform.isIOS) {
        appKey = "INSERT_IOS_APP_KEY";
        accessKey = "INSERT_IOS_ACCESS_KEY";
    } else {
        appKey = "INSERT_ANDROID_APP_KEY";
        accessKey = "INSERT_ANDROID_ACCESS_KEY";
    }
    ZohoSalesIQ.init(appKey, accessKey).then((_) {
        // initialization successful
        ZohoSalesIQ.showLauncher(true); // Invoking showLauncher is optional.
    }).catchError((error) {
        // initialization failed
        print(error);
    });
}
  1. 构建并运行Flutter应用程序。

示例代码

下面是一个完整的示例代码,展示了如何在Flutter项目中集成和初始化Mobilisten:

import 'dart:io' as io;
import 'package:flutter/material.dart';
import 'dart:async';

import 'package:salesiq_mobilisten/salesiq_mobilisten.dart';

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

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

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    initPlatformState();
    initMobilisten();
  }

  Future<void> initMobilisten() async {
    if (io.Platform.isIOS || io.Platform.isAndroid) {
      String appKey;
      String accessKey;
      if (io.Platform.isIOS) {
        appKey = "INSERT_IOS_APP_KEY";
        accessKey = "INSERT_IOS_ACCESS_KEY";
      } else {
        appKey = "INSERT_ANDROID_APP_KEY";
        accessKey = "INSERT_ANDROID_ACCESS_KEY";
      }
      ZohoSalesIQ.init(appKey, accessKey).then((_) {
        // initialization successful
        ZohoSalesIQ.showLauncher(true);
      }).catchError((error) {
        // initialization failed
        print(error);
      });
      ZohoSalesIQ.setThemeColorForiOS("#6d85fc");
    }
  }

  Future<void> initPlatformState() async {
    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: const Text('Example Application'),
          ),
          body: Center(child: Column(children: <Widget>[]))),
    );
  }
}

以上是关于Flutter客服集成插件salesiq_mobilisten的详细使用指南。通过这些步骤,您可以轻松地将实时聊天功能集成到您的Flutter应用中。


更多关于Flutter客服集成插件salesiq_mobilisten的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter客服集成插件salesiq_mobilisten的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中集成SalesIQ客服插件(salesiq_mobilisten)可以显著提升客户支持和交互体验。以下是一个基本的代码示例,展示了如何在Flutter项目中集成和使用salesiq_mobilisten插件。

首先,确保你已经在pubspec.yaml文件中添加了salesiq_mobilisten依赖:

dependencies:
  flutter:
    sdk: flutter
  salesiq_mobilisten: ^最新版本号  # 请替换为实际的最新版本号

然后,运行flutter pub get来获取依赖包。

接下来,在你的Flutter项目的lib目录下,打开或创建一个Dart文件(例如main.dart),并添加以下代码:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter SalesIQ Integration',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SalesIQScreen(),
    );
  }
}

class SalesIQScreen extends StatefulWidget {
  @override
  _SalesIQScreenState createState() => _SalesIQScreenState();
}

class _SalesIQScreenState extends State<SalesIQScreen> {
  @override
  void initState() {
    super.initState();
    // 初始化SalesIQ
    SalesiqMobilisten.init(
      accountId: 'YOUR_ACCOUNT_ID',  // 请替换为你的SalesIQ账户ID
      domain: 'YOUR_DOMAIN',         // 请替换为你的SalesIQ域名
      visitor: SalesiqVisitor(
        name: 'Visitor Name',        // 可选,访客名称
        email: 'visitor@example.com', // 可选,访客邮箱
        phone: '1234567890',          // 可选,访客电话
      ),
    );

    // 显示聊天窗口
    SalesiqMobilisten.showChatWidget();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('SalesIQ Integration'),
      ),
      body: Center(
        child: Text('Chat widget will appear on the bottom of the screen.'),
      ),
    );
  }
}

// SalesiqVisitor 类定义(如果需要自定义访客信息)
class SalesiqVisitor {
  final String? name;
  final String? email;
  final String? phone;

  SalesiqVisitor({this.name, this.email, this.phone});
}

在上述代码中:

  1. SalesiqMobilisten.init 方法用于初始化SalesIQ插件,你需要提供你的SalesIQ账户ID和域名。此外,你还可以传递一个SalesiqVisitor对象来包含访客信息(如姓名、邮箱和电话)。

  2. SalesiqMobilisten.showChatWidget 方法用于在屏幕上显示SalesIQ聊天窗口。

  3. 请确保将YOUR_ACCOUNT_IDYOUR_DOMAIN替换为你的实际SalesIQ账户ID和域名。

  4. SalesiqVisitor类是一个简单的数据类,用于封装访客信息。你可以根据需要传递这些信息,或者完全省略它们。

运行此代码后,你应该能够在Flutter应用的底部看到一个SalesIQ聊天窗口。访客可以与你的客服团队进行实时交流。

请注意,这只是一个基本的集成示例。根据你的具体需求,你可能需要进一步配置SalesIQ插件,例如处理聊天事件、自定义聊天窗口的样式等。你可以参考salesiq_mobilisten插件的官方文档来获取更多详细信息和高级用法。

回到顶部