Android 적용하기
1. 다운받은 SDK (.aar 파일) 을 다음 경로에 붙여넣습니다.
${android_project_root}/app/libs
2. ${android_project_root}/app/build.gradle 에 다음 내용을 추가합니다.
dependancies {
implementaion files(‘libs/bbaton-sdk.aar’)
}
3. 비바톤 로그인을 적용하는 Activity에서 다음과 같이 적용하면 됩니다. (예제의 Activity 이름은 BbatonLoginActivity)
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); intent.putExtra("clientId", "BBATON가입 시 전달받은 client_id"); intent.putExtra("clientSecret", "BBATON가입 시 전달받은 client_secret"); intent.putExtra("redirectUri", "BBATON가입 시 입력한 redirect_uri"); startActivityForResult(intent, 1);//SDK 호출 } //SDK 결과 값 @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");//성인 여부 } }
iOS 적용하기 (xCode 12.5 기준)
1. 다운받은 SDK를 xCode의 Project Explorer에서 프로젝트 선택 > General > Frameworks and Libraries에 프레임워크 추가
2. info.plist 에 다음 요소 추가
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
3. 앱을 사용하려는 ViewController 에서 다음과 같이 적용하면 됩니다. (예제의 ViewController 이름은 ViewController)
import UIKit import BbatonIOSFramework class ViewController: UIViewController, BbatonDelegate { override func viewDidLoad() { super.viewDidLoad() } //버튼 클릭 시 비바톤 로그인 창 팝업 @IBAction func toBbatonLogin(_ sender: Any) { let s = UIStoryboard(name: "Bbaton", bundle: Bundle(for: BbatonViewController.self)) //ClientId, Secret, redirectUrl 설정 let vc: BbatonViewController = s.instantiateViewController(withIdentifier: "BbatonViewController") as! BbatonViewController vc.clientId = "BBATON가입 시 전달받은 client_id"; vc.clientSecret = "BBATON가입 시 전달받은 client_secret"; vc.redirectUrl = "BBATON가입 시 입력한 redirect_uri"; vc.delegate = self self.present(vc, animated: true, completion: nil) } //BbatonDelegate의 sendUserData를 통해 데이터를 받음 func sendUserData(adult_flag: String?) { //전달되는 Value는 모두 Optional 형식 let adultFlag = adult_flag //성인여부 } }