cinitiq_chat_sdk 1.0.1 copy "cinitiq_chat_sdk: ^1.0.1" to clipboard
cinitiq_chat_sdk: ^1.0.1 copied to clipboard

A Flutter SDK for integrating Cinitiq AI chat using WebView with built-in authentication, customizable headers, branded UI, and simple one-line implementation.

Cinitiq Chat AI SDK #

A Flutter SDK for integrating Cinitiq Chat AI with WebView support, authentication, and customizable headers.

Features #

  • 🚀 Easy integration with just one method call
  • 🔐 Built-in authentication with Bearer token support
  • 🌐 WebView-based chat interface
  • ⚙️ Customizable headers and query parameters
  • 📱 Cross-platform support (iOS & Android)
  • 💬 Loading indicators and error handling
  • 🎨 Customizable AppBar

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  cinitiq_chat_ai: ^1.0.0

Then run:

flutter pub get

Platform Setup #

Android #

Add the following to your android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />

Minimum SDK version should be 19 or higher in android/app/build.gradle:

minSdkVersion 19

iOS #

Add the following to your ios/Runner/Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Or for specific domains:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>your-domain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

Usage #

Basic Usage #

import 'package:cinitiq_chat_ai/cinitiq_chat_ai.dart';

// Open the chat interface
await CinitiqChatSdk.openChat(
  context,
  token: 'your-authentication-token',
  baseUrl: 'https://your-chat-url.com/chat',
);

Advanced Usage #

import 'package:cinitiq_chat_ai/cinitiq_chat_ai.dart';

// Open chat with custom headers and query parameters
final result = await CinitiqChatSdk.openChat(
  context,
  token: 'your-authentication-token',
  baseUrl: 'https://your-chat-url.com/chat',
  headers: {
    'X-Custom-Header': 'CustomValue',
    'X-Api-Key': 'your-api-key',
  },
  queryParams: {
    'userId': '12345',
    'lang': 'en',
    'theme': 'dark',
  },
);

// Handle the result when chat is closed
print('Chat closed with result: $result');

Using ChatWebView Directly #

If you need more control, you can use the ChatWebView widget directly:

import 'package:cinitiq_chat_ai/cinitiq_chat_ai.dart';

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => ChatWebView(
      url: 'https://your-chat-url.com/chat?token=your-token',
      headers: {
        'Authorization': 'Bearer your-token',
      },
      title: 'Customer Support',
      showAppBar: true,
    ),
  ),
);

API Reference #

CinitiqChatSdk.openChat() #

Opens the chat interface in a new screen with WebView.

Parameters:

Parameter Type Required Description
context BuildContext Yes Build context for navigation
token String Yes Authentication token
baseUrl String Yes Base URL for the chat interface
headers Map<String, String>? No Custom headers to include in the request
queryParams Map<String, String>? No Query parameters to append to the URL

Returns: Future<dynamic> - Returns the result when the chat screen is closed

ChatWebView Widget #

A customizable WebView widget for displaying the chat interface.

Properties:

Property Type Required Default Description
url String Yes - URL to load in the WebView
headers Map<String, String> Yes - Headers to include in the request
title String? No "Chat" Title for the AppBar
showAppBar bool No true Whether to show the AppBar

Example App #

The package includes a complete example app. To run it:

cd example
flutter run

Features in Detail #

Authentication #

The SDK automatically includes the token as:

  • Query parameter: ?token=your-token
  • Authorization header: Authorization: Bearer your-token

Loading Indicator #

A circular progress indicator is shown while the chat page is loading.

Error Handling #

WebView errors are logged to the debug console for troubleshooting.

The chat opens in a new screen with a back button in the AppBar, allowing users to easily return to the previous screen.

Troubleshooting #

WebView not loading #

  1. Ensure you have internet permission (Android) and proper security settings (iOS)
  2. Check if the URL is accessible from a mobile browser
  3. Verify that your token is valid

Headers not being sent #

Headers are sent with the initial request. If you need headers for subsequent requests within the WebView, you may need to handle them on your server side.

SSL Certificate errors #

For development with self-signed certificates, you may need to adjust your platform-specific settings. For production, always use valid SSL certificates.

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

Support #

For issues, questions, or suggestions, please file an issue on our GitHub repository.

Changelog #

See CHANGELOG.md for a list of changes in each version.


Made with ❤️ by Cinitiq

2
likes
155
points
36
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter SDK for integrating Cinitiq AI chat using WebView with built-in authentication, customizable headers, branded UI, and simple one-line implementation.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, webview_flutter

More

Packages that depend on cinitiq_chat_sdk