マルチストア決済の設定

now.gg決済モジュールは、nowStudioを利用したマルチストア公開機能を活用する際に、マルチストア決済のサポートを提供します。

このドキュメントでは、マルチストア決済を有効にするための手順を説明します。

前提条件

マルチストア決済を有効にするには、以下の要件を満たす必要があります:


1. 対応ストア

現在対応しているストアは以下の通りです:

  • now.gg 提供
    • クラウドストア
    • BlueStacks ストア
  • 代替案
    • Samsung Galaxy Store
    • Xiaomi GetApps
    • ONE Store
    • Amazon Appstore
    • Huawei AppGallery (近日公開)


2. ストア別セットアップ

決済モジュールを統合した後、最終的なAPKを提供する前に、以下のストア別の変更を最終ビルドに含めてください。

ストアの選択に応じて、以下の手順を参照してください。

2.1 Samsung Galaxy ストア

Samsung Galaxy ストア向けにアプリビルドを作成するには、以下の手順を実行してください。

2.1.1 ライブラリの追加

ダウンロードした nowSDK パッケージ から、以下の手順に従って Samsung ストア専用のライブラリをプロジェクトの libs ディレクトリに追加してください:
注:now.gg SDK パッケージには、Payments モジュール、デモアプリ、およびサンプルコードが含まれています。

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 Xiaomi GetApps

Xiaomi GetApps用のアプリビルドを作成するには、以下の手順を実行してください。

2.2.1 依存関係の追加

モジュール/アプリレベルのbuild.gradleに以下の依存関係を追加してください:

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

2.2.2 署名付きビルド(空のAPK)

Xiaomiは検証のために署名された空のAPKを要求します。以下の手順でそのプロセスを説明します。

重要な情報

  • 署名された空のAPKは初回の提出時のみ必要です。
  • アプリがGoogle Playに公開されている場合は、同じキーストアを使用することを推奨します。
  • Unityユーザー: UnityではEdit > Project Settings > Player > Publishing Settingsを通じてキーストア署名を統合します。ビルド前に正しいキーストアとエイリアスが設定されていることを確認してください。
1. 空のAPKをダウンロード

こちらをクリックして空のAPKをダウンロードしてください。

2. キーストアを生成(未所持の場合)

次のサンプルコマンドはその手順を示します:

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

重要な情報

  • アプリがGoogle Playに公開されている場合は、同じキーストアを使用することを推奨します。
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 以前に生成したキーストアを使用します。
your-app.apk 実際のAPKファイル名に置き換えてください。
your-key-alias キーストア作成時に使ったエイリアスと一致させてください。
4. 署名済みAPKを共有

署名済みの空APKをdev-support@now.ggに「Xiaomi – Signed Empty APK」という件名で送信してください。



2.3 ONE Store

ONE Store用のアプリビルドを作成するには、以下の手順を実行してください。

2.3.1 依存関係の追加

モジュール/アプリレベルのbuild.gradleに以下の依存関係を追加してください:

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

2.3.2 ルート build.gradle / settings.gradle の更新

ルートのbuild.gradleまたはsettings.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 を生成

当社が提供した暗号化キーを使って、以下のコマンドを実行してください。プロンプトが表示されたら、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 Appstore

Amazon Appstore用のアプリビルドを作成するには、以下の手順を実行してください。

2.4.1 PEMファイル

Amazonでは、Amazon Appstoreとアプリ間の安全な通信チャネルを確立するために、アプリ固有の公開鍵を含むPEMファイルが必要です。

  • PEMファイルを取得するには、dev-support@now.ggまでご連絡ください。
  • 以下の手順に従ってPEMファイルを含めてください。
  • ネイティブAndroid:
    • Android Studioプロジェクトのapp/src/main/assetsディレクトリにPEMファイルを貼り付けます。
      注意:アプリに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 Huawei AppGallery (近日公開予定)

Huawei AppGallery用のアプリビルドを作成するには、以下の手順を実行してください。

2.5.1 ネイティブAndroid

1. 依存関係の追加

モジュール/アプリレベルの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.gradle または settings.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>

注意: HUAWEI_APP_IDdev-support@now.gg までお問い合わせください。


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

カスタムランチャーマニフェストを有効にする。

実施方法:

  • Project Settings > 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>
    

注意: HUAWEI_APP_IDdev-support@now.gg までお問い合わせください。



3. 最終APKの提出

最終APKを準備した後、nowStudioにビルドをアップロードしてください。

方法:

  • プロダクションリリースを作成
  • 運用チームがアプリの提出内容を確認し、修正または要件について連絡します。
  • 検証後、チームがアプリビルドを各種ストアにアップロードします。
  • アプリが承認されると、メールで通知され、nowStudioのリリースタブでストア固有のリンクを参照できます。
×
テキストがクリップボードにコピーされました。
copyLinkText
ご不明な点がございましたら、お気軽にお問い合わせください。 dev-support@now.gg