SDK v7.x · Last verified March 2026 · iOS · Android · Web · Flutter
Speed run — just the code
Speed run — just the code
Prerequisites: Basic message sending is working → Sending Messages
Limits at a Glance
Quick Start: Send an Image
Step-by-Step Implementation
1
Upload the file first
All media in social.plus follows an upload-then-send pattern. Upload the raw file to get a → File Upload
fileId, then reference that ID in the message.2
Send image and video messages
3
Send audio and file messages
4
Send custom messages
The → Custom Messages
custom dataType lets you send any JSON payload. Use it for link previews, poll cards, system events, or any structured message type your app needs.Your client app must know how to render each custom
type. The social.plus SDK delivers the raw JSON — the UI rendering is your responsibility.5
Render media thumbnails in the message list
When querying messages, each media message includes pre-generated thumbnail URLs:
Connect to Moderation & Analytics
AI moderation on image content
AI moderation on image content
Enable AI image moderation in Admin Console → AI Content Moderation to automatically flag or block NSFW images in chat before other users see them.→ AI Content Moderation
File size and type policy
File size and type policy
Configure allowed file types and maximum file sizes in Admin Console → Network Settings. The SDK enforces these limits client-side before uploading.→ Network Settings
Common Mistakes
Best Practices
Show upload progress
Show upload progress
For videos and large files, display a progress bar during upload. This prevents the user from thinking the send button is broken on slow connections. The file upload callback provides a
progress percentage (0–100).Compress images before upload
Compress images before upload
Compress images to ≤ 2MB before uploading. High-res photos degrade channel load times for all members and increase storage costs. Apply client-side compression in the file picker.
Use custom type for rich cards
Use custom type for rich cards
For complex UI elements (polls, product cards, event invites), use the
custom dataType with a versioned type field. This lets you iterate on card designs server-side without forcing app updates.Next Steps
Message Reactions & Replies
Let users react to and thread on your rich media messages.
Chat Moderation
Moderate images and files before they reach other members.
Direct Messages Path
Full DM build path showing where rich media fits in the flow.