Integrate the User SDK
Integrate the User SDK into your application
Prerequisites
Get Started
Integrate the iOS SDK
To use User SDK in an iOS app, you need to install the SudoUser package via Swift Package Manager
Open your project settings in XCode, and go to the Package Dependencies
tab. Click on the +
sign to add a dependency.
Enter the repository URL https://github.com/sudoplatform/sudo-user-ios
in the top right search box and select the sudo-user-ios
repository.
Select the required version and Add Package
.
Sudo Platform SDKs conform to semantic versioning so in most cases you will leave the Dependency Rule as Up to Next Major Version
to receive regular updates without introducing any breaking changes.
This will resolve the local package dependency and install the latest version of the User SDK.
SDK Configuration
Before starting to use SudoUserClient
you must configure it using the configuration information provided to you for your instance of the Sudo Platform. Download and install your project's SDK configuration file before proceeding.
Instantiating and initializing a client:
do {
let client: SudoUserClient = try DefaultSudoUserClient(keyNamespace: "<your-application-name>")
catch let error {
// Handle initialization error. An error might be thrown due to invalid
// or missing confiugration file.
}
You only need one client instance for a given user per device. Instantiating multiple clients with the same configuration and using them at the same time may cause unexpected runtime errors to occur.
Integrate the Android SDK
To use User SDK in an Android app you need to add SudoUser
library as a dependency to your project.
Edit the app module Gradle script (build.gradle) and add SudoUser library as a dependency.
dependencies {
api 'com.sudoplatform:sudouser:$latest_version'
}
Edit AndroidManifest.xml to add the following app permissions:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
package="com.sudoplatform.sampleapp">
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+ <uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <queries>
+ <intent>
+ <action android:name="android.intent.action.VIEW" />
+ <data android:scheme="https" />
+ </intent>
+ <intent>
+ <action android:name=
+ "android.support.customtabs.action.CustomTabsService" />
+ </intent>
+ </queries>
<application
+ tools:replace="android:allowBackup"
+ android:allowBackup="false"
The Sudo Platform enforces that the client passes Google Play Integrity validation in order to successfully register a new user. A part of this validation is checking the attestation result is produced by an app/module that's signed by a known signing certificate. In order to pass this validation your signing certificate's fingerprint must be uploaded via the admin console.
To obtain the signing certificate's fingerprint, run the following command:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android | grep SHA256 | tr -d : | awk '{print($2)}' | xxd -r -p | base64
The output of the above command must be uploaded to the admin console (Settings -> Android Signing Certificate).
SDK Configuration
Before starting to use SudoUserClient
you must configure it using the configuration information provided to you for your instance of the Sudo Platform. Download and install your project's SDK configuration file before proceeding.
Instantiating and initializing a client:
val client = SudoUserClient.builder(appContext)
.setNamespace("<your-application-name>")
.build()
You only need one client instance for a given user per device. Instantiating multiple clients with the same configuration and using them at the same time may cause unexpected runtime errors to occur.
Integrate the JS SDK
To use the Sudo User SDK in a Web or Node.js project, you must add @sudoplatform/sudo-user
as a dependency to your project.
yarn add '@sudoplatform/sudo-user'
# or
npm install --save '@sudoplatform/sudo-user'
SDK Configuration
Before starting to use SudoUserClient
you must configure it using the configuration information provided to you for your instance of the Sudo Platform. Download and install your project's SDK configuration file before proceeding.
Instantiating and initializing a client:
import { DefaultConfigurationManager } from '@sudoplatform/sudo-common'
// Set configuration (content of file downloaded in previous step) in the configuration manager
DefaultConfigurationManager.getInstance().setConfig(configJson)
// Instantiate and initialize the client
const client = new DefaultSudoUserClient()
Last updated