패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.3.1

crisp

Crisp 채팅에 연결하고 사용자를 등록하여 채팅(또는 미등록)을 하고 채팅 위젯을 렌더링합니다.

AndroidiOS
30일 다운로드
270
좋아요
28
Pub 점수
130

패키지 설치

flutter pub add crisp

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Crisp는 Flutter 패키지로, Crisp 채팅 플랫폼과의 통합을 가능하게 하여 개발자가 사용자를 실시간 채팅 세션에 연결할 수 있도록 합니다. 사용자 등록(인증 여부와 관계없이)을 지원하며, 앱 내 메시징을 원활하게 제공하는 사용자 정의 가능한 채팅 위젯을 제공합니다. 이 패키지는 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.