Android用SDK / アプリケーション側でSDKを統合する
  ドキュメントに戻る

Android用SDK

アプリケーション側でSDKを統合する

一般的な購入ロジック

  1. 次のいずれかの方法で支払いトークンを取得するロジックを実装します:
    • ストアライブラリを使用します(推奨):
      • 一つのアイテムを購入する場合は、createOrderByItemSkuメソッドを呼び出します。
      • カート内のアイテムを購入するには:
        1. ユーザーがカートを満たした後、fillCurrentCartWithItemsメソッドを呼び出します。
        2. createOrderFromCartByIdまたはcreateOrderFromCurrentCartメソッドを呼び出します。

    • IGS APIを使用します。
    • 独自のサーバーメソッドまたはBaaSソリューションメソッドを使用します。

  1. 決済UIオープン時のロジックを実装します:
Copy
Full screen
Small screen
val intent = XPayments.createIntentBuilder(this)
               .accessToken(<accessToken>)
               .isSandbox(<isSandbox>)
           	.setStatusReceivedCallback(object : StatusReceivedCallback {
               	override fun onSuccess(data: InvoicesDataResponse) {
                   		Log.d(TAG, "StatusReceivedCallback is fired. Result data = $data")
               	}
           	})
           	.build()
お知らせ
実装例として、デモプロジェクトをご覧ください。

決済UIを開くオプション

Android用SDKは、アプリケーション内で決済インターフェイスを表示する3つの方法を提供します。

WebViewCustom TabsTrusted Web Activity
良い点
  • ユーザーにはアプリケーションとウェブページ間の遷移が表示されないため、アプリ内購入プロセスがシームレスになります。
  • 画面上部に標準のツールバーはありません。
  • Googleウォレットおよびその他のデバイス上の決済サービスとネイティブに統合します。これにより、ユーザーはメールアドレスや銀行カードの詳細など、保存されたデータをフィールドに自動的に入力できます。
  • 特殊な背景とフェード効果を使用して、ウェブページへのスムーズな移行をサポートします。
  • Googleウォレットおよびその他のデバイス上の決済サービスとネイティブに統合します。これにより、ユーザーはメールアドレスやクレジットカードの詳細など、保存されたデータをフィールドに自動的に入力できます。
  • 画面の向きをロックできます。
  • 画面上部に標準のツールバーはありません。
悪い点
  • Googleウォレットなどのセキュリティ機能には対応していません。
  • 保存されたデータをフィールドに自動入力しても機能しません。例えば、メールアドレス、クレジットカードの詳細。
  • アプリケーションの上に別のウィンドウでウェブページを開きます。
  • 機能は、ユーザーのデバイス上のChromeブラウザとそのバージョンによって異なります。
  • 画面の向きをロックすることはできません。

WebView表示例:

Custom Tabsの表示例:

Trusted Web Activity表示例:

決済UIの開く方法をセットアップする

SDKはデフォルトでCustom Tabsを使用します。Custom Tabsがユーザーのデバイスで利用できない場合、例えば、適切なブラウザがインストールされていない場合、SDKは自動的に決済UIを開くために他の方法に切り替えます。最初にWebView、次にデフォルトでデバイスにインストールされている外部ブラウザです。

setActivityTypeメソッドを使用して、決済UIを開くための別の主要な方法を設定できます。

例:

Copy
Full screen
Small screen
XPayments.createIntentBuilder(this)
  .accessToken(AccessToken(token))
  .isSandbox(BuildConfig.IS_SANDBOX)
  .setActivityType(ActivityType.TRUSTED_WEB_ACTIVITY)
  .build()

主要な方法が使用できない場合、SDKは次の順序で他の方法に切り替えます:Trusted Web Activity > Custom Tabs > WebView > デフォルトでデバイスにインストールされている外部ブラウザ。

注意

Trusted Web Activityを決済インターフェースを開く主な方法としてインストールする場合は、カスタマーサクセスマネージャーに連絡するか、csm@xsolla.comまでメールを送信してください。

以下の情報が必要です:

Trusted Web Activityの詳細については、Googleドキュメントを参照してください。

決済UIに閉じるボタンをセットアップする

WebViewとTrusted Web Activityでは、ブラウザバーと標準ナビゲーション要素がユーザーに表示されないため、決済UIに閉じるボタンを設定することをお勧めします。これを行うには、ui.mobileパラメータのPaymentOptionsオブジェクトで、closeButton=trueパラメータを持つmobile = UiMobileProjectSettingHeaderオブジェクトを渡します。

ボタンに表示されるアイコンを選択できます。これを行うには、closeButtonIconパラメータに次のいずれかの値を渡します:

  • “arrow”アイコンを表示する
  • “cross”×アイコンを表示する(デフォルトで使用される)

PaymentOptionsオブジェクトの例:

Copy
Full screen
Small screen
val paymentOptions = PaymentOptions(
            isSandbox = isSandbox,
            settings = PaymentProjectSettings(
                ui = UiProjectSetting(mobile = MobileSettings(header = UiMobileProjectSettingHeader(closeButton = true, closeButtonIcon = "arrow"))),
                returnUrl = "app://xpayment.${getApplication<Application>().packageName}",
                redirectPolicy = SettingsRedirectPolicy(
                    redirectConditions = "any",
                    delay = 5,
                    statusForManualRedirection = "any",
                    redirectButtonCaption = "Back to the Game"
                )
            )
        )

WebViewとTrusted Web ActivityでのcloseButtonとcloseButtonIconパラメータの使用例:

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
最終更新日: 2024年9月5日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!