دۆکس/Flutter SDKخوێندنەوەی ٧ خولەک

SDK ـە مۆبایلییەکان

پشتگیریی ڕاستەوخۆ، لەناو
ئەپە Flutter ـەکەت

پشتگیریی کڕیاری ڕاستەوخۆ و هەمەلایەنە ڕاستەوخۆ بخە ناو ئەپە Flutter ـە ڕەسەنەکەتەوە. ڕووکارە پێشتر دروستکراوەکە دابنێ بۆ گفتوگۆیەکی خێرا، یان کلاینتە بێ ڕووکارەکە بەڕێوەببە بۆ دروستکردنی هی خۆت. ئەزموونی پێشەوە لەسەر هەمان باکئێندی ئێستا کار دەکات بەبێ هیچ گۆڕانکارییەک لە سێرڤەردا.

§ 00تێڕوانینی گشتی

Flutter SDK بە هەمان پرۆتۆکۆلی ویجتی نەناسراو دەدوێت کە گفتوگۆی وێبسایتەکەت بەکاری دەهێنێت — کەواتە کڕیارەکان دەتوانن لەناو ئەپە مۆبایلییەکەتەوە بگەن بە پشتگیری، لەسەر هەمان ئەو گفتوگۆیانەی نوێنەرەکانت پێشتر لە ئینبۆکسە هاوبەشەکەدا بەڕێوەیان دەبەن.

وەک دوو پاکێج دادەبەزرێت:

  • easylivechat کلاینتی پرۆتۆکۆلی بێ ڕووکار لەگەڵ دۆخی کاردانەوەیی، بێ هیچ ڕووکارێک
  • easylivechat_ui ویجتە پێشتر دروستکراو و تەم‌گۆڕاوەکان — هەڵبژاردنکارەکە، شاشەی گفتوگۆ، فۆڕمی پێش‌گفتوگۆ، هاوپێچەکان، CSAT

§ 01دامەزراندن

SDK زیاد بکە بۆ pubspec.yaml ـی ئەپەکەت. زۆربەی ئەپەکان easylivechat_ui ـیان دەوێت — کۆرەکە دووبارە بڵاو دەکاتەوە. تەنها کاتێک بەرەو easylivechat ـی بێ ڕووکار بڕۆ کە ڕووکارێکی تەواو تایبەت دروست دەکەیت.

dependencies:
  easylivechat_ui: ^0.1.0   # prebuilt UI + the headless core
  # — or, headless only —
  easylivechat: ^0.1.0

پێویستی بە Flutter 3.19 یان نوێتر هەیە. socket_io_client دەبێت بڵاوکراوەیەکی 3.x بێت (Engine.IO v4) بۆ گونجان لەگەڵ سێرڤەرەکە.

§ 02دەستپێکی خێرا (ڕووکاری ئامادە بۆ دانان)

کلاینتەکە جارێک بەرپا بکە بە slug ـی Workspace ـەکەت، پاشان هەڵبژاردنکارێک بخە ناو دارەکەی ویجتەکەت. بڵقەکە گفتوگۆیەکی تەواو پەیوەستکراو دەکاتەوە: فۆڕمی پێش‌گفتوگۆ، زنجیرەی ڕاستەوخۆ، نووسین، هاوپێچەکان، CSAT، فۆڕمی نەبوونی لە کاتی دەرەوەی کارکردن، لەگەڵ تەمی بەڕێوەبراو لەلایەن سێرڤەر و RTL.

import 'package:easylivechat_ui/easylivechat_ui.dart';

await EasyLiveChat.instance.boot(
  const EasyLiveChatConfig(
    apiBase: 'https://api.livechattools.com',
    tenantSlug: 'acme',          // your workspace slug
  ),
  storage: SecurePrefsStorage(), // durable visitorId + JWT
);

// In your widget tree — a floating bubble that opens the full chat:
Stack(children: [ MyApp(), const EasyLiveChatLauncher() ]);

slug ـی Workspace ـەکەت لە داشبۆردەکەتدا بدۆزەرەوە. هەڵبژاردنکارەکە بە تەمەڵی لە یەکەم کردنەوەدا بەرپا دەبێت؛ کۆگایەکی بەردەوام بدە تاوەکو ناسنامەی سەردانکەر لە دووبارە دەستپێکردنی ئەپدا بمێنێتەوە.

§ 03بێ ڕووکار (ڕووکاری خۆت دروست بکە)

سیستەمی دیزاینی خۆت پێ باشترە؟ کلاینتە بێ ڕووکارەکە ڕاستەوخۆ بەڕێوەببە. هەموو شتێک وەک ValueListenables و Streams دەرخراوە کە دەتوانیت بە هەر بەڕێوەبردنێکی دۆخەوە ببەستیتەوە.

import 'package:easylivechat/easylivechat.dart';

final chat = EasyLiveChat.instance;
await chat.boot(const EasyLiveChatConfig(
  apiBase: 'https://api.livechattools.com', tenantSlug: 'acme'),
  storage: myDurableStorage);  // implement EasyLiveChatStorage
await chat.open();             // config → resume → prechat/anon → connect

chat.messages.addListener(rebuild);    // ValueListenable<List<ChatMessage>>
chat.agentTyping.addListener(rebuild);

final res = chat.sendMessage('Hello!'); // optimistic; res.serverMessageId on ack
await chat.submitFeedback(rating: 5);

open() هەموو سووڕی ژیانەکە ڕێکدەخات: هێنانی ڕێکخستن، درێژەدان بە هەر گفتوگۆیەکی کراوە، دەروازەکردن لەسەر فۆڕمی پێش‌گفتوگۆ یان دەستپێکردنی بە شێوەی نەناسراو، پاشان پەیوەستبوون بە سۆکێتی ڕاستەوخۆوە.

§ 04چۆن کار دەکات

کاتێک دانیشتنێک دەکرێتەوە، سێرڤەرەکە تۆکنێکی کورت‌تەمەن و بۆ هەر گفتوگۆیەک دروست دەکات. SDK بۆ بانگەکانی REST و سۆکێتی ڕاستەوخۆ بەکاری دەهێنێت، پێش بەسەرچوونی بە شێوەیەکی نادیار دووبارە دروستی دەکاتەوە، و بە backfill ـێکی پارێزراو لە کەلێن دووبارە پەیوەست دەبێتەوە کاتێک تۆڕی مۆبایل دەپچڕێت.

هەموو شتێک نەناسراو-یەکەمە: SDK ناسنامەیەکی سەردانکەری بەردەوام لەسەر ئامێرەکە دروست دەکات — پێویست بە چوونەژوورەوە نییە — و بە دڵخوازی ناو و ئیمەیڵ کۆ دەکاتەوە لە ڕێگەی فۆڕمی پێش‌گفتوگۆی tenant ـەوە.

ئاسایش: هەرگیز کلیلی API ـی tenant ـەکەت لە ئەپێکی بڵاوکراوەدا مەخە ناوەوە — ئەوە نهێنییەکی سێرڤەر-بۆ-سێرڤەرە. Flutter SDK تەنها تۆکنی دانیشتنی هەر سەردانکەرێک بەکاردەهێنێت، کە بۆ کلاینتێکی بڵاوکراوە سەلامەتە.

§ 05چی پێویستی بە کاری لای سێرڤەر هەیە

ئەزموونی تەواوی گفتوگۆی پێشەوە ئەمڕۆ کار دەکات بەبێ هیچ گۆڕانکارییەک لە باکئێند. ئەو یەک توانایەی پێویستی بە کاری سێرڤەر هەیە، پاڵنانی پاشبنەماییە (background push) — گەیاندنی ئاگادارکردنەوەی “نوێنەر وەڵامی دایەوە” بۆ ئەپێکی داخراو — چونکە باکئێند لە ئێستادا تەنها پاڵ دەنێت بۆ نوێنەرەکان. تۆماری پاڵنانی سەردانکەر و بڵاوکردنەوە پێویستە بۆ چالاککردنی؛ قولاپی پاڵنانی SDK بێ‌جووڵە دەمێنێتەوە تا ئەو کاتە.

بەدواداچوونی پێشنیارکراو پێش دەستپێکردنی گشتی: سنووردارکردنی ڕێژە لەسەر دروستکردنی دانیشتن و ناردنی پەیام، خاڵە کۆتاییەکی نوێکردنەوەی تۆکن، و پشتگیریی بارکردنی HEIC/MOV بۆ میدیای مۆبایل.