Add the Klarna Mobile SDK repository in the apps build.gradle file.
repositories {
maven {
url 'https://x.klarnacdn.net/mobile-sdk/'
}
}
If you’re using Java, add compile options to support Java version 1.8 in the apps build.gradle.
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
Add the SDK as a dependency to your app’s build.gradle:
dependencies {
implementation 'com.klarna.mobile:sdk:2.x.x'
}
For a stable integration we require all integrators to update their SDK version at least once every quarter to ensure the application uses a recent version of the SDK. This is mainly due to continuous development on Klarna products and the SDK are being aligned by each release along with the SDK specific improvements and the nature of native mobile development where we are required to cater for platform changes as much as your application does.
For more information check out the Klarna Mobile SDK Github repository.
Both the hybrid and native integrations might, at some point, open third-party applications. To automatically return the user, these third-party applications need to know how to build a return intent or URL.
To do that, you’ll need to provide the SDK with what we call a “return URL” parameter. If you haven’t done so already, You can register an intent-filter for the Activity you’d like to return to in your app’s AndroidManifest.xml:
<application...>
<activity...>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="<your-custom-scheme>" />
<data android:host="<your-custom-host>" />
</intent-filter>
You can read more about how deeplinks and intent filters work on the Android Developers site.
The hosting Activity should be using launchMode of type singleTask or singleTop to prevent a new instance from being created when returning from an external application.
Both the Klarna Payments native integration and the hybrid integration are available under the com.klarna.mobile.sdk package.
Some features in the SDK are relevant for both native and hybrid integrations of the SDK. These are accessible under the CommonMobileSDKCommon class. These features are:
You can read more about these below.
You can read the device identifier with the static function deviceIdentifier() on your KlarnaMobileSDKCommon.
This device identifier is stored in shared preferences.
The SDK will log events and errors to the system’s log while it’s running. You can read these through logcat. You can set the logging level for the SDK through the setLoggingLevel() static function on KlarnaMobileSDKCommon.
Param | Type | Description |
---|---|---|
loggingLevel | KlarnaLoggingLevel | The type of events or level the SDK should log at. |
Name | Description |
---|---|
Off | Nothing will be logged into console. |
Error | Only errors will be logged into console. |
Verbose | Everything will be logged into console. |
The SDK will require access to the internet, as such, if you don’t explicitly declare access in your manifest, we will merge manifests to get access.