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

Android用SDK

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

一般的な購入ロジック

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

  1. 決済UIオープン時のロジックを実装します:
お知らせ
実装例として、デモプロジェクトをご覧ください。
Copy
Full screen
Small screen
vmPurchase.paymentToken.observe(this) { token ->
    val intent = XPayments.createIntentBuilder(this)
        .accessToken(AccessToken(token))
        .isSandbox(BuildConfig.IS_SANDBOX)
        .useWebview(true)
        .build()
    startActivityForResult(intent, RC_PAYSTATION)
}
  1. 支払い結果の処理を実装します:
Copy
Full screen
Small screen
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == RC_PAYSTATION) {
        val (status, _) = XPayments.Result.fromResultIntent(data)
        when (status) {
            XPayments.Status.COMPLETED -> showSnack(getString(R.string.payment_completed))
            XPayments.Status.CANCELLED -> showSnack(getString(R.string.payment_cancelled))
            XPayments.Status.UNKNOWN -> showSnack(getString(R.string.payment_unknown))
        }
    }
}
お知らせ
実装例として、デモプロジェクトをご覧ください。

決済UIを開くオプション

XPayments.createIntentBuilderメソッドに渡されるパラメータに応じて、決済UIはWebViewまたはカスタムタブで開かれます。

useWebview(true)パラメータが渡された場合、決済UIを開くために常にWebViewが使用されます。

カスタムタブは、以下の条件を満たす場合に使用されます:

  • XPayments.createIntentBuilderを呼び出すときに、useWebviewパラメータが渡されないか、useWebview(false)が渡されます。
  • ユーザーのデバイスは、デフォルトで以下のブラウザのいずれかを使用しています:
    • Google Chrome
    • Samsungブラウザ
    • Huaweiブラウザ

異なるブラウザが使用されている場合、XPayments.createIntentBuilderメソッドのパラメータに関係なく、決済UIはWebViewで開きます。

WebViewでは、ユーザーはブラウザバーや標準的なナビゲーション要素を表示しません。このため、アプリ内課金のプロセスがシームレスに行われます。しかし、アプリケーションを修正し、アイコンを追加して、ユーザーが購入のどの段階でも決済UIを閉じることができるようにする必要があります。修正例はデモアプリケーションを参照してください。

カスタムタブでは、ユーザーはアイコンをクリックして決済UIを閉じることができます。

WebViewの使用例:

カスタムタブの使用例:

進捗状況
ご意見ありがとうございました!
最終更新日: 2024年3月21日

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

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