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 //성인여부
}
}