Android용 SDK / 응용 프로그램 측 SDK 통합
  문서로 돌아가기

Android용 SDK

응용 프로그램 측 SDK 통합

일반 구매 로직

  1. 결제 토큰을 가져오는 로직을 구현하는 방법:
    • Store 라이브러리 사용(권장 사항):
      • 단일 아이템을 구매할 경우 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가지 방법을 제공합니다:

WebView사용자 정의 탭Trusted Web Activity
장점
  • 사용자가 애플리케이션과 웹 페이지 간의 전환 상태를 볼 수 없으므로 인앱 구매 프로세스를 원활하게 합니다.
  • 화면 상단에는 표준 툴바가 없습니다.
  • 기본적으로 Google Wallet 및 다른 온디바이스 결제 서비스와 기본적으로 통합합니다. 사용자는 이를 통해 저장된 데이터(예: 이메일 및 은행 카드 내역)를 필드에 자동 입력할 수 있습니다.
  • 특수 배경 및 페이드 효과를 사용하여 웹 페이지로의 부드러운 전환을 지원합니다.
  • 기본적으로 Google Wallet 및 다른 온디바이스 결제 서비스와 기본적으로 통합합니다. 사용자는 이를 통해 저장된 데이터(예: 이메일 및 은행 카드 내역)를 필드에 자동 입력할 수 있습니다.
  • 화면 방향 잠금 기능을 활성화합니다.
  • 화면 상단에는 표준 툴바가 없습니다.
단점
  • Google Wallet과 같은 보안 기능은 지원하지 않습니다.
  • 저장한 데이터(예: 이메일, 은행 카드 내역)를 자동으로 필드에 입력하는 기능이 작동하지 않습니다.
  • 애플리케이션을 오버레이하는 별도의 창에서 웹 페이지를 엽니다.
  • 기능은 사용자 장치의 Chrome 브라우저와 그 버전에 따라 다릅니다.
  • 화면 방향 잠금 기능을 활성화하지 마십시오.

WebView 표시 예시:

사용자 정의 탭 표시 예시:

Trusted Web Activity 표시 예시:

결제 UI 열기 방법 설정

기본적으로 SDK는 사용자 정의 탭을 사용합니다. 사용자 장치에서 사용자 정의 탭을 사용할 수 없는 경우(예: 적합한 브라우저가 설치되어 있지 않은 경우), 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 > 사용자 정의 탭 > 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일

오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

문제 보고
콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
후속 조치를 위해 이메일을 제공해 주세요
의견을 보내 주셔서 감사드립니다!