All Projects → lunahq → flutter-crisp

lunahq / flutter-crisp

Licence: MIT license
Flutter plugin for Crisp Chat

Programming Languages

dart
5743 projects
ruby
36898 projects - #4 most used programming language
kotlin
9241 projects
swift
15916 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to flutter-crisp

barcode.flutter
barcode generate library for Flutter
Stars: ✭ 58 (+222.22%)
Mutual labels:  flutter-plugin, flutter-widget
Web Vuw
A Web View for flutter
Stars: ✭ 40 (+122.22%)
Mutual labels:  flutter-plugin, flutter-widget
getwidget-docs
Get Widgets UI library docs.
Stars: ✭ 17 (-5.56%)
Mutual labels:  flutter-plugin, flutter-widget
flutter sliding tutorial
User onboarding library with smooth animation of objects and background colors
Stars: ✭ 127 (+605.56%)
Mutual labels:  flutter-plugin, flutter-widget
swipedetector
A Flutter package to detect up, down, left, right swipes.
Stars: ✭ 34 (+88.89%)
Mutual labels:  flutter-plugin, flutter-widget
flutter contest
Flutter project submitted on Flutter contest
Stars: ✭ 14 (-22.22%)
Mutual labels:  flutter-plugin, flutter-widget
seo renderer
A Flutter Web Plugin to display Text Widget as Html for SEO purpose
Stars: ✭ 103 (+472.22%)
Mutual labels:  flutter-plugin, flutter-widget
Flutter Learning
🔥 👍 🌟 ⭐ ⭐⭐ Flutter all you want.Flutter install,flutter samples,Flutter projects,Flutter plugin,Flutter problems,Dart codes,etc.Flutter安装和配置,Flutter开发遇到的难题,Flutter示例代码和模板,Flutter项目实战,Dart语言学习示例代码。
Stars: ✭ 4,941 (+27350%)
Mutual labels:  flutter-plugin, flutter-widget
survey kit
Flutter library to create beautiful surveys (aligned with ResearchKit on iOS)
Stars: ✭ 68 (+277.78%)
Mutual labels:  flutter-plugin, flutter-widget
Motion-Tab-Bar
A beautiful animated flutter widget package library. The tab bar will attempt to use your current theme out of the box, however you may want to theme it.
Stars: ✭ 237 (+1216.67%)
Mutual labels:  flutter-plugin, flutter-widget
flutter bolg manage
Flutter实战项目,采用Getx框架管理,遵循Material design设计风格,适合您实战参考或练手
Stars: ✭ 373 (+1972.22%)
Mutual labels:  flutter-plugin, flutter-widget
FlutterLoadingGIFs
Loading indicator GIFs. Material and Cupertino (Android and iOS) loading indicators in assorted sizes. Use as placeholders for loading remote image assets. Demo: https://gallery.codelessly.com/flutterwebsites/loadinggifs/
Stars: ✭ 28 (+55.56%)
Mutual labels:  flutter-plugin, flutter-widget
Gsy flutter demo
Flutter 不同于 GSYGithubAppFlutter 完整项目,本项目将逐步完善各种 Flutter 独立例子,方便新手学习上手和小问题方案解决。 目前开始逐步补全完善,主要提供一些有用或者有趣的例子,如果你也有好例子,欢迎提交 PR 。
Stars: ✭ 2,140 (+11788.89%)
Mutual labels:  flutter-plugin, flutter-widget
flutter easyloading
✨A clean and lightweight loading/toast widget for Flutter, easy to use without context, support iOS、Android and Web
Stars: ✭ 1,021 (+5572.22%)
Mutual labels:  flutter-plugin, flutter-widget
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+214244.44%)
Mutual labels:  flutter-plugin, flutter-plugins
flutter-app
Full Feature Todos Flutter Mobile app with fireStore integration.
Stars: ✭ 138 (+666.67%)
Mutual labels:  flutter-plugin, flutter-widget
Flutter-Apps
🌀 This is mainly focus on a complete application for production
Stars: ✭ 18 (+0%)
Mutual labels:  flutter-plugin, flutter-widget
Flutter swiper
The best swiper for flutter , with multiple layouts, infinite loop. Compatible with Android & iOS.
Stars: ✭ 3,209 (+17727.78%)
Mutual labels:  flutter-plugin, flutter-widget
flutter flavorizr
A flutter utility to easily create flavors in your flutter application
Stars: ✭ 260 (+1344.44%)
Mutual labels:  flutter-plugin, flutter-plugins
liquid button
Liquify your buttons, web demo at website
Stars: ✭ 18 (+0%)
Mutual labels:  flutter-plugin, flutter-widget

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:

  CrispMain crispMain;

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

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

    crispMain.register(
      user: CrispUser(
        email: "[email protected]",
        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: "[email protected]",
    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);
  },
),
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].