设置多商店支付

当您使用nowStudio的多商店发布功能时,now.gg支付模块(now.gg Payments Module)为多商店支付(multi-store Payments)提供支持。

本文档阐述了启用多商店支付所需的步骤。

前提条件

要启用多商店支付,需满足以下前提条件:

  • 支付集成 – 确保您已经集成了我们的支付模块。
  • nowStudio设置

1. 支持的商店

下列是目前支持的商店:

  • 由 now.gg 提供支持
    • 云商店
    • BlueStacks 商店
  • 替代方案
    • Samsung Galaxy Store
    • Xiaomi GetApps
    • ONE Store
    • Amazon Appstore
    • Huawei AppGallery(即将推出)

2. 商店特定设置

在集成支付模块后,请确保在最终构建中包含以下商店特定的更改,然后再提供最终的 APK。

根据您选择的商店,请参考以下步骤:

2.1 三星 Galaxy 应用商店

以下是为三星 Galaxy 应用商店创建应用构建所需的步骤。

2.1.1 添加库文件

从你下载的 nowSDK 软件包中,按照以下步骤将专用于三星商店的库文件添加到你项目的 libs 目录中:
注意:now.gg SDK 软件包包含支付模块、演示应用程序以及示例代码。

1. 解压已压缩的 nowSDK 模块,并进入 Modules/Payments 目录,在软件包中找到 samsung_iap-release.aar 文件:

 samsung_iap-release.aar

2. 添加提供的 .aar 文件到你项目的 libs 目录中:


2.1.2 更新 AndroidManifest.xml

在你应用的 AndroidManifest.xml 中添加以下权限声明:

<uses-permission android:name="com.samsung.android.iap.permission.BILLING"/>
<uses-permission android:name="android.permission.INTERNET"/>


2.2 小米 GetApps

以下步骤是为小米 GetApps 创建应用构建所必需的。

2.2.1 添加依赖项

在模块/app 级别的 build.gradle 中添加以下依赖项:

implementation 'com.xiaomi.billingclient:billing:1.1.3'

2.2.2 已签名构建(空APK)

Xiaomi要求提供一个已签名的空APK以进行验证。以下步骤说明了该过程。

重要信息

  • 已签名的空APK仅在首次提交时需要。
  • 如果您的应用已发布在Google Play,建议使用相同的keystore进行签名。
  • Unity用户:Unity通过 Edit > Project Settings > Player > Publishing Settings 集成keystore签名。请在构建前确保已设置正确的keystore和别名。
1. 下载空APK

点击这里下载空APK。

2. 生成Keystore(如果尚未拥有)

以下示例命令展示了此过程:

 keytool -genkey -v -keystore <your-release-key.keystore> -alias <your-key-alias> -keyalg RSA -keysize 2048 -validity 10000

重要信息

  • 如果您的应用已发布在Google Play,建议使用相同的keystore进行签名。
3. 为APK签名

以下示例命令展示了此过程:

 jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore <your-release-key.keystore> <your-app.apk> <your-key-alias>
参数 说明
-digestalg SHA-256 确保使用强加密哈希算法进行签名完整性验证。
-keystore your-release-key.keystore 使用之前生成的keystore进行签名。
your-app.apk 请替换为实际的APK文件名。
your-key-alias 应与生成keystore时使用的别名一致。
4. 共享已签名APK

请将已签名的空APK发送至dev-support@now.gg,邮件标题为‘Xiaomi – Signed Empty APK’。



2.3 ONE Store

以下步骤是为 ONE Store 创建应用构建所必需的。

2.3.1 添加依赖项

在模块/app 级别的 build.gradle 中添加以下依赖项:

implementation "com.onestorecorp.sdk:sdk-iap:21.01.00"

2.3.2 更新根 build.gradle / settings.gradle

根据以下内容更新根 build.gradlesettings.gradle

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") }
    }
 }

2.3.3 更新 AndroidManifest.xml

在您的应用的 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>

2.3.4 添加 ProGuard 规则

如果启用了 ProGuard/R8,请在 ProGuard 配置中添加以下规则:

# 核心 ProGuard 规则
 -keep class com.gaa.sdk.base.** { *; }
 -keep class com.gaa.sdk.auth.** { *; }

 # 购买相关 ProGuard 规则
 -keep class com.gaa.sdk.iap.** { *; }
 -keep class com.onestore.extern.licensing.** { *; }

重要信息

  • 仅当 启用了 ProGuard/R8 时才应添加这些规则。

2.3.5 启用全球发布

ONE Store 要求您提供已签名的 output.zip 文件,以在韩国以外的地区发布您的应用程序,包括全球分发。

工作流程

  • 我们将为您的应用提供专属的加密密钥。
  • 您需要使用该密钥,通过导出并加密您的私有签名密钥来生成 output.zip 文件。
  • 生成完成后,请将签名文件发送给我们,以供最终部署。
请按照以下步骤生成 output.zip
1. 下载 PEPK 工具

从以下任一来源下载 Play Encrypt Private Key(PEPK)工具:

注意:PEPK 工具由 Google 开发并提供。它用于安全加密应用签名密钥,未经授权不得修改或分发。

2. 生成 output.zip

使用我们提供的加密密钥运行以下命令来生成加密的 output.zip 文件。系统会提示您输入 keystore 和密码:

$ java -jar pepk.jar --keystore=<your-keystore-file.keystore> --alias=<your-alias> --output=output.zip --include-cert --encryptionkey=<your-encryption-key>

请确保替换以下内容:

  • <your-keystore-file.keystore> – 您的 Java Keystore 文件
  • <your-alias> – 您的密钥别名
  • <your-encryption-key> – 我们提供的加密密钥
3. 发送签名后的 output.zip

请将签名后的 output.zip 文件发送至 dev-support@now.gg,邮件主题为 “ONE Store – output.zip”。



2.4 Amazon 应用商店

以下步骤是为 Amazon 应用商店创建应用构建所必需的。

2.4.1 PEM 文件

Amazon 需要一个 PEM 文件,其中包含唯一的应用专用公钥,以建立 Amazon 应用商店与您的应用之间的安全通信通道。

  • 要获取 PEM 文件,请联系我们 dev-support@now.gg
  • 按照以下说明包含 PEM 文件:
  • 原生 Android:
    • 将 PEM 文件粘贴到 Android Studio 项目的 app/src/main/assets 目录中。
      注意: 如果您的应用没有 assets 目录,则必须创建一个并将 PEM 文件放入其中。
  • Unity:
    • 在项目的 Assets 文件夹中创建一个名为 StreamingAssets 的新文件夹。
      • 将 PEM 文件粘贴到 Assets/StreamingAssets 目录中。

2.4.2 更新 AndroidManifest.xml

在您的应用的 AndroidManifest.xml 中添加以下条目:

<queries>
     <package android:name="com.amazon.sdktestclient" />
     <package android:name="com.amazon.venezia" />
 </queries>


2.5 华为 AppGallery (即将推出)

以下步骤是为华为 AppGallery 创建应用构建所必需的。

2.5.1 原生 Android

1. 添加依赖项

在模块/app 级别的 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'

2. 更新根 build.gradle / settings.gradle

根据以下内容更新根 build.gradlesettings.gradle

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/'}
    }
 }


3. 更新 AndroidManifest.xml

在您的应用的 AndroidManifest.xml 中添加以下条目:

<Application>
 <meta-data
     android:name="com.huawei.hms.client.appid"
     android:value="<HUAWEI_APP_ID>">
 </meta-data
 </Application>

注意: 您可以通过联系我们 dev-support@now.gg 获取 HUAWEI_APP_ID


4. 添加 ProGuard 规则

如果启用了 ProGuard/R8,请在 ProGuard 配置中添加以下规则:

-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.**{*;}

重要信息

  • 仅当 启用了 ProGuard/R8 时才应添加这些规则。

2.5.2 Unity

启用自定义启动器清单。

操作方法:

  • 前往 项目设置 > Player > Build
  • 启用自定义启动器清单 Assets/Plugins/Android/LauncherManifest.xml,如下所示:
  • 更新 LauncherManifest.xml在您的应用的 LauncherManifest.xml 中添加以下条目:
    <Application>
     <meta-data
         android:name="com.huawei.hms.client.appid"
         android:value="<HUAWEI_APP_ID>">
     </meta-data
     </Application>
    

注意: 您可以通过联系我们 dev-support@now.gg 获取 HUAWEI_APP_ID



3. 提交最终APK

准备好最终APK后,请将其上传到 nowStudio

操作步骤:

  • 创建一个 产品发布
  • 我们的运营团队将会对您的应用提交进行审核,如若有需要任何修改或添加补充时,团队将会与您联系。
  • 验证通过后,我们团队就会将您的应用构建上传到各个应用商店。
  • 在您的应用审核通过后,您将收到电子邮件通知。您可以在nowStudio的发布(Release)标签下查看各商店特定的链接。

×
文本已复制到剪贴板
copyLinkText
有疑问?请通过以下方式联系我们: dev-support@now.gg