アプリケーション側でSDKを統合する
一般的な購入ロジック
- 次のいずれかの方法で支払いトークンを取得するロジックを実装します:
- ストアライブラリを使用します(推奨):
- 一つのアイテムを購入する場合は、
createOrderByItemSku
メソッドを呼び出します。 - カート内のアイテムを購入するには:
- ユーザーがカートを満たした後、
fillCurrentCartWithItems
メソッドを呼び出します。 createOrderFromCartById
またはcreateOrderFromCurrentCart
メソッドを呼び出します。
- ユーザーがカートを満たした後、
- 一つのアイテムを購入する場合は、
- ストアライブラリを使用します(推奨):
- IGS APIを使用します。
- 独自のサーバーメソッドまたはBaaSソリューションメソッドを使用します。
- 決済UIオープン時のロジックを実装します:
- kotlin
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つの方法を提供します。
WebView | Custom Tabs | Trusted Web Activity | |
---|---|---|---|
良い点 |
|
|
|
悪い点 |
|
|
|
WebView表示例:
Custom Tabsの表示例:
Trusted Web Activity表示例:
決済UIの開く方法をセットアップする
SDKはデフォルトでCustom Tabsを使用します。Custom Tabsがユーザーのデバイスで利用できない場合、例えば、適切なブラウザがインストールされていない場合、SDKは自動的に決済UIを開くために他の方法に切り替えます。最初にWebView、次にデフォルトでデバイスにインストールされている外部ブラウザです。
setActivityType
メソッドを使用して、決済UIを開くための別の主要な方法を設定できます。
例:
- kotlin
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までメールを送信してください。
以下の情報が必要です:
- アプリケーションの署名証明書のSHA256フィンガープリント
- アプリケーションID
Trusted Web Activityの詳細については、Googleドキュメントを参照してください。
決済UIに閉じるボタンをセットアップする
WebViewとTrusted Web Activityでは、ブラウザバーと標準ナビゲーション要素がユーザーに表示されないため、決済UIに閉じるボタンを設定することをお勧めします。これを行うには、ui.mobile
パラメータのPaymentOptions
オブジェクトで、closeButton=true
パラメータを持つmobile = UiMobileProjectSettingHeader
オブジェクトを渡します。
ボタンに表示されるアイコンを選択できます。これを行うには、closeButtonIcon
パラメータに次のいずれかの値を渡します:
“arrow”
— ←アイコンを表示する“cross”
— ×アイコンを表示する(デフォルトで使用される)
PaymentOptionsオブジェクトの例:
- kotlin
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パラメータの使用例:
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。