spect8_client 1.0.2 copy "spect8_client: ^1.0.2" to clipboard
spect8_client: ^1.0.2 copied to clipboard

Official client for Spect8 chat services.Spect8-chat SDK for Flutter, adds an awesome expansion to Flutter's cross-platform applications.

example/spect8_client_example.dart

import 'package:spect8_client/spect8_client.dart';

Future<void> main() async {
  final spect8Client = Spect8Client();

  /// Connect User
  TenantManager tenantManager = await spect8Client.connectDemoUser(
    demoUserId: 'some-user-id',
    tenantId: 'id-of-tenant',
  );

  /// Tenant Manager:
  ///
  /// To fetch all available broadcasts.
  await tenantManager.getAllBroadcasts();

  /// To create a new broadcast
  await tenantManager.createBroadcast(broadcastName: 'test name');

  /// To get a specific broadcast having some broadcast name.
  await tenantManager.getBroadcast(broadcastName: 'test name');

  /// Broadcast Manager:
  ///
  /// To get a broadcast manager which is used for operations related to a specific broadcast.
  BroadcastManager broadcastManager =
      tenantManager.getBroadcastManager(broadcastId: 'id-of-broadcast');

  /// To get all available channels, In all available broadcasts.
  await tenantManager.getAllChannels();

  /// To get all the pinned messages that are pinned across tenant
  await tenantManager.getAllPinnedMessages();

  /// Channel Manager:
  ///
  /// To get a channel manager which is used for operations related to a specific broadcast.
  ChannelManager channelManager =
      broadcastManager.getChannelManager(channelId: 'id-of-channel');

  /// To get all messages pinned in this channel.
  await channelManager.getPinnedMessages();

  /// To get the count of active users on channel .
  await channelManager.getActiveUserCount();

  /// To get a list of active user on channel .
  await channelManager.getActiveUsers();

  /// To get a stream of ChannelActions of the channel which can be used to update messages list.
  await channelManager.subscribeUser();

  /// Unsubcribe a user from specefic channel.
  await channelManager.unSubscribeUser();

  /// To Send keep alive signal to the backend.
  await channelManager.keepAlive();

  ///To send a message in the channel.
  await channelManager.sendMessage(content: 'your message');

  /// Poll Manager:
  ///
  /// To get a poll manager which is used for operations related to a specific poll.
  PollManager pollManager =
      broadcastManager.getPollManager(pollId: 'id-of-poll');

  /// To save poll vote.
  var pollAnswer = PollAnswer(
    userSubmission: true,
    answerId: null,
    voteCount: 0,
    value: 'value',
    image: null,
    authorDisplayName: null,
  );

  PollVoteRequest(pollAnswer: pollAnswer);

  /// To delete poll vote by vote id.
  await pollManager.deletePollVoteById(voteId: 'id-of-vote');

  /// Get vote for specific user
  await pollManager.getPollVotes(userId: 'id-of-user');

  ///  Disclaimer Manager
  ///
  /// To get a disclaimer manager which is used for operations related to a specific disclaimer.
  DisclaimerManager disclaimerManager =
      tenantManager.getDisclaimerManager(disclaimerId: 'id-of-disclaimer');

  /// To delete the disclaimer.
  await disclaimerManager.deleteDisclaimer();

  /// Ad Manager
  ///
  AdManager adManager = tenantManager.getAdManager(adId: 'id-of-ad');

  /// To get the ads.
  await adManager.getAd();

  /// Report Manager
  ///
  ReportManager reportManager =
      tenantManager.getReportManager(reportId: 'id-of-report');

  /// To delete the report.
  await reportManager.deleteReport();

  /// Shop-Category Manager
  ///
  ShopCategoryManager shopCategoriesManager =
      tenantManager.getShopCategoryManager(categoryId: 'id-of-category');

  /// Get all items for a shop category
  List<ShopItem> items = await shopCategoriesManager.getItems();

  ///Shop-Item Manager
  ///
  ShopItemManager shopItemManager =
      shopCategoriesManager.getItemManager(itemId: items[0].id);
  shopItemManager.categoryId;

  /// Current User Manager
  ///
  CurrentUserManager currentUserManager = tenantManager.getCurrentUserManager();

  /// Get list of blocked user
  List<BlockedUser> blockedUsers = await currentUserManager.getBlockedUsers();
  blockedUsers.length;

  /// To get the theme Config of Current User
  ThemeConfigData themeConfigData =
      await currentUserManager.getThemeConfigOfCurrentUser();
  themeConfigData.id;
}
4
likes
100
points
55
downloads

Publisher

verified publisherspect8.com

Weekly Downloads

Official client for Spect8 chat services.Spect8-chat SDK for Flutter, adds an awesome expansion to Flutter's cross-platform applications.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

dio, equatable, get_it, http, meta, web_socket_channel

More

Packages that depend on spect8_client