BBATON 연결 가이드

비바톤 앱 SDK

비바톤 앱 SDK는 Android와 iOS 앱에서 익명인증 흐름을 직접 호출할 수 있도록 제공되는 모듈입니다. 사전작업에서 발급받은 Client 정보와 redirect_uri를 기준으로 SDK를 초기화하고, 인증 결과값을 앱 로직에 연결하는 방식으로 적용합니다.

지원 플랫폼Android · iOS
배포 형식.aar · .framework
필수 값clientId · clientSecret · redirectUri
기본 반환값adult_flag

01 Android 적용하기

Android는 SDK 압축 파일을 내려받아 .aar 파일을 프로젝트에 추가한 뒤, build 설정과 Activity 코드를 연결하는 방식으로 적용합니다.

Gradle
AndroidCOPY ↗
dependencies {
    implementation files('libs/bbaton-sdk.aar')
}
Java
Android ActivityCOPY ↗
import com.bbaton.android.sdk.BbatonSdk;

public class BbatonLoginActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent bbatonIntent = new Intent(BbatonLoginActivity.this, BbatonSdk.class);
        bbatonIntent.putExtra("clientId", "BBATON가입 시 전달받은 client_id");
        bbatonIntent.putExtra("clientSecret", "BBATON가입 시 전달받은 client_secret");
        bbatonIntent.putExtra("redirectUri", "BBATON가입 시 입력한 redirect_uri");
        startActivityForResult(bbatonIntent, 1);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
            String adultFlag = data.getStringExtra("adult_flag");
        }
    }
}

02 iOS 적용하기

iOS는 framework 파일을 프로젝트에 추가하고, info.plist 설정 후 ViewController에서 비바톤 화면을 present 하는 구조로 적용합니다.

Info.plist
iOSCOPY ↗
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Swift
ViewControllerCOPY ↗
import UIKit
import BbatonIOSFramework

class ViewController: UIViewController, BbatonDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func toBbatonLogin(_ sender: Any) {
        let storyboard = UIStoryboard(name: "Bbaton", bundle: Bundle(for: BbatonViewController.self))
        let vc = storyboard.instantiateViewController(withIdentifier: "BbatonViewController") as! BbatonViewController
        vc.clientId = "BBATON가입 시 전달받은 client_id"
        vc.clientSecret = "BBATON가입 시 전달받은 client_secret"
        vc.redirectUrl = "BBATON가입 시 입력한 redirect_uri"
        vc.delegate = self
        present(vc, animated: true, completion: nil)
    }

    func sendUserData(adult_flag: String?) {
        let adultFlag = adult_flag
    }
}

03 전달값과 설정 포인트

앱 SDK는 사전작업에서 발급된 값을 그대로 사용합니다. Android와 iOS 모두 동일한 인증 정보를 전달하고, 결과값은 앱 내부 로직에서 필요한 방식으로 후처리하면 됩니다.

항목
설명
구분
비고
01
clientId
필수
연결신청 후 발급
02
clientSecret
필수
보안 관리 필요
03
redirectUri
필수
사전 등록 경로와 동일해야 함
04
adult_flag
반환값
성인 여부 확인 값
Return 앱 SDK 예제에서는 기본적으로 adult_flag를 반환값으로 안내합니다. 이후 서비스 정책에 맞는 추가 인증 항목은 동일한 전달 구조 위에서 확장하는 방식으로 설계할 수 있습니다.