비바톤 앱 SDK
비바톤 앱 SDK는 Android와 iOS 앱에서 익명인증 흐름을 직접 호출할 수 있도록 제공되는 모듈입니다. 사전작업에서 발급받은 Client 정보와 redirect_uri를 기준으로 SDK를 초기화하고, 인증 결과값을 앱 로직에 연결하는 방식으로 적용합니다.
01 Android 적용하기
Android는 SDK 압축 파일을 내려받아 .aar 파일을 프로젝트에 추가한 뒤, build 설정과 Activity 코드를 연결하는 방식으로 적용합니다.
Download
Android SDK 다운로드(.zip)
- 다운받은 SDK의
.aar파일을${android_project_root}/app/libs경로에 추가합니다. ${android_project_root}/app/build.gradle에 로컬 라이브러리 참조를 등록합니다.- 비바톤 로그인을 호출할 Activity에서
clientId,clientSecret,redirectUri를 전달해 SDK를 실행합니다.
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 하는 구조로 적용합니다.
Download
iOS SDK 다운로드(.zip)
- 다운받은 framework를 Xcode의
Frameworks and Libraries에 추가합니다. info.plist에 App Transport Security 설정을 반영합니다.- 호출하려는 ViewController에서
BbatonViewController를 생성하고 delegate로 결과값을 받습니다.
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를 반환값으로 안내합니다. 이후 서비스 정책에 맞는 추가 인증 항목은 동일한 전달 구조 위에서 확장하는 방식으로 설계할 수 있습니다.