搜索插件、代码仓与 APP 分类

插件详情v0.3.1

crisp

连接 Crisp 聊天,注册用户以进行聊天(或不注册)并渲染聊天小部件。

AndroidiOS
近 30 天下载
270
喜欢数
28
Pub 分数
130

安装插件

flutter pub add crisp

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Crisp 是一个 Flutter 包,可实现与 Crisp Chat 平台的集成,使开发者能够将用户连接到实时聊天会话。它支持用户注册(无需身份验证或需要身份验证),并提供可自定义的聊天组件,以实现无缝的内置消息功能。该包兼容 Android 和 iOS,非常适合需要实时客户支持或用户互动的跨平台应用。通过 pub.dev 简单设置,即可轻松将 Crisp 的聊天功能嵌入 Flutter 应用程序。

适合场景

  • 应用内客户支持
  • 通过实时聊天提高用户参与度
  • 移动应用中的实时消息传递
  • 支持工单集成
  • 客户服务仪表板

主要特点

  • 与 Crisp Chat 的轻松集成
  • 用户会话管理
  • 可自定义的聊天组件
  • 跨平台支持(Android 和 iOS)
  • 轻量且配置最少

适合对象

  • 需要实时聊天的移动应用
  • 客户支持平台
  • 电子商务应用
  • SaaS 应用
  • 具有面向用户的帮助系统的应用

使用建议

  • 需要一个Crisp账户
  • 聊天需要互联网连接
  • 隐私合规考虑
  • 超出所提供小部件的定制功能有限
  • 依赖于Crisp API的稳定性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter Crisp

pub package License: MIT Twitter: oilunabr

Connect with Crisp Chat, register a user to chat (or not) and render a chat widget.

Tested on Android and iOS.

Required setup

Min SDK version:

minSdkVersion 17

AndroidManifest.xml necessary changes:

    <application
        android:usesCleartextTraffic="true">
        ...
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
        <provider
            android:name="com.pichillilorenzo.flutter_inappwebview.InAppWebViewFileProvider"
            android:authorities="${applicationId}.flutter_inappwebview.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths" />
        </provider>
    </application>

For details check the example folder.

How to use

Initialize with:

  • Your website id (https://app.crisp.chat/website/%5BWEBISTE_ID%5D/inbox/);
  • An optional locale.
  CrispMain crispMain;

  @override
  void initState() {
    super.initState();

    crispMain = CrispMain(
      websiteId: 'WEBSITE_ID',
      locale: 'pt-br',
    );

    crispMain.register(
      user: CrispUser(
        email: "example@provider.com",
        avatar: 'https://avatars2.githubusercontent.com/u/16270189?s=200&v=4',
        nickname: "João Cardoso",
        phone: "5511987654321",
      ),
    );

    crispMain.setMessage("Hello world");

    crispMain.setSessionData({
      "order_id": "111",
      "app_version": "0.1.1",
    });
  }

Then use with:

  • Optional clear cache.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Your brand'),
        ),
        body: CrispView(
          crispMain: crispMain,
          clearCache: false,
        ),
      ),
    );
  }

Additional parameters

Chat user token with userToken

crispMain.initialize(
  websiteId: 'WEBSITE_ID',
  locale: 'pt-br',
  userToken: '<USERTOKENHERE>',
);

Verification token with verificationCode (User Verification)

crispMain.register(
  user: CrispUser(
    email: "example@provider.com",
    avatar: 'https://avatars2.githubusercontent.com/u/16270189?s=200&v=4',
    nickname: "João Cardoso",
    phone: "5511987654321",
    verificationCode: "<HMAC256CODEHERE>",
  ),
);

Custom data via setSessionData (Set custom data)

crispMain.setSessionData({
  "order_id": "111",
  "app_version": "0.1.1",
});

Custom onLinkPressed event

CrispView(
  crispMain: crispMain,
  clearCache: true,
  onLinkPressed: (url) {
    if (url.contains('example.com')) {
      loadDeeplinkWithUrl(url: url);
    } else
      launch(url);
  },
),

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目

暂无相关数据。