비바톤 앱 SDK
비바톤 앱 SDK는 Android와 iOS 앱에서 익명인증 흐름을 직접 호출할 수 있는 모듈입니다.
사전작업에서 발급받은 Client 정보와 redirect_uri로 SDK를 초기화하고, 반환된 adult_flag를 앱 로직에 연결합니다.
01 Android 적용하기
SDK 압축 파일을 내려받아 .aar 파일을 프로젝트에 추가한 뒤, build 설정과 Activity 코드를 연결합니다.
Download
- 다운받은 SDK의
.aar파일을app/libs경로에 추가합니다. 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 적용하기
framework 파일을 프로젝트에 추가하고 info.plist 설정 후, ViewController에서 비바톤 화면을 present 합니다.
Download
- 다운받은 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 {
@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
기본 반환값은 adult_flag입니다. 서비스 정책에 맞는 추가 인증 항목은 동일한 전달 구조 위에서 확장할 수 있습니다.