Shengwang Instant Messaging (IM) SDK

website·Indexed 31 days ago

https://doc.chat.rtnsvc.com/

A comprehensive IM SDK supporting multiple platforms including iOS, Android, Flutter, React Native, HarmonyOS, and Web. It provides features for sending various message types (text, attachment, location, passthrough), offline push notifications (APNs, FCM, and manufacturer-specific services), message translation via Microsoft Azure Translation API, and conversation management.

Tokens
4.9M
Snippets
23.8K
Records
34.5K
Agent score
48%

What's inside Shengwang IM

  1. Overview of Conversation Marks

    Conversation marks are used to categorize conversations for business purposes (e.g., 'starred', 'pending', or 'important customers'). The SDK provides 20 predefined marks from MARK_0 to MARK_19. The specific business meaning of each mark is defined and maintained by the application.

    Key constraints:

    • A single conversation can have up to 20 marks simultaneously.
    • Marks support single chats, group chats, and chat rooms.
    • Marks do NOT affect unread counts, message transmission, pinning status, or read status.
    Map<EMConversation.EMMarkType, String> markMapping = new HashMap<>();
    markMapping.put(EMConversation.EMMarkType.MARK_0, "important");
    markMapping.put(EMConversation.EMMarkType.MARK_1, "pending");
    markMapping.put(EMConversation.EMMarkType.MARK_2, "customer");
  2. Overview of Chat Thread Messages in React Native SDK

    Messages in chat threads are a specialized type of group chat message. The primary difference from standard group messages is the requirement of the isChatThread marker. This feature requires business activation from the provider before it can be used. The SDK provides ChatManager, ChatMessage, and ChatMessageThread classes to manage these interactions.
  3. Overview of IM Offline Push Notifications

    The IM SDK integrates with third-party push services to provide low-latency, high-delivery offline message notifications for React Native developers. When a user is offline (e.g., app process closed or connection lost), the IM server sends a notification via a third-party provider. Upon logging back in, the SDK automatically pulls messages received during the offline period.

    Supported Push Services:

    • iOS: APNs
    • Android: Google FCM, Huawei, Honor, Xiaomi, OPPO, vivo, and Meizu.

    Important Constraints:

    • Notifications are NOT sent if the app is running in the background (user is considered online).
    • Notifications are NOT sent if the app is in the background or the phone is locked but the client maintains an active connection to the server.
  4. Overview of Message Reaction feature

    The Message Reaction feature allows users to add or remove emojis on messages in single chats and group chats to express emotions or conduct polls. Note that Reactions are not supported in Chat Rooms and require a compatible product plan.
  5. Overview of CallKit for Web

    CallKit is a real-time audio and video calling framework that deeply integrates Instant Messaging (IM) and Agora Real-Time Communication (RTC). It enables developers to quickly implement high-quality one-on-one and group audio/video calling capabilities for scenarios such as online classrooms, video customer service centers, remote medical consultations, and dating apps.
  6. Overview of Agora IM Web Capabilities

    v4

    The Agora Instant Messaging (IM) SDK for Web provides a comprehensive suite of communication tools, including:

    • Messaging: Sending text, images, location, voice, and video messages.
    • Communication Modes: Support for single-user chats, group chats, and chat rooms.
    • User & Relationship Management: Handling user attributes, user relationships, and account authentication.
    • System Services: Offline push notifications and session management.
  7. Overview of User Attribute Management in Android SDK

    v4
    The IM Android SDK (v3.8.1+) allows developers to manage user attributes such as nicknames, avatars, emails, phone numbers, gender, signatures, and birthdays. For security reasons, the SDK only allows users to set or update their own attributes. All user attribute functionality is provided via the EMUserInfoManager class.
  8. Overview of Conversation Marks in HarmonyOS SDK

    Conversation marks allow developers to tag single or group chats for business logic, such as starring a conversation or marking it as read/unread.

    Key constraints:

    • A single conversation can have a maximum of 20 marks.
    • The SDK provides generic mark types (e.g., MarkType.MARK_0), and developers must maintain their own mapping between these types and specific business meanings (e.g., MARK_0 = "important").
    • Requirement: The product package must support the feature to fetch conversation lists from the server.
    let mapping = new HashMap<MarkType, string>();
    mapping.set(MarkType.MARK_0, "important");
    mapping.set(MarkType.MARK_1, "normal");
    mapping.set(MarkType.MARK_2, "unimportant");
  9. Overview of Push Notification Templates

    Push templates allow developers to override default server-side push titles and content globally. This is particularly useful for supporting multiple languages (e.g., Korean or Japanese) or creating custom notification styles.

    Key Rules:

    • Priority: Custom templates take precedence over default templates. If a sender specifies a template when sending a message, the receiver will see that template regardless of their own settings.
    • Requirement: Push templates are an advanced feature. You must enable 'Push Advanced Features' in the Agora Console before use.
  10. Overview of Agora IM SDK and CallKit

    The Instant Messaging (IM) SDK is provided by Agora to implement real-time communication features such as one-on-one chats, group chats, and chat rooms. CallKit provides the UI components and pages for audio and video calling within these chat applications to accelerate development.
  11. Overview of Agora IM Capabilities

    Agora IM is a professional communication cloud service providing high-reliability, low-latency, and high-concurrency messaging. It supports unlimited concurrent online users and chat rooms capable of handling hundred-million-level message concurrency, with global average latency under 200ms (and under 100ms within the same region).

    Key offerings include:

    • Messaging types: Single chat, Group chat, and Chat rooms.
    • Integration: Multi-platform SDKs (Android, iOS, Web, HarmonyOS, Unity, Flutter, React Native, Mini-programs, uni-app) and a UIKit.
    • Server-side: RESTful APIs and callback services.