Skip to main content

Create Post

Allows users to compose and publish new posts within the application, facilitating content creation and user-generated interactions.

Steps to create a post

  1. Create a AddPostRequest object using AddPostRequest.Builder class by passing all the required parameters.
  2. Call addPost() function using the instance of LMFeedClient.
  3. Process the response (LMResponse<AddPostResponse>) as per your requirement.
CoroutineScope(Dispatchers.IO).launch {
// create a list of the attachments of type [Attachment](../Models/post-model/#attachment)
val attachments = createAttachments(mediasPicked)

// object of AddPostRequest
val addPostRequest = AddPostRequest.Builder()
.text("ENTER POST TEXT") // post text content
.attachments(attachments) // media content attached in the post
.tempId("ENTER POST TEMPORARY ID") // temporary id of the post
.heading("ENTER POST HEADING") // heading of the post
.topicIds([ENTER TOPIC IDs]) // ids of the topics attached in the post
.build()
// get response (LMResponse<AddPostResponse>)
val response = LMFeedClient.getInstance().addPost(addPostRequest)
if (response.success) {
// your function to process the response
processAddPostResponse(response.data)
} else {
// your function to process error message
processError(response.errorMessage)
}
}
note

You cannot create an empty post. Send data in atleast one of the two keys, text or attachments

Additional Features

Tag a User

To tag a user, use the getTaggingList() function to fetch the list of users that can be tagged, and use the format <<[user.name]|route://user_profile/[user.sdkClientInfo.uuid]>> to embed it inside the text of the post.

Decode URL

To decode a URL, use the decodeUrl() function to decode a URL and get its OGTags. Use those to add an attachment of type 4.

Add a Topic

Topics are keywords related to a post, they can be considered having the same use case as hashtags. You can add a topic to the post by sending the topicIds list in the AddPostRequest with the topics you have fetched using the getTopics().

Models

AddPostRequest

VARIABLETYPEDESCRIPTIONOPTIONAL
textStringText content of the post
attachmentsList<Attachment>List of attached medias in the post. Maximum size is 10.
headingStringHeading of the post.
tempIdStringTemporary ID of post.
topicIdsList<String>List of ids of the topics added in the post.

AddPostResponse

VARIABLETYPEDESCRIPTIONOPTIONAL
postPostObject of the created post.
usersMap<String, User>Map of user unique id to user object.
topicsMap<String, Topic>Map of topic id to topic object.
widgetsMap<String, Widget>Map of widget id to widget object.