Build SDK dependencies

In order to use the SDK with submodules, which implements desired fetures, dependencies graph should be built. The best place for it usually in Application subclass:

private fun initDependencyInjection() {

    val accountType = getString(R.string.app_account_type) // specify account time
    val contactMimeType = getString(R.string.app_contact_mimetype) // contact mime type
    val appScheme = getString(R.string.app_data_scheme) // data scheme prefix
    val appHost = getString(R.string.app_data_host) // data host prefix


	// see example project for all the parameters
    SdkManager.init(
        application = this,
        accountType = accountType,
        contactMimeType = contactMimeType,
        appHost = appHost,
        appScheme = appScheme,
        mediaDirName = "MediaDirName",
        messagesSettings = getMessagesSettings(),
        mtEndpointsContext = getMtEndpointsContext(),
        authorizationExtractor = SessionAuthorizationExtractorImpl(),
        mtProtoKeysProvider = getMtProtoKeysProvider(),
        callsEnabled = true|false,
        meetingsEnabled = false|false
    )
}

After dependencies initialization all SDK-releated modules will be available for using.

Main modules/engines (CallEngine, VideoconfenceEngine, BroadcastEngine, etc.) along with Interactor, which provides a set of utilities(AuthInteractor for authentication, UsersInteractor for users search, MeetingInteractor for meetings with calls, etc.)

All engines/interactors requires initialization in order to use it.

Last updated