Getting Started

Build privacy-centric apps with the power of the Sudo Platform

There are three simple steps to get started building Sudo Platform-enabled apps.

Step 1: Request a Sudo Platform account

Before you can develop on the Sudo Platform, you need an account. This account will provide you access to the Sudo Platform services.

If you do not currently have a Sudo Platform account, send us a request and we will create one for you.

Step 2: Download the SDK configuration file

Every application needs an SDK configuration file before you can integrate it with the Sudo Platform. Each Sudo Platform project has a unique SDK configuration file which the SDKs load at run-time. This configuration tells the SDKs which API endpoints to use. Think of it as your project's API key to access the Sudo Platform services.

To download your SDK configuration file:

  1. Log into the Sudo Platform Admin Console. A link and temporary login was emailed to you when your account was activated.

  2. Go to Project Settings and look for the SDK Config section.

  3. Click on Download to save the file to your computer.

Admin Console Access. Check your inbox for the "Welcome to the Sudo Platform" email to find the correct Admin Console URL for your account. Report an issue if you are having trouble accessing the Admin Console.

Step 3: Integrate the SDKs into your application

The quickest way to explore the capabilities of the Sudo Platform is by starting with one of our sample apps. Option #1 below explains what you need to do. These sample apps are designed to highlight the functionality of the Sudo Platform in an application. The only change you need to make is adding your configuration file, as described above.

Alternatively, you can try integrating the SDKs into an existing app or create a new app that incorporates the Sudo Platform SDKs.

Option #1: Start with a Sample App

Want to see the Sudo Platform in action? The quickest way is to clone one of our iOS sample apps. Then just follow the README to start exploring how the Sudo Platform adds privacy-centric competitive advantages to your products.

Are there SDKs for web? Web support is coming soon! We are currently building web SDKs to compliment our mobile SDKs. Let us know if you would be interested in being an early beta tester of the web SDKs.

Once you have a feel for how a Sudo Platform-enabled application is structured, you can integrate the SDKs into your own application. Read on to learn how to integrate Sudo Platform capabilities into your existing applications. Or jump to Option #3 to see how to build a new application with the Sudo Platform SDKs.

Option #2: Integrate into an Existing App

Do you already have a product that you want to fortify with privacy and cyber safety features? We designed the Sudo Platform from the ground up to integrate seamlessly into existing applications.

For iOS projects, if you have not previously setup Cocoapods in your project, you will need to in order to integrate the Sudo Platform SDKs into your project. See below for detailed instructions.

For Android projects, the Sudo Platform SDKs are installed via Gradle. No additional setup is needed.

Option #3: Integrate into a New App

Do you have an idea for a privacy-first application? The Sudo Platform can save you months of development time by leveraging its powerful collection of privacy and cyber safety capabilities.

For iOS projects, you will need to setup Cocoapods in your project to integrate the Sudo Platform SDKs. See below for detailed instructions.

For Android projects, the Sudo Platform SDKs are installed via Gradle. No additional setup is needed.

Install the SDK Configuration File

As we explained above, the first step in any project is to install the SDK Configuration File into your application. You must do this before you can start using the Sudo Platform.

On iOS, the SDK configuration file should be added to the project in the main app folder. For example, if your application is called MyPrivacyApp then you would add it to the project in Xcode under the MyPrivacyApp folder. This will make it automatically discoverable by the SudoUser SDK.

On Android, the SDK configuration file should be added to the assets folder of the app module.

iOS Only: Setup Cocoapods in a Project

The iOS SDKs are distributed via Cocoapods. If you have not previously setup Cocoapods in your application, it can be installed by running the following command from the project directory:

gem install cocoapods

Depending on your setup, you may need to prefix the command with sudo.

Next, initialize Cocoapods for your project by running the following command:

pod init

Currently, there's an issue in cocoapods where linting or publishing a your own pod containing any Sudo Platform SDK will fail on Xcode 14.3 or above with an error indicating that the libarclite_iphonesimulator.a library cannot be found. This is due to Xcode 14.3 removing support for build targets with the minimum deployment setting of iOS 8.0 and a transitive dependency having the minimum deployment setting of iOS 8.0. There is no known workaround. If you are experiencing a similar issue then download Xcode 14.2 from Apple Developer website then select Xcode 14.2 command line tools in Xcode's Location settings menu. It is advised to continue to use Xcode 14.2 command line tools for pod linting and publishing until cocoapods releases a fix for this issue.

Verifying the App Compatibility with Backend Services

There's an API in Sudo Config Manager SDK that can help you determine your app's compatibility with the current set of deployed backend services. You should invoke this API on launch of the app and decide whether or not you want to inform the user to upgrade their app based on the information returned.

import SudoConfigManager

let configManager = DefaultSudoConfigManager()

do {
    try configManager?.validateConfig { (result) in
        switch result {
        case let .failure(cause):
            switch cause {
            case SudoConfigManagerError.compatibilityIssueFound(let incompatible, let deprecated):
                // Inform the user to update the app or allow a specific
                // subset of features to be used based on `incompatible`
                // list. `deprecated` list can be use to warn the user
                // that they will need to update app in future.
            default:
                // Handle other errors.
            }
        case .success:
            break
        }
    }
} catch {
    // Handle error.
} 

What next?

By now you hopefully have explored how the Sudo Platform works using our sample apps. You have also installed the SDK Configuration File into your own project. Now you are ready to explore all the tools and services that Sudo Platform provides you. In the next section, we look in detail at the SDKs. If you want to learn more about Sudos and how Sudo Platform actually works, jump to the Concepts section.

Last updated