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