Instant Messaging FAQ

Update time: 2024/06/12 10:23:15

Server

How many online users can the server support? How about product performance?

CommsEase is a platform that offers efficient and reliable communication cloud services and supports products with hundreds of millions of concurrent users. The system architecture can ensure flexible scalability and scale up your integrated services

Is our data secure on CommsEase?

The data in transmission and storage on CommsEase are encrypted by private protocols, and the stored data is secure and reliable.

Considering that all our users are distributed out of China, what about transmission speed?

Users out of China can access services using our cloud host in AWS, and CommsEase has deployed servers in many places abroad, so the nearest server can be selected to ensure transmission speed.

What is the relationship between the login token and the account password? how do I maintain the token?

The token is a credential for the authentication of the product applications and CommsEase, while the account password belongs to the third-party product application account system, The mapping relationship is managed by the application background; we recommend creating an account and token for the user using a background API when the user first accesses CommsEase and associates the account and token in the application account system; the token is necessary for subsequent access to CommsEase, and the token can be updated using the server API of CommsEase, for which the updated policy can be determined by the application based on the security policy.

Why can't I create an account using the client SDK instead of the server?

CommsEase account system and application account system are bound together, and account creation in the application server can be effectively controlled. Any client of the application is at the risk of being cracked. If a CommsEase account can be created using the client, your application account may be hacked. Business competitors may provide similar client APIs, so that you can save a few lines of code in development, but your applications may be exposed to security risks.

Can the CommsEase account be deleted? can the accid be the account of my business system?

You can not delete your CommsEase account. To ban the current account, you can deactivate the previous account with the server API. We allow developers to use uid or account as accid. However, we do not recommend doing so. We recommend using a random string or other strings that are not strongly associated with the application business as the accid, and maintaining the association between the business uid and the CommsEase accid in the application server.

  • Advantages:
  • The account system of a user is safe. When using the CommsEase service, users have no risk of account leaks. Although we take reliable data security measures, we recommend improving your data security to allow us to provide better services.
  • If a user needs to delete the CommsEase account, just unbind the relationship. If a user needs to reset the account status, just implement the same operation and rebind the relationship with a new accid.

I have millions of stock user accounts, can you support importing accounts in batches?

The charging method of CommsEase depends on the active users of the application, and we recommend following the on-demand principle for any application account access. A considerable proportion of zombie users or inactive users exist in your millions of accounts, and it is unnecessary to import all the users when migrating to CommsEase. You can check whether the accid of the user's CommsEase is created when the user triggers CommsEase IM for the first time. If not created, an account will be created automatically in the background for login. In this way, your users can only create a CommsEase, and the users created in CommsEase are all active. Although the number of your registered users in CommsEase is reduced, the fee is also lowered. and we still recommend the best practice to you as a responsible service provider.

Will the account registered using the server API display in the management console?

The account registered with the server API will not display in the management console.

  • Reasons:
  • The list provided by the background does not include all users. Therefore, developers can implement the client integration for no server development. Users can fast launch an account test at the management console and log in to the client to test.
  • Users who create an account by using an API are not in the management console. The setting is to ensure privacy and account security, avoiding disabling users and other misoperations.

What is the MD5 in the server message example?

This MD5 is calculated by the MD5 encryption algorithm based on the file content such as image and voice.

Service Integration

How can I access your platform? What is the general process of integrating CommsEase?

You can access our platform only in four steps. Step 1: register as CommsEase developer. Step 2: create a project. Step 3: integrate user system. Step 4: download and integrate the SDK. You can refer to details in Quick start.

Do I have to use your server and database when developing IM using CommsEase?

Unnecessary. Integration of CommsEase: the CommsEase cloud service is connected by integrating SDK on the client. The business logic and actual deployment of the application itself are still the same as traditional development, and are maintained and deployed by the development team itself.

Where do I get AppKey from?

After registering and activating your CommsEase developer account, log in to the CommsEase console, create your app and get it on the "APP Key" page. For more information, see APPkey for details.

How can I create an account?

Test applications may create test users by logging in to the management console after the developer account is registered, or creating an account API based on the server file in the development manual. Online applications can only create an account using The API. For more information, see API description.

How can previous login state be invalidated? When do I receive kick notification?

CommsEase supports basic three login policies:

  • Only one terminal of each platform can be online, and the platform consists of desktop (PC+WEB) and mobile (IOS+AOS);
  • At most one client can be online at the same time (i.e. all ends are mutually exclusive);
  • All the terminals can be online at the same time, but the maximum number of clients online at the same time cannot exceed 10. If excess, the earliest client will be kicked-out; the kicked-out client will receive a removal notification when the client triggers the mutual removal policy; to implement your mutual kick policy, CommsEase also provides an API to actively kick out other online clients, which can be invoked by the application on demand, and the kicked-out client will also receive a notification at this time.

Why can't I create an account using the client SDK instead of the server?

CommsEase account system and application account system are bound together, and account creation in the application server can be effectively controlled. Any client of the application is at the risk of being cracked. If a CommsEase account can be created using the client, your application account may be hacked (Business competitors may provide similar client APIs, so that you can save a few lines of code in development, but your applications may be exposed to security risk);

Data encryption and compression.

PC: All text data communicated with the server and locally cached is compressed and encrypted. iOS: Only the table name (i.e. session name) of local chat data is encrypted, and picture messages are compressed to jpeg by default, with a compression parameter of 0.5 (freely configured by the upper layer). Video and audio are not compressed. The text data communicated with the server is compressed and encrypted. Web: Only text data is stored, no image, audio or video will be stored (so no data compression). Data is not encrypted, the browser itself has same-origin restrictions (security restrictions). Android: Android local chat data is not encrypted, and picture messages (pictures are uploaded like files) and video and audio are not compressed. The text data communicated with the server is compressed and encrypted. Each terminal does not limit the frequency of sending and receiving messages.

How can I integrate the CommsEase account system?

Your user can register in your server on the client. This account is saved at your server, and then our server API is invoked to register CommsEase IM account and generate CommsEase IM account and token. At this time, the user registered account and CommsEase IM account will be bound, and the user will first log in to his registered account, get the bound CommsEase IM account and token from your client and log in to the CommsEase using the client. Here are two account systems:

Demo

What can I do if Demo login failed?

The demo account is created by logging into the CommsEase console on the account management page of the CommsEase Demo app. Please confirm that the demo account is created correctly and that the correct token corresponding to the demo account is used when logging in on the demo client. If the developer compiles and packages their codes, please confirm that the appkey configuration in the source packages has not been updated.

How can I quickly develop my application based on Demo source codes?

  • Log in to the CommsEase console to create your project;

  • Modify the AppKey configuration in the demo source code to the AppKey created in step one;

  • Create a development/debugging account on the user management page of the application in step one;

  • Modify the demo source code based on the guide, CommsEase development manual and application requirements.

  • The friendship and user information are maintained by the application server itself.

    Note: Some developers can't log in correctly after updating the appkey configuration of the demo source code. Please confirm the following:

  • The account and token are created in the updated appkey application;

  • Confirm that the account and token used during login are correct.

If I changed demo appkey, how do I do when 302 password error is displayed during login with a registered account?

Log in to the demo by password for MD5 operation to simulate the process of getting a token from the APP server. For APPs registered by users themselves, this procedure is not required, and the account password created by CommsEase console can be passed in. However, we do not recommend exposing the account password and other information to the CommsEase service (although we provide secure and reliable protection measures for the data stored by the business side in CommsEase and no risk of leakage exists, you are still recommended to protect your data appropriately as a responsible service provider), and we recommend to bind CommsEase users by an unassociated account and Token, and add the process of getting CommsEase account and Token from the application server during login.

The downloaded demo cannot be connected to the server, is a specific port configured?

Check whether your network firewall allows access to port 8080 of the external server.

appkey changed in demo. Why can’t I register an account or get chat room list?

The demo appkey is used for demo, and the demo server is used for registration. After changing the appkey, the demo server cannot recognize the new appkey, so the registration fails. (The CommsEase account is registered and created using the server API). Similarly, the chat room list is made available from the demo server.

Why can’t I download Excel files Android. Only android demo sending and receiving are demonstrated.

The API is the same as that of the image download, and downlodAttachment is invoked, because no system file selector is available. You should choose where to save the file. In an iOS demo, you can view and download the files, such as excel and word files.

SDK for iOS

SDK for iOS is compatible with ATS

Foreword

With the introduction of Apple's new policy on 2017.1.1, App will no longer allow the schemes of using Allow Arbitrary Loads = YES to avoid all domain names. Based on this, CommsEase SDK for iOS made some compatible adjustments.

What we've done

CommsEase SDK mainly provides IM related features, and its internal implementation is based on TCP independent encryption protocol, and no adaptation is needed. To ensure the integrity of the whole IM feature, CommsEase also has a built-in file transfer feature, including but not limited to message attachment, photo profiles, team owner avatar, and other information. In previous versions, these files are uploaded to the server as an HTTP request. This is clearly against Apple's rules. So in the new version, we have upgraded the file transfer, and all uploaded and downloaded files are transferred by HTTPS.

What should upper-level developers do?

After the above update, the upper-level developer can use our new SDK for iOS, without making any ATS related settings in plist.

However, CommsEase is a multi-terminal product. Although iOS is fully compatible with HTTPS, other devices are still not fully compatible with HTTPS. HTTP is still applicable to the files URL received from these terminals (there's the problem with old versions). Therefore, the upper layer developer should solve the compatibility problem for certain special scenarios.

File information is used in the following attachments of CommsEase:

  • Image message attachment
  • Voice message attachment
  • Audio message attachment
  • File message attachment
  • Custom message attachment
  • Photo profiles
  • Photo profiles of a team
  • Photo profiles of users in the chat

SDK for iOS for the first four message attachments are already fully compatible: the file attachments URL sent from other devices are automatically converted from HTTP to HTTPS.

As for custom messages, since the entire class structure is determined by the upper layer, SDK for iOS does not support intelligent and automatic conversion of URL message attachments, and the upper layer users shall complete corresponding processing. The API is defined in id to convert CommsEase connection from HTTP to HTTPS : convertHttpToHttps. If this file should be downloaded, conversion shall be made first. Refer to burn-after-reading message download in demo. Note that if a custom message should be downloaded by SDK managed attachment, then HTTP is converted to HTTPS over NIMCsutomAttachment protocolattachmentURLStringForDownloading.

For the latter three avatars, if CommsEase avatar is used for upper-layer development, no processing is required. If you are using the file address of your server, then you should set enableHttpsForInfoas NO in NIMSDKCofig.

The minimum requirement for iOS NIM SDK integration?

The SDK should at least support 7.0, and Xcode 8.0 or later versions are required.

Is iOS Demo compilation failed?

  • Confirm that the file NIM.xcworkspace is opened;

  • Confirm that Xcode is 8.0 or later versions.

How about integration failure?

We recommend:

  • View official documentation
  • Compare related feature DEMOs
  • Consult the technical staff

What if the SDK is too large?

Since the NIM SDK is a static library, and for the convenience of the developer, we have combined the static libraries of the armv7 i386 x86_64 arm64 platform into one Fat Library, forming a relatively large SDK. However, the IPA file size will be increased based on invoked features during actual compilation, by about 2-3M.

  • Tip: The developer can use the lipo -info command to check if a static library is a fat library.

How about login failure?

Login API callback method contains error messages. Please check [error code]. Common error codes are as follows:

  • 408, namely NIMRemoteErrorCodeTimeoutError, request timed out. This error is generally caused by poor client network conditions. Please check the network conditions.
  • 415, namely NIMRemoteErrorCodeConnectionError, server connection error;
  • 302 , namely NIMRemoteErrorCodeInvalidPass, authentication failed. User name and password are inconsistent. Please check if there is any discrepancy between the user name/password typed and server settings.

How can I quickly implement a chat window API for iOS?

The amount of code required to implement a chat window from scratch is around 5,000 lines and a variety of bugs are fixed. It is recommended to use the UI library NIMKit from CommsEase or use some open-source solutions such as JSQMessage.

Why can't I receive message and notification after APP is switched to background?

Due to restrictions by the iOS system, most APPs do not support running in the background, so the APPs will be suspended a few seconds to minutes after the APPs go into the background and cannot receive any message. In this case, all messages and notifications are pushed (APNS) to the user. Only after the user has received the push message and opened the APP, the SDK will automatically reconnect to the server and pull the offline messages and notifications.

Why can't I receive message push after APP is switched to background?

Apple push (APNS) does not take effect automatically when the NIM SDK is connected. To put it into effect, the developer should complete the following configurations:

  • For the certificate required to produce the APNS, see push certificate p12 documentation;
  • Upload the certificate to the NIM management console and set the certificate name;
  • Set the certificate name in APP;
  • Register APNS at client, and transfer the value to the SDK when the APNS token is obtained.

The application cannot be published in APpstore due to the large cache size generated by the SDK. Can I set not to sync with iCloud?

Our SDK directory is not backed up by default. "You can go read the attributes of the two subdirectories Users and Global under $Documents/NIMSDK. Both have the file attributes of NSURLIsExcludedFromBackupKey, and are YES"

SDK for Android

Must I put SDK initialization in onCreate of Application?

Yes. CommsEase service will work in the push process. When the push process automatically starts from the background, there is no chance to initialize the SDK other than onCreate of the application. Iff you put the service and the main UI process of CommsEase together and do not require automatic login in the background, then you can enable initialization if appropriate.

How can I @mention someone?

  • When sending a team message to someone, you can send it together with the list of mentioned accounts using the extended field; when the team members receive a team message, check whether they are in the list of mentioned accounts of the extended field. If Yes, The API will give an alert of being mentioned;

  • In addition, the recent sessions list also provides an extended tag, so that the developer can give an alert of being mentioned in the recent sessions list: when listening for an update of the recent contacts, the developer can give an alert of being mentioned in the recent sessions lists based on the recent message; when listening for an update of the recent contacts, the developer can query this message based on the ID of the newest message, and check if the extended field contains the list of mentioned accounts; if your account is included, you can make a mark on the extended tag; if you receive a new message (view the message before entering the chat API), an alert of being mentioned in the recent sessions list shall be maintained. The alert mentioned will be given at The API by referring to the extended tag.

How can I reset the unread count?

  • The unread messages of the contact are stored in the RecentContact class, and the unread count is managed by the SDK. No API is provided to set the unread count;
  • The basis for updating the unread count of the SDK is controlled by the setChattingAccount API, which sets the object that is currently chatting. When this API is invoked, the unread count of this chat object is set to 0, and its unread count will not increase if a new message from this contact arrives later. If a new message is not received from the current chat object, the SDK will automatically accumulate the unread count of the message source and notify the UI using the observeRecentContact observer API.
  • After invoking setChattingAccount, the SDK will assume that the setting object is the chat object and the unread count of this chat object will be 0. Therefore, when the user exits the session with this chat object, the chat object should be set to null again; (MsgService#setChattingAccount(MSG_CHATTING_ ACCOUNT_NONE, SessionTypeEnum.None)).

Why is my receiver not triggered after sending a custom notification?

    Please check whether
        <permission android:name="com.netease.nim.demo.permission.RECEIVE_MSG" android:protectionLevel="signature"/>
    and
        <uses-permission android:name="com.netease.nim.demo.permission.RECEIVE_MSG"/>
    Are added to the manifest file. The first one is to declare the permission and the second one is to declare that you want to use the permission, both of them are indispensable.

If a message is unsuccessfully sent, how do I resend this message?

Send Message API: sendMessage(IMMessage msg, boolean resend); look carefully at the parameters, the boolean indicates message resending.

How do I determine the attachment sending status?

def not downloaded, just like failure, can be re-downloaded by downloadAttachment.

Can we use our V7 package?

If our uikit is used, then the v7 package should be our version based on v7 19. If other versions (21/23) are used, a conflict may occur.

PC SDK

The minimum requirement for NIM Windows client SDK integration?

Windows client SDK is developed by VC2010, and the APP developer can dynamically load the SDK DLL, only if the released application is provided with msvcr100.dll and msvcp100.dll libraries. Therefore, there is no minimum requirement for SDK integration, and the later VC versions will yield better results.

How can I use a custom user data directory at Windows client?

The Windows client SDK itself provides user-defined data directory file paths, and the user should transfer the absolute path only when initializing the SDK; however, it should be noted that Windows 7 has strong permission control on the directory under the system disk, and it is likely that improper use leads to that user data cannot be read and written properly, so it is recommended that APP developer shall try to put the user data directory in the system local application data directory.

%LOCALAPPDATA%,
     WIN7 or later versions in system disk C:\Users\<user name>\AppData\Local,
     WIN XP/2000 C:\Documents and Settings\ <user name>\Local Settings\Application Data

This is done by passing in the directory name when initializing the SDK, and the SDK will create the corresponding file directory in the system local application data directory as the user data directory.

Which development languages are supported by Windows client SDK?

The Windows client SDK is open to the C API, so common desktop development languages can be invoked, including C++, Java, VB, C#, Javascript and Python.

Unity SDK

What are the SDK Unity integration requirements?

Unity SDK and Demo are developed using Unity 5.3.1f1, and SDK can be integrated for this version and later versions.

What are SDK considerations?

The APIs provided by the SDK are all asynchronous, and receive execution results using callback function. UI objects cannot be manipulated in the callback functions, but the results can be saved to update the game in the update function, or updated by other means. (The Loom class is provided in the demo to implement this feature.)

Can I debug SDK features during development?

CommsEase Unity SDK implements basic communication depending on unmanaged codes, such as threads and network transmission. Problems with the Visual Studio Tools for Unity plug-in may lead to problems for the debugging codes. Refer to Troubleshooting and known issues

What are the considerations for user login?

Only one account can be logged in. When logging in to other accounts, you must invoke the Logout function to log out the logged-in account first. If the Login API is invoked multiple times, it will return kNIMLocalResAPIErrorEntered (20002) error, indicating that an account is being logged in. This is especially important when running games in Unity Editor, because Editor hosts a game in the same process. If you don't log out after running, another login will fail, and abordinary closing of threads started by the SDK will lead to that the Unity process cannot be closed. The Logout function is also asynchronous and the login API must be invoked again after function execution has completed, namely the callback function is triggered.

Why cannot I execute callback functions of some APIs after logging out and re-logging in?

When Logout is invoked, the underlying layer will first release the existing objects and then recreate them, so that the callback functions originally set on these objects are invalid and NIM.ClientAPI.RegisterSdkCallbacks should be invoked for another registration.

SDK for Web

Is SDK compatible with old browsers?

The SDK is compatible with IE8, and xhr-polling is used by IE8/IE9 to simulate long connections. WebSocket is used by other advanced browsers to establish a persistent connection.

Is file upload compatible with old browsers?

Currently, file uploads are compatible with IE8, and Iframe is used by IE8/IE9 to upload files. FormData is used by other advanced browsers to upload files.

Messages

What messages are available? Is my custom message supported?

CommsEase initially supports common messages such as text, image, voice, video and location; for special needs, CommsEase also provides custom messages, and custom messages can be used to achieve "read-after-burning" and other special messages.

What is the proportion between the thumbnail image and the original image sent by CommsEase?

iOS: equal scaling of length and width, short edge scaling down to 150 on 2x display screen. Except iPhone plus series, iPhone4 and later versions are Retina on 2x screen, and plus series is 3x screen, that is to say, 225 for plus. iPhone 3gs and previous versions are 1x screen (until 75); Android: set a width in SDKOption#thumbSize, scaled equally. Generally, it refers to the width of the bubble of the image in the session window. You can also simply set it to half the screen width.

Can’t I receive messages from specific user or specific team

CommsEase offers a blacklist based on your friendship system.

An API is also provided to update team message notifications. Details are given in the following documents: iOS message notification iOS team message notification

How long can I save historical record? How can I get it?

The SDK will keep a local message history and offer a deletion and query API, which is managed by the application itself. CommsEase server provides the service of saving server history. This service occupies server storage resources and is a paid service that can be kept for up to 3 years. The server saves the history and also provides a query API for use.

How does the management console send system messages to the user (or team)?

  • A CommsEase account is specifically created to send system messages;
  • The API is invoked to send ordinary/transmission message among the server message service APIs, as detailed in API description;
  • ordinary messages are common session messages that display in the chat window, while transmission messages are application notifications (not required when a chat window displays). For the concept of transmission messages and the difference between the two, see the chapter "Message Service" on the Server page of the Development Manual.

Is message length limited?

The message length of CommsEase is limited to 5,000 characters.

What is the format of the audio file of the voice message and the video file of the video message from CommsEase?

For voice and video messages, CommsEase only supports file upload and message delivery, so all formats are available for audio. However, we recommend using The API provided by CommsEase for audio recording and play, because we provide HD voice recording methods, and the voice intelligibility is far higher than similar products. aac is a configured format for audio recording using The API provided by CommsEase.

How does CommsEase send an emoji?

The emojis in the chat are strings, which can be mapped by certain rules to display different images. For details, see the implementation in the CommsEase DEMO.

Can I only send text messages, not images and files?

Yes. This feature can be limited in the upper level to only send text messages, not image and file messages, and we provide a platform to remove any undesired features on demand.

Demo message uninstallation and reinstallation

  1. A new device ID is generated for each uninstallation and reinstallation. After login, 100 sessions (100 messages sent and received per session) are roamed by the server.

  2. App is not uninstalled from Android, and the data is cleared. However, a device ID is also regenerated. After login, roaming messages will also be received. For example, I logged in on an android device and sent "hello world". Then, I cleaned up app data and then logged in to the app again, and the server will roam "hello world".

  3. Roaming messages are managed by the server, and has no relationship with the client, but the client should enable data clearing from the system. Roaming messages are also enabled, that is, the SDK db is cleared, and it will roam over.

Or another situation: the user can set application management, and clean up the data generated by app. For login later, roaming will be also available. Roaming will be available only whenever a new device ID is generated.

Session list and roaming message details

Each client gets the list of recent sessions from local data. There is no upper limit to the number of lists available. Local data will be affected in the following cases:

1. The application has executed The API to delete a session.

  1. A new phone is used, or local data is cleared from CommsEase.

  2. If Roaming messages are enabled, the server will synchronize the roaming data to the local database.

Roaming details

Roaming messages are now configured online with 100 sessions, 100 recent messages per session in the last 7 days. Other details:

1. Web advanced browser (that supports local database), and local historical data is available like other clients.

Team

What is the maximum number of team members and teams?

Each user can create 50 ordinary groups with up to 200 members by default, and 50 advanced teams with up to 200 members. We can support the extension of the number of teams and team size for special needs.

After I have successfully created a team and specify the members at the server API, why do I only see the team owner in querying the team members?

The parameter "magree" of the team creation API indicates "whether team members' consent is required". If you have created a team and only see yourself, please check this parameter first. If this option has been selected, the invitee will display in the list of team members only after consent.

Does the SDK provide an API to set the team capacity?

Can I set the management console? SDK does not have this API. The management console cannot be set until now, and maybe provided later.

What are the differences between an advanced team and a ordinary group?

  • NIM SDK offers the team chat features in two forms: the ordinary team and the advanced team. The advanced team has more operation permissions, and The APIs are kept consistent under common operations. We recommend choosing a team type for APP development. In principle, ordinary team and advanced team are not interchangeable, since their types have been confirmed once created;
  • Without operation authority, a ordinary team applies to the scenario of quickly creating group session. Each ordinary group can only have one manager. The manager can add or remove team members and ordinary team members can only invite other users to the team. New members may be added without their consent;
  • Advanced team is subject to more limitations on permission which is granted to the owner, manager and, team members.

Can the advanced team owner successfully execute quitTeam? Is a team dismissed?

The advanced team owner cannot successfully operate quitTeam, and will not dismiss a team. To leave a team, the team owner should transfer the team owner privileges to a designated member of the team or dismiss the team.

If I want to delete my recent contact list after I quit the team what should I do?

There are two APIs to delete recent contact records, deleteRecentContact and deleteRecentContact2, the first of which takes the RecentContact as a parameter and does not trigger observer notifications after an invocation, and is suitable for invocation in the recent contact list. The second API takes account and sessionType as parameters, and triggers observeRecentContactDeleted notification of the MsgServiceObserver after successfully deleted. Therefore, you can invoke the second API and add a deletion event observer to the recent contacts list.

Chat room

Is there an API to get the list of chat room administrators?

There is currently no accessible API, but we recommend retrieving membership information by memberType after getting chat room member information.

What is the common difference between messaging in chat rooms and IM?

The chat room messaging API is the same as the ordinary messaging API. The session type needs to be set as chat room to send a message. The session id is the chat room id. However, for chat room messages, the SDK will merge the incoming messages. While for other IM messages, only offline messages and roaming messages are from the server in batches.

How do I get the number of members online in the chat room?

Users can get the number of members online in the chat room by getting the chat room information after entering the chat room. When a member enters or exits a chat room, the CommsEase server will send an entry/exit notification message to the client, and then the client will add or subtract the online number in the chat room based on the notification message in real time. For other content in the chat room, see CommsEase Chat Room FAQ

Was this page helpful?
Yes
No
  • Server
  • How many online users can the server support? How about product performance?
  • Is our data secure on CommsEase?
  • Considering that all our users are distributed out of China, what about transmission speed?
  • What is the relationship between the login token and the account password? how do I maintain the token?
  • Why can't I create an account using the client SDK instead of the server?
  • Can the CommsEase account be deleted? can the accid be the account of my business system?
  • I have millions of stock user accounts, can you support importing accounts in batches?
  • Will the account registered using the server API display in the management console?
  • What is the MD5 in the server message example?
  • Service Integration
  • How can I access your platform? What is the general process of integrating CommsEase?
  • Do I have to use your server and database when developing IM using CommsEase?
  • Where do I get AppKey from?
  • How can I create an account?
  • How can previous login state be invalidated? When do I receive kick notification?
  • Why can't I create an account using the client SDK instead of the server?
  • Data encryption and compression.
  • How can I integrate the CommsEase account system?
  • Demo
  • What can I do if Demo login failed?
  • How can I quickly develop my application based on Demo source codes?
  • If I changed demo appkey, how do I do when 302 password error is displayed during login with a registered account?
  • The downloaded demo cannot be connected to the server, is a specific port configured?
  • appkey changed in demo. Why can’t I register an account or get chat room list?
  • Why can’t I download Excel files Android. Only android demo sending and receiving are demonstrated.
  • SDK for iOS
  • SDK for iOS is compatible with ATS
  • Foreword
  • What we've done
  • What should upper-level developers do?
  • The minimum requirement for iOS NIM SDK integration?
  • Is iOS Demo compilation failed?
  • How about integration failure?
  • What if the SDK is too large?
  • How about login failure?
  • How can I quickly implement a chat window API for iOS?
  • Why can't I receive message and notification after APP is switched to background?
  • Why can't I receive message push after APP is switched to background?
  • The application cannot be published in APpstore due to the large cache size generated by the SDK. Can I set not to sync with iCloud?
  • SDK for Android
  • Must I put SDK initialization in onCreate of Application?
  • How can I @mention someone?
  • How can I reset the unread count?
  • Why is my receiver not triggered after sending a custom notification?
  • If a message is unsuccessfully sent, how do I resend this message?
  • How do I determine the attachment sending status?
  • Can we use our V7 package?
  • PC SDK
  • How can I use a custom user data directory at Windows client?
  • Which development languages are supported by Windows client SDK?
  • Unity SDK
  • What are the SDK Unity integration requirements?
  • What are SDK considerations?
  • Can I debug SDK features during development?
  • What are the considerations for user login?
  • Why cannot I execute callback functions of some APIs after logging out and re-logging in?
  • SDK for Web
  • Is SDK compatible with old browsers?
  • Is file upload compatible with old browsers?
  • Messages
  • What messages are available? Is my custom message supported?
  • What is the proportion between the thumbnail image and the original image sent by CommsEase?
  • Can’t I receive messages from specific user or specific team
  • How long can I save historical record? How can I get it?
  • How does the management console send system messages to the user (or team)?
  • Is message length limited?
  • What is the format of the audio file of the voice message and the video file of the video message from CommsEase?
  • How does CommsEase send an emoji?
  • Can I only send text messages, not images and files?
  • Demo message uninstallation and reinstallation
  • Session list and roaming message details
  • Roaming details
  • Team
  • What is the maximum number of team members and teams?
  • After I have successfully created a team and specify the members at the server API, why do I only see the team owner in querying the team members?
  • Does the SDK provide an API to set the team capacity?
  • What are the differences between an advanced team and a ordinary group?
  • Can the advanced team owner successfully execute quitTeam? Is a team dismissed?
  • If I want to delete my recent contact list after I quit the team what should I do?
  • Chat room
  • Is there an API to get the list of chat room administrators?
  • What is the common difference between messaging in chat rooms and IM?
  • How do I get the number of members online in the chat room?