This document illustrates the steps required to enable multi-store payments.
The following requirements must be met to enable multi-store Payments:
The following stores are currently supported:
Once you have integrated the Payments module, ensure that you include the following store-specific changes in your final build before providing us with the final APK.
Depending on your store selection, please refer to the following steps:
The following steps are required to create an app build for Amazon Appstore.
Amazon requires a PEM file that contains a unique app-specific public key to establish a secure communication channel between the Amazon Appstore and your app.
app/src/main/assets
directory of your Android Studio project.StreamingAssets
.
Assets/StreamingAssets
.Add the following entry within your app’s AndroidManifest.xml
:
<queries> <package android:name="com.amazon.sdktestclient" /> <package android:name="com.amazon.venezia" /> </queries>
The following steps are required to create an app build for OnePlus OneStore.
Add the following dependencies in the module/app level build.gradle
:
implementation "com.onestorecorp.sdk:sdk-iap:21.01.00"
Update the root build.gradle
or settings.gradle
based on the following:
pluginManagement { repositories { google { content { includeGroupByRegex("com\\.android.*") includeGroupByRegex("com\\.google.*") includeGroupByRegex("androidx.*") } } maven { url "https://jitpack.io" } maven { url = uri("https://repo.onestore.net/repository/onestore-sdk-public") } mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://jitpack.io" } maven { url = uri("https://repo.onestore.net/repository/onestore-sdk-public") } } }
Add the following entry within your app’s AndroidManifest.xml
:
<queries> <intent> <action android:name="com.onestore.ipc.iap.IapService.ACTION" /> </intent> <intent> <action android:name="android.intent.action.VIEW" /> <data android:scheme="onestore" /> </intent> </queries>
Add the following rules to the ProGuard configuration only if ProGuard/R8 is enabled:
# Core proguard rules -keep class com.gaa.sdk.base.** { *; } -keep class com.gaa.sdk.auth.** { *; } # Purchasing proguard rules -keep class com.gaa.sdk.iap.** { *; } -keep class com.onestore.extern.licensing.** { *; }
The following steps are required to create an app build for Xiaomi GetApps.
Add the following dependencies in the module/app level build.gradle
:
implementation 'com.xiaomi.billingclient:billing:1.1.3'
Xiaomi requires a signed empty APK for verification purposes. The following steps illustrate the process.
Click here to download the empty APK.
The following sample command illustrates this process:
keytool -genkey -v -keystore your-release-key.keystore -alias your-key-alias -keyalg RSA -keysize 2048 -validity 10000
The following sample command illustrates this process:
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore your-release-key.keystore your-app.apk your-key-alias
Flags | Summary |
---|---|
-digestalg SHA-256 |
Ensures a strong hash algorithm for signing integrity. |
-keystore your-release-key.keystore |
Uses the previously generated keystore for signing. |
your-app.apk |
Replace with your actual APK filename. |
your-key-alias |
This should match the alias used when generating the keystore. |
Share the signed empty APK on dev-support@now.us with the subject line ‘Xiaomi – Signed Empty APK’.
The following steps are required to create an app build for Huawei AppGallery.
Add the following dependencies in the module/app level build.gradle
:
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300' implementation 'com.huawei.agconnect:agcp:1.9.1.303' implementation 'com.huawei.hms:iap:6.13.0.300'
Update the root build.gradle
or settings.gradle
based on the following:
pluginManagement { repositories { google { content { includeGroupByRegex("com\\.android.*") includeGroupByRegex("com\\.google.*") includeGroupByRegex("androidx.*") } } maven {url 'https://developer.huawei.com/repo/'} mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven {url 'https://developer.huawei.com/repo/'} } }
Add the following entry within your app’s AndroidManifest.xml
:
<Application> <meta-data android:name="com.huawei.hms.client.appid" android:value="<HUAWEI_APP_ID>"> </meta-data </Application>
Note: You can get the HUAWEI_APP_ID
by reaching out to us at dev-support@now.us.
Add the following rules to the ProGuard configuration only if ProGuard/R8 is enabled:
-ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.huawei.hianalytics.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;}
Enable Custom Launcher Manifest.
To do this:
Assets/Plugins/Android/LauncherManifest.xml
, as shown below:LauncherManifest.xml
:
<Application> <meta-data android:name="com.huawei.hms.client.appid" android:value="<HUAWEI_APP_ID>"> </meta-data </Application>
Note: You can get the HUAWEI_APP_ID
by reaching out to us at dev-support@now.us.
The following steps are required to create an app build for the Samsung Galaxy Store.
Add the following entry within your app’s AndroidManifest.xml
:
<uses-permission android:name="com.samsung.android.iap.permission.BILLING"/> <uses-permission android:name="android.permission.INTERNET"/>
After you prepare the final APK, upload your build to nowStudio.
To do this:
Document Rev. 1.0