Skip to main content
Each package manager needs to know the Nexus repository URL and your credentials. Replace https://repo.client.ae with the URL your ICP contact gives you, and use your issued service-account username and password.
Never commit Nexus credentials. Use environment variables, a credentials file outside the repo, or your CI secret store.

Gradle (Android / Desktop JVM)

Add the Maven repository and credentials. Keep the username/password in ~/.gradle/gradle.properties, not in the build file.
// build.gradle.kts (or settings.gradle.kts → dependencyResolutionManagement)
repositories {
    maven {
        url = uri("https://repo.client.ae/repository/mbkyc-maven")
        credentials {
            username = providers.gradleProperty("nexusUser").get()
            password = providers.gradleProperty("nexusPassword").get()
        }
    }
}
# ~/.gradle/gradle.properties
nexusUser=your-username
nexusPassword=your-password
Then add the dependency:
dependencies {
    implementation("ae.gov.icp.mbkyc:mbkyc-android:0.7.0")
    implementation("ae.gov.icp.mbkyc:service-common-android:0.4.0")
    // vendor service AARs as needed — see the package matrix
}
On Android, mbkyc-android transitively pulls rustls:rustls-platform-verifier (the JNI layer calls into it for TLS certificate verification on every MBKYC.create). It’s declared as an api dependency, so you don’t list it yourself — but it is not on Maven Central or Google; it’s served from the same mbkyc-maven Nexus repository under the rustls group. Don’t restrict that repository to a single includeGroup (e.g. only ae.gov.icp.mbkyc), or the rustls artifact won’t resolve and you’ll hit a ClassNotFoundException for org.rustls.platformverifier.CertificateVerifier at runtime.

npm / pnpm (Web)

Scope the @mbkyc registry to Nexus in an .npmrc:
# .npmrc
@mbkyc:registry=https://repo.client.ae/repository/mbkyc-npm/
//repo.client.ae/repository/mbkyc-npm/:_auth=<base64 of username:password>
npm install @mbkyc/sdk
# or
pnpm add @mbkyc/sdk

NuGet (.NET)

Add the Nexus source, then reference the package:
dotnet nuget add source https://repo.client.ae/repository/mbkyc-nuget/index.json \
  --name mbkyc --username your-username --password your-password --store-password-in-clear-text
<!-- The .NET SDK package -->
<PackageReference Include="MBKYC.Sdk" Version="0.5.0" />
<!-- Or the C API package, for native interop -->
<PackageReference Include="MBKYC.Capi" Version="0.8.0" />
If Nexus sits behind a TLS-terminating proxy, the reverse proxy must rewrite Nexus’s http:// package URLs to https:// (via sub_filter). Without it, NuGet and Chocolatey downloads fail. This is an infrastructure concern handled by whoever operates your Nexus.

apt (Debian / Ubuntu)

# Trust the signing key
curl -fsSL https://repo.client.ae/repository/mbkyc-apt/public.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/mbkyc.gpg

# Add the source
echo "deb [signed-by=/usr/share/keyrings/mbkyc.gpg] https://repo.client.ae/repository/mbkyc-apt stable main" \
  | sudo tee /etc/apt/sources.list.d/mbkyc.list

sudo apt update && sudo apt install libmbkyc-dev

yum / dnf (RHEL / CentOS / Fedora)

# /etc/yum.repos.d/mbkyc.repo
[mbkyc]
name=MBKYC
baseurl=https://repo.client.ae/repository/mbkyc-yum
enabled=1
gpgcheck=0
sudo dnf install mbkyc-capi

Swift (macOS)

There is no SwiftPM or CocoaPods feed. Download the XCFramework from the raw repository and link it in Xcode:
curl -fsSL -u "$NEXUS_USER:$NEXUS_PASSWORD" \
  https://repo.client.ae/repository/mbkyc-raw/mbkyc/swift-sdk/0.5.0/MBKYCSDK.xcframework.zip \
  -o MBKYCSDK.xcframework.zip
unzip MBKYCSDK.xcframework.zip
See the Swift guide for adding it to your project.

Now build your integration

Head to the SDK guide for your platform.