The following requirements must be met to enable Alternative Store Payments:
The following stores are currently supported:
Once you have integrated the Payments module from nowSDK, ensure that the following changes are made in your final build before providing us with the final APK.
build.gradle
:Note: Only required for Native Android Apps.
<!-- Xiaomi GetApps --> implementation "com.xiaomi.billingclient:billing:1.1.3" <!-- ONE Store --> implementation "com.onestorecorp.sdk:sdk-iap:21.01.00"
Update your root level build.gradle
or settings.gradle
to include these repositories:
<!-- ONE Store --> 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 entries within your app’s AndroidManifest.xml
:
<!-- Samsung Galaxy Store --> <uses-permission android:name="com.samsung.android.iap.permission.BILLING"/> <uses-permission android:name="android.permission.INTERNET"/> <!-- ONE Store --> <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> <!-- Amazon Appstore --> <queries> <package android:name="com.amazon.sdktestclient" /> <package android:name="com.amazon.venezia" /> </queries>
To do this:
/Modules/Payments
directory of the nowSDK package to locate the samsung_iap-release.aar
file.libs
directory of your project.Add these rules to your ProGuard configuration if you’ve enabled ProGuard/R8 in your app:
<!-- ONE Store --> -keep class com.gaa.sdk.base.** { *; } -keep class com.gaa.sdk.auth.** { *; } -keep class com.gaa.sdk.iap.** { *; } -keep class com.onestore.extern.licensing.** { *; }
The following are the store-specific additional requirements.
To do this:
1. Download empty APK2. Generate/sign with your keystore:
keytool -genkey -v -keystore <your-release-key.keystore> -alias <your-key-alias> -keyalg RSA -keysize 2048 -validity 10000 jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore <your-release-key.keystore> <your-app.apk> <your-key-alias>
3. Email signed APK to dev-support@now.gg with subject Xiaomi – Signed Empty APK.
Note: If your app is published on Google Play, it is recommended that you use the same keystore for build signing.
output.zip
. This file contains your encrypted app signing key, enabling ONE Store to securely manage app signatures and verify the authenticity of your app for global distribution.output.zip
by exporting and encrypting your private signing key.To do this:
1. Download the PEPK tool (from Google OR Mirror)2. Generate output.zip:
java -jar pepk.jar --keystore=<your-keystore-file.keystore> --alias=<your-alias> --output=output.zip --include-cert --encryptionkey=<your-encryption-key>
3. Email output.zip to dev-support@now.gg with subject ONE Store – output.zip.
Note: The PEPK tool is developed and provided by Google. It is intended for secure encryption of app signing keys and must not be modified or redistributed without proper attribution.
To do this:
app/src/main/assets
(Native Android) or Assets/StreamingAssets
(Unity).Document Rev. 1.0