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
- Create a AddPostRequest object using
AddPostRequest.Builder
class by passing all the required parameters. - Call
addPost()
function using the instance ofLMFeedClient
. - 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)
}
}
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
VARIABLE | TYPE | DESCRIPTION | OPTIONAL |
---|---|---|---|
text | String | Text content of the post | ✔ |
attachments | List<Attachment> | List of attached medias in the post. Maximum size is 10. | ✔ |
heading | String | Heading of the post. | ✔ |
tempId | String | Temporary ID of post. | ✔ |
topicIds | List<String> | List of ids of the topics added in the post. | ✔ |
AddPostResponse
VARIABLE | TYPE | DESCRIPTION | OPTIONAL |
---|---|---|---|
post | Post | Object of the created post. | |
users | Map<String, User> | Map of user unique id to user object. | |
topics | Map<String, Topic> | Map of topic id to topic object. | |
widgets | Map<String, Widget> | Map of widget id to widget object. |