Basics

Once you’ve integrated MimiSDK, there are a few basics to go over to get things fully set up.

1. Starting the SDK

In order to use the features of the SDK, it must first be started. This is a mandatory step which will require you to input your Mimi-provided client credentials.

You can only start the SDK once per application lifecycle, and we recommend you do this in your App Delegate.

To start the SDK, simply call Mimi.start():

import MimiSDK
import MimiCoreKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // Start MimiSDK
        Mimi.start(credentials: .client(id: "YOUR_CLIENT_ID", secret: "YOUR_CLIENT_SECRET"),
                  delegate: self)
    }
}

extension AppDelegate: MimiCoreDelegate {
}

As you can see, there are two different parameters that are provided on start().

Credentials

These credentials refer to the Client ID and Client Secret that Mimi provided to allow you to communicate with the Mimi API. Without these, you will be unable to perform API requests successfully.

MimiCoreDelegate

A MimiCoreDelegate object is also required when starting the SDK, which mandates some functionality that integrators must respond to.

extension AppDelegate: MimiCoreDelegate {

    func mimiCoreWasFoundUnserviceable(_ core: MimiCore) {

    }
}

Required Update

In exceptional circumstances, we might need to deprecate and mark older versions of the SDK as unsupported. These decisions will be well communicated far in advance of the notification by our team. However, if a user of your app is using an unsupported version of the MimiSDK you should respond appropriately to ensure that they have a pleasant upgrade experience.

If you receive a call to the mimiCoreWasFoundUnserviceable() function, you should expect that all functionality of the MimiSDK is now unavailable. We recommend that you display a UIViewController to your user informing them that they need to update the app to the latest available version which has a newer version of MimiSDK integrated.

2. Configure Analytics

As of 4.10.0, the SDK automatically collects usage data within Mimi UI flows and sends it to Mimi. This data collection is limited to Mimi features and does not extend into the host application at all.

App Store Privacy Details

Apple now requires all app updates to provide details of an app’s privacy practices, which are displayed on the App Store - read more.

As MimiSDK now collects usage data by default you will have to take this into account when evaluating privacy practices for your app.

By default Mimi collects:

  • Product Interaction Analytics that are not linked to the user’s identity.

Which results in a Privacy label that looks something like this:

Privacy Label

If your application collects additional data this will also need to be reflected in your privacy labels.

To disable Mimi from collecting usage data, set the following:

Mimi.allowsUsageDataCollection = false

3. All Done

MimiSDK is now set up and ready to go.

Next Steps

With the basics set up, you can now move onto configuring your app for the required Permissions.