DataStoreDelegate for local storage

The DataStoreDelegate can be used for local storage on your end. Although we have provided the default implementation, in case you want to store on your end, you can use this delegate as a param on SDK init and store things on your end.

Using DataStoreDelegate

class DataStoreDelegateKotlinImpl:DataStoreDelegate{
  override fun setNickname(nickName: String) {
       //store nickname

    override fun getNickname(): String {
        //get nickname from storage

    override fun getAccessToken(): String? {
        //store accesstoken

    override fun setAccessToken(accessToken: String) {
        //return accesstoken

    override fun getChatRoomMessageReceived(): String? {
       // return chat room msg received

    override fun setChatRoomMessageReceived(data: String) {
        //store chat room msg received

    override fun getWidgetClaimToken(): String? {
        // get claim token 

    override fun setWidgetClaimToken(token: String) {
        //store claim token received

    override fun addPublishedMessage(channel: String, messageId: String) {
        //store messages for particular channel

    override fun flushPublishedMessage(vararg channels: String) {
        //flush messages

    override fun getPublishedMessages(channel: String): MutableSet<String> {
        // return stored published message on a channel

    override fun addWidgetPredictionVoted(id: String, optionId: String) {
       //store voted prediction widget id and optionId


    override fun getWidgetPredictionVoted(): Array<SavedWidgetVote> {
        // return saved voted prediction widget

    override fun getWidgetPredictionVotedAnswerIdOrEmpty(id: String?): String {
       // store prediction id voted

    override fun addPoints(points: Int) {
       //store points

    override fun getTotalPoints(): Int {
        //return points

    override fun shouldShowPointTutorial(): Boolean {
       //store, if need to show points tutorial

    override fun pointTutorialSeen() {
        // return if point tutorial seen

    override fun addWidgetNumberPredictionVoted(
        id: String,
        widgetVoteList: List<NumberPredictionVotes>
    ) {
        //store voted number prediction votes(id and number)

    override fun getWidgetNumberPredictionVoted(): Array<NumberPredictionSavedWidgetVote> {
        //return stored number prediction votes

You can pass this as a param on SDK init.

var sdk = LiveLikeKotlin(
        clientId = "8PqSNDgIVHnXuJuGte1HdvOjOqhCFE1ZCR3qhqaS",
        dataStoreDelegate = DataStoreDelegateKotlinImpl(),
        mainDispatcher = Dispatchers.Default