LikeMindsChat 1.11.0

LikeMindsChat 1.11.0

Maintained by Pushpendra Singh.



 
Depends on:
Alamofire>= 0
MBProgressHUD= 1.1.0
SDWebImage~> 5.1
SDWebImageFLPlugin>= 0
Toast= 4.0.0
Firebase/Messaging>= 0
Firebase/Database>= 0
IQKeyboardManagerSwift>= 0
SwiftyJSON~> 4.0
Kingfisher~> 7.0
ProgressHUD>= 0
MaterialShowcase>= 0
MKDropdownMenu>= 0
GooglePlaces>= 0
CropViewController>= 0
AWSCore>= 0
AWSCognito>= 0
AWSS3>= 0
RealmSwift= 10.5.2
Sentry~> 7.16
lottie-ios~> 3.4.0
SwiftyGif>= 0
Giphy>= 0
 

  • By
  • pushpendrasingh

LikeMinds

Why LikeMinds?

Faster go to market

Building a community platform in-house takes years of engineering efforts. LikeMindsChat enables community for your users in minutes.

Customisability

We understand every business has its unique requirements. Our framework is customisable to support community experiences the way you want to design them. As good as built in-house!

Scalable Infra

We have experts who have built for 25 Mil concurrent users. LikeMinds infrastructure is scalable no matter what the demand.

How to use LikeMindsChat?

View LikeMinds iOS Guide

Initiate project

Follow this tutorial to integrate group chat in your iOS app

Getting Started

  1. Add this entry in Podfile
pod 'LikeMindsChat'
  1. Run the command.
pod install

Initialize LikeMinds Chat

Remember to call this in your application life cycle method applicationDidFinishLaunching in AppDelegate class.

Step 1. Set up the extras and pass all the data required to initiate LikeMinds Chat

let LIKEMINDS_CHAT_API_KEY = "LIKEMINDS_CHAT_API_KEY"
let DOMAIN_URL = "YOUR_DOMAIN" 

let extras = InitiateLikeMindsExtra(apiKey: LIKEMINDS_CHAT_API_KEY)  //API Key generated
            .domainUrl(DOMAIN_URL) //Optional | Domain used for deeplinking

:::tip Domain should be in the format: "https://yourdomain.com" :::

Step 2. Pass the extras created in initiateLikeMinds()

import LikeMindsChat
 
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    LikeMinds.shared.initiateLikeMinds(extras: extras)
    LikeMinds.shared.delegate = self
    return true
}

Initialize Group Chat view

To initialize group chat in your view, pass the following paremeters

  1. userName | Optional | Name/Alias of user
  2. userId | Optinal | If you want to use your custom unique ID or when it's a returning user/login
  3. isGuest | Optional | true - for guest user, false - for normal user
  4. groupChatResponse | To get response which will contain user:{}, community:{}
    1. user:{} will be returned in a callback. Save user_unique_id present in user:{} in your database being returned in API to be used when user is login in the app after clearing data or logout i.e returning user/login
    2. community:{} will contain project meta data
  5. groupChatViewController | Group chat view controller
import LikeMindsChat

LikeMinds.shared.initiateGroupChat(userName: userName, userId: userId, isGuest: isGuest)
    { groupChatResponse, groupChatViewController in
        // do something
    }

:::tip We suggest that you use the unique ID from your database for the user so that you do not have to save the one we generate. :::

Firebase Integration

In order to receive notification, FCM server key needs to be generated. Setup Firebase Project and Turn on FCM services in their project.

  1. Add Firebase to your iOS project | Firebase Documentation
  2. After that client have to provide us FCM Server Key.
    Firebase messaging, where to get Server Key?

We will use this server key in our backend server to provide notifications