{"users":[{"id":-1,"username":"system","name":"system","avatar_template":"/uploads/default/original/1X/28c50cf8ef1a4133310fa68d6fdc0f4ba0b4c22f.png","admin":true,"moderator":true,"trust_level":4},{"id":1,"username":"NC","name":null,"avatar_template":"/user_avatar/help.rongcloud.io/nc/{size}/18_2.png","admin":true,"moderator":true,"trust_level":4},{"id":2,"username":"Bob","name":"Bob","avatar_template":"/letter_avatar_proxy/v4/letter/b/ea666f/{size}.png","trust_level":4},{"id":11,"username":"wangyanxu","name":"wangyanxu","avatar_template":"/letter_avatar_proxy/v4/letter/w/2acd7d/{size}.png","trust_level":4}],"primary_groups":[],"flair_groups":[],"topic_list":{"can_create_topic":false,"more_topics_url":"/hot?page=1","per_page":30,"top_tags":["android","web","ios","server","chat","push-notification","sensitive-words","app-key","content-moderation","imkit","imlib","app-secret","chatroom","dev","flutter","prod","real-time-messages","token","ultra-group","apns","app-id","apps","area-code","attribute","badge","chatroom-destruction","cloud-storage","console","custom-message-types","docs","error-codes"],"topics":[{"id":1,"title":"About the Technical guides category","fancy_title":"About the Technical guides category","slug":"about-the-technical-guides-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-04T06:27:32.456Z","last_posted_at":null,"bumped":true,"bumped_at":"2025-03-04T06:27:32.456Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":58,"like_count":1,"has_summary":false,"last_poster_username":"system","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"id":3,"title":"About the NC services category","fancy_title":"About the NC services category","slug":"about-the-nc-services-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-04T06:27:32.708Z","last_posted_at":"2025-03-04T06:27:32.722Z","bumped":true,"bumped_at":"2025-03-20T02:56:33.475Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Create topics here that don’t fit into any other existing category.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":59,"like_count":0,"has_summary":false,"last_poster_username":"system","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"id":8,"title":"About the Pricing category","fancy_title":"About the Pricing category","slug":"about-the-pricing-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-04T10:09:33.770Z","last_posted_at":null,"bumped":true,"bumped_at":"2025-03-04T10:09:33.770Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":44,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":5,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":10,"title":"About the News & activities category","fancy_title":"About the News &amp; activities category","slug":"about-the-news-activities-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-05T02:59:00.566Z","last_posted_at":null,"bumped":true,"bumped_at":"2025-03-05T02:59:00.566Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":null,"visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":32,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":31,"title":"Built-in Profanity Filter Mechanism: Blocked Message vs. Replace Profanity Word: what's the difference in filtering effect","fancy_title":"Built-in Profanity Filter Mechanism: Blocked Message vs. Replace Profanity Word: what&rsquo;s the difference in filtering effect","slug":"built-in-profanity-filter-mechanism-blocked-message-vs-replace-profanity-word-whats-the-difference-in-filtering-effect","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-03-06T02:02:01.352Z","last_posted_at":"2026-03-27T10:44:00.383Z","bumped":true,"bumped_at":"2026-03-23T13:37:54.113Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Built-in profanity filter methods\nTwo methods are available: \n\n\nBlocked profanity word: Messages containing profanity words will be blocked by the Nexconn server, and the target user won’t receive them. \n\n\nReplace profan&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["sensitive-words"],"tags_descriptions":{},"views":71,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":32,"title":"How does the Token refresh mechanism work?","fancy_title":"How does the Token refresh mechanism work?","slug":"how-does-the-token-refresh-mechanism-work","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/2315a6e03d6174e061c6ee2a4b8d04abc21616c1_2_1024x468.png","created_at":"2025-03-06T02:02:44.178Z","last_posted_at":"2026-03-27T10:27:48.062Z","bumped":true,"bumped_at":"2026-03-23T13:38:48.801Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"We don’t refresh Access Tokens automatically. Developers initiate Access Token refreshes in these scenarios: \n\n\nConfigure the Access Token’s validity period in the Console, defaulting to permanent. For subsequent logins,&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["token","console"],"tags_descriptions":{},"views":69,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":35,"title":"What’s an applicationID? How does it differ from the package name?","fancy_title":"What’s an applicationID? How does it differ from the package name?","slug":"what-s-an-applicationid-how-does-it-differ-from-the-package-name","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/101bc7047cb817a734626fbfc354092945d55ec1_2_1024x435.png","created_at":"2025-03-06T02:12:21.673Z","last_posted_at":"2025-03-06T02:12:21.738Z","bumped":true,"bumped_at":"2026-03-11T07:49:45.552Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Q: When setting up push notifications in the Developer Console under Application Identifier, what’s the Application ID? \nA: The Application ID is your app’s unique identifier, typically set in the build.gradle file, as s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["android","app-id"],"tags_descriptions":{},"views":70,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":38,"title":"Push notification badge display","fancy_title":"Push notification badge display","slug":"push-notification-badge-display","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/dd61c37e51ec1ce74ea5c4758f63bd4c5e98a9aa_2_1024x602.png","created_at":"2025-03-06T02:14:54.106Z","last_posted_at":"2026-03-27T10:13:08.677Z","bumped":true,"bumped_at":"2026-03-16T07:09:20.595Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"NC doesn’t manage app badge numbers, and the NC SDK doesn’t control badge display. This guide covers badge control for vendor push notifications. \n\nMany developers want to enable badges or red dots on the app icon for b&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["android","ios","push-notification","badge"],"tags_descriptions":{},"views":88,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":11,"primary_group_id":null,"flair_group_id":null}]},{"id":42,"title":"What’s iOS silent remote notification?","fancy_title":"What’s iOS silent remote notification?","slug":"what-s-ios-silent-remote-notification","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-06T02:18:27.855Z","last_posted_at":"2025-03-06T02:18:27.931Z","bumped":true,"bumped_at":"2026-03-11T07:49:32.842Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"A silent remote notification, introduced after iOS 7, lets apps run code in the background to update content from the server without alerting the user. \nUse cases\nIt’s ideal for enhancing user experience in multimedia ch&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["ios","push-notification"],"tags_descriptions":{},"views":58,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":43,"title":"What to do if the SDK's connect method returns an invalid access token","fancy_title":"What to do if the SDK&rsquo;s connect method returns an invalid access token","slug":"what-to-do-if-the-sdks-connect-method-returns-an-invalid-access-token","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/original/1X/1c5598e25bbcc6a937ef11e0a077f15a99aa7845.png","created_at":"2025-03-06T02:19:30.645Z","last_posted_at":"2026-03-27T10:28:06.146Z","bumped":true,"bumped_at":"2026-03-23T07:54:46.630Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Cause 1: App Key and token mismatch in your project\nYour token doesn’t match the App Key in the SDK. Verify that the locally configured App Key matches the one used to generate the token on the App Server side. Check the&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["android","app-key","token"],"tags_descriptions":{},"views":136,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":50,"title":"How to get original message content when using built-in profanity filter and message webhooks?","fancy_title":"How to get original message content when using built-in profanity filter and message webhooks?","slug":"how-to-get-original-message-content-when-using-built-in-profanity-filter-and-message-webhooks","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-03-06T02:30:30.347Z","last_posted_at":"2026-03-27T10:41:17.605Z","bumped":true,"bumped_at":"2026-03-23T13:40:28.701Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Description\nIM supports content moderation, offering: \n\nBuilt-in profanity filter: Automatically blocks or replaces profanity words before delivery.\nMessage Pre-send Webhook: Sends messages to your application first, let&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["content-moderation"],"tags_descriptions":{},"views":81,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":52,"title":"How to modify the SDK's default image and video compression settings?","fancy_title":"How to modify the SDK&rsquo;s default image and video compression settings?","slug":"how-to-modify-the-sdks-default-image-and-video-compression-settings","posts_count":5,"reply_count":0,"highest_post_number":5,"image_url":null,"created_at":"2025-03-06T02:33:28.596Z","last_posted_at":"2026-03-27T10:15:49.558Z","bumped":true,"bumped_at":"2026-03-27T10:15:49.558Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Description\nWhen sending images and short videos using the Android/iOS Chat SDK, the SDK has these default behaviors: \n\nImage thumbnails: The SDK creates a large image at 30% quality from the original, meeting standard s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["android","ios","imkit","imlib"],"tags_descriptions":{},"views":79,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":11,"primary_group_id":null,"flair_group_id":null}]},{"id":60,"title":"IM SDK integration impact on app package size (iOS)","fancy_title":"IM SDK integration impact on app package size (iOS)","slug":"im-sdk-integration-impact-on-app-package-size-ios","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-03-06T02:51:36.977Z","last_posted_at":"2026-03-11T07:48:46.875Z","bumped":true,"bumped_at":"2025-03-07T08:12:52.178Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This document shows the approximate IPA file size increase after integrating the IMLib SDK or IMKit SDK into your app. \n5.6.1\n\n\n\n\nSDK\nArchitecture\nPackage size increase\n\n\n\n\nIMLib\nReal device arm64\n4.4 MB\n\n\nIMKit (include&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"tags":["imkit","imlib","file-size"],"tags_descriptions":{},"views":58,"like_count":0,"has_summary":false,"last_poster_username":"wangyanxu","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":11,"primary_group_id":null,"flair_group_id":null}]},{"id":61,"title":"App package size increase after IM SDK integration (Android)","fancy_title":"App package size increase after IM SDK integration (Android)","slug":"app-package-size-increase-after-im-sdk-integration-android","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-03-06T02:52:01.825Z","last_posted_at":"2026-03-11T07:49:07.362Z","bumped":true,"bumped_at":"2025-03-07T08:14:12.344Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This document outlines the increase in app package (APK) size after integrating the IMLib SDK or IMKit SDK. \n5.6.1\n\n\n\n\nSDK\nArchitecture\nPackage size increase\n\n\n\n\nIMLib\narmeabi-v7a\n3.2 MB\n\n\nIMLib\nAll platforms (armeabi-v7&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"tags":["imkit","imlib"],"tags_descriptions":{},"views":62,"like_count":0,"has_summary":false,"last_poster_username":"wangyanxu","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":11,"primary_group_id":null,"flair_group_id":null}]},{"id":62,"title":"Data center guide","fancy_title":"Data center guide","slug":"data-center-guide","posts_count":5,"reply_count":0,"highest_post_number":5,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/3d5840d72afa9dd1869c3beea23a9dfd9f6c057c_2_1024x256.png","created_at":"2025-03-06T02:52:34.405Z","last_posted_at":"2026-03-27T10:21:05.625Z","bumped":true,"bumped_at":"2026-03-27T10:21:03.733Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Chat Service offers data centers in Singapore , North America, or Saudi Arabia to support your global business. \nChoose a global data center based on your message transmission needs and compliance requirements. \nThis gui&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["area-code","global-data-center"],"tags_descriptions":{},"views":271,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":11,"primary_group_id":null,"flair_group_id":null}]},{"id":72,"title":"Understand Nexconn's profanity word filtering rules and matching effects","fancy_title":"Understand Nexconn&rsquo;s profanity word filtering rules and matching effects","slug":"understand-nexconns-profanity-word-filtering-rules-and-matching-effects","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-03-06T03:04:32.993Z","last_posted_at":"2026-03-27T10:38:28.108Z","bumped":true,"bumped_at":"2026-03-23T13:41:16.520Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"When using the built-in profanity word mechanism in Nexconn services, you need to add profanity word first. This article outlines the setup rules and matching effects for profanity word strings. \nSimplified and Tradition&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["sensitive-words"],"tags_descriptions":{},"views":89,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":82,"title":"When to refresh your app secret and what happens when you do","fancy_title":"When to refresh your app secret and what happens when you do","slug":"when-to-refresh-your-app-secret-and-what-happens-when-you-do","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-03-07T05:39:43.186Z","last_posted_at":"2026-03-27T10:32:04.149Z","bumped":true,"bumped_at":"2026-03-23T13:42:22.386Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Your app key and app secret are crucial for NexConn. Keep them secure and never share both with third parties. \nRefresh your app secret to prevent leaks when server admins or developers leave. \nAfter refreshing, your old&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":["app-key","app-secret"],"tags_descriptions":{},"views":69,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":130,"title":"Does Nexconn save message history","fancy_title":"Does Nexconn save message history","slug":"does-nexconn-save-message-history","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/f513fa1ac4a9178e8186355443bc4564ea2a82c4_2_1024x462.png","created_at":"2025-06-16T10:52:53.890Z","last_posted_at":"2026-03-27T10:43:54.946Z","bumped":true,"bumped_at":"2026-03-23T13:35:20.089Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"By default, Nexconn does not save your message history, but we provide options to do so. \nFor mobile clients\nYou can get history messages from the local database, from the server, or from both. \nTo get history messages f&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":50,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":131,"title":"Can users retrieve history messages from a group they are not in?","fancy_title":"Can users retrieve history messages from a group they are not in?","slug":"can-users-retrieve-history-messages-from-a-group-they-are-not-in","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/9d0f1afc6445fbe6a055e5e915c56990e7ce44bf_2_1024x469.png","created_at":"2025-06-16T10:55:20.833Z","last_posted_at":"2026-03-27T10:37:57.455Z","bumped":true,"bumped_at":"2026-03-23T13:33:05.016Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"By default, users can’t get group historical messages when not in the group. After enabling, users can retrieve group historical messages even when not in the specified group. \nTo enable this feature, go to the Chat sett&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":40,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":133,"title":"Client-side user presence subscription","fancy_title":"Client-side user presence subscription","slug":"client-side-user-presence-subscription","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-06-16T11:01:52.049Z","last_posted_at":"2026-03-27T10:44:19.061Z","bumped":true,"bumped_at":"2026-03-24T02:04:13.885Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"User presence subscription\nThis document introduces the user presence subscription feature, enabling developers to monitor and receive real-time notifications of specified users’ connection status changes via the Chat SD&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":63,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":135,"title":"Receive mobile push notifications when web/PC is online","fancy_title":"Receive mobile push notifications when web/PC is online","slug":"receive-mobile-push-notifications-when-web-pc-is-online","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/9ed9c2bcc2b262d4314c5b7f1c0ce74608c53320_2_1024x441.png","created_at":"2025-06-16T11:06:14.206Z","last_posted_at":"2026-03-27T10:39:24.723Z","bumped":true,"bumped_at":"2026-03-23T13:30:35.519Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Description\n\n\nIf a user’s mobile device is offline, but their web client is online (meaning the SDK has established a connection with the Nexconn server), Nexconn assumes the user can receive real-time messages on their &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":41,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":136,"title":"Moderating messages sent from the server API","fancy_title":"Moderating messages sent from the server API","slug":"moderating-messages-sent-from-the-server-api","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"//help.rongcloud.io/uploads/default/optimized/1X/8694a73cf03aafbc3c2db8daea530e71acb70801_2_1024x413.png","created_at":"2025-06-16T11:08:12.356Z","last_posted_at":"2026-03-27T10:40:10.136Z","bumped":true,"bumped_at":"2026-03-23T13:28:41.751Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"By default, messages sent via the Server API are not moderated. When you enable Moderate messages sent by server API, these messages will be passed through your configured sensitive word filters, content moderation rules&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":61,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":151,"title":"Are multiple tokens from the Server API all valid?","fancy_title":"Are multiple tokens from the Server API all valid?","slug":"are-multiple-tokens-from-the-server-api-all-valid","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-06-23T07:46:13.719Z","last_posted_at":"2025-06-23T07:46:13.790Z","bumped":true,"bumped_at":"2026-03-11T07:16:39.033Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Yes, each token generated through the Server API is valid. If you create a new token, the old one stays active. \nToken expiration depends on the Token Validity Period set in the Developer Console.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["server"],"tags_descriptions":{},"views":33,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":152,"title":"Why doesn’t the client support fetching Token, and why must Token be requested from the server?","fancy_title":"Why doesn’t the client support fetching Token, and why must Token be requested from the server?","slug":"why-doesn-t-the-client-support-fetching-token-and-why-must-token-be-requested-from-the-server","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-06-23T07:46:32.161Z","last_posted_at":"2026-03-27T10:40:26.047Z","bumped":true,"bumped_at":"2026-03-23T13:24:39.633Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Fetching an Access Token requires your App Key and App Secret. If you request it from the client, your code could be decompiled, exposing your App Key and App Secret. \n\nAlways get Access Token from the server in producti&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":74,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":153,"title":"Why am I getting a 403 error when requesting a Token?","fancy_title":"Why am I getting a 403 error when requesting a Token?","slug":"why-am-i-getting-a-403-error-when-requesting-a-token","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-06-23T07:46:57.131Z","last_posted_at":"2025-06-23T07:46:57.203Z","bumped":true,"bumped_at":"2026-03-11T07:57:55.584Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"If you’re using the App Key from the development environment, your app can only register up to 100 users (to prevent accidentally using the test environment as the production environment for security reasons). Once this &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["server"],"tags_descriptions":{},"views":30,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":154,"title":"Why don’t client nicknames and avatars update after refreshing the Token or modifying user info?","fancy_title":"Why don’t client nicknames and avatars update after refreshing the Token or modifying user info?","slug":"why-don-t-client-nicknames-and-avatars-update-after-refreshing-the-token-or-modifying-user-info","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-06-23T07:47:10.574Z","last_posted_at":"2026-03-27T10:43:19.731Z","bumped":true,"bumped_at":"2026-03-23T13:17:28.468Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Issue\nAfter calling any Nexconn Server API with a new nickname and avatar, why don’t the client’s nickname and avatar update? \n\n\n/v4/auth/access-token/issue \n\n\n/v4/user/update \n\n\nAnalysis\nOnly the name and avatar in push&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":49,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":155,"title":"Open channel message discard policy","fancy_title":"Open channel message discard policy","slug":"open-channel-message-discard-policy","posts_count":5,"reply_count":0,"highest_post_number":5,"image_url":null,"created_at":"2025-06-23T07:47:52.482Z","last_posted_at":"2026-03-27T10:42:04.708Z","bumped":true,"bumped_at":"2026-03-23T13:26:06.772Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"In open channels, the Nexconn server processes up to 40 upstream messages every 200 milliseconds by default. Of these, 20 are reserved for high-priority messages, while the remaining 20 are shared between high and low-pr&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":63,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":156,"title":"Open channel latest message retrieval logic","fancy_title":"Open channel latest message retrieval logic","slug":"open-channel-latest-message-retrieval-logic","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-06-23T07:48:06.400Z","last_posted_at":"2026-03-27T10:42:42.809Z","bumped":true,"bumped_at":"2026-03-23T13:00:31.662Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"When a user sends a message in the open channel, the server sends a retrieval notification to all users. The client SDK compares the notification with the latest message in the local open channel to determine if retrieva&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"visibility_reason_id":4,"tags":[],"tags_descriptions":{},"views":57,"like_count":0,"has_summary":false,"last_poster_username":"Bob","category_id":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Original Poster","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null}]},{"id":157,"title":"How to send emojis from the server-side?","fancy_title":"How to send emojis from the server-side?","slug":"how-to-send-emojis-from-the-server-side","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-06-23T07:49:25.959Z","last_posted_at":"2025-06-23T07:49:26.039Z","bumped":true,"bumped_at":"2026-03-11T07:44:23.993Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Copy the emoji content and use the message sending API to send it. Emojis are just characters, but different platforms display them as varied styled images. \nCheck out the emoji list here: https://en.wikipedia.org/wiki/E&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["server"],"tags_descriptions":{},"views":35,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"id":158,"title":"Server API returns 401 signature error","fancy_title":"Server API returns 401 signature error","slug":"server-api-returns-401-signature-error","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-06-23T07:49:43.995Z","last_posted_at":"2025-06-23T07:49:44.078Z","bumped":true,"bumped_at":"2026-03-11T07:53:01.925Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Troubleshooting steps\nFirst, check your signature algorithm. Refer to our Server SDK for different language versions. \nNext, verify the parameters used to calculate the data signature (Signature). Parameter error is a co&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":["server"],"tags_descriptions":{},"views":39,"like_count":0,"has_summary":false,"last_poster_username":"NC","category_id":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":null,"flair_group_id":null}]}]}}