그 유명한 네아로를 구현해보자.
사족떼고 구현하는 방법만 딱 적어본다.
https://developers.naver.com/docs/login/android/android.md
사전 준비 ( 앱등록, 클라이언트id , secret) 을 받아온다.
!!주의사항!!
이상한 에러가 발생할수 있다.
내가 발생한 에러와 해결 방법은 다음과 같다.
app단의 deafultConfig을 보면 targetSdk 가 31로 되어있는데 30으로 변경하자.
//Naver
implementation 'com.naver.nid:naveridlogin-android-sdk:4.2.6'
인터넷을 통신해야하니까
<uses-permission android:name="android.permission.INTERNET" />
<com.nhn.android.naverlogin.ui.view.OAuthLoginButton
android:id="@+id/btn_naver"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Activity라면 requireActivity() → this로 변경.
class LoginDialog : Fragment() {
private val mOAuthLoginModule: OAuthLogin = OAuthLogin.getInstance()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// 네이버 아이디로 로그인
mOAuthLoginModule.init(
requireActivity()
,getString(R.string.naver_client_id)
,getString(R.string.naver_client_secret)
,getString(R.string.app_name)
)
binding.btnNaver.apply {
setOAuthLoginHandler(mOAuthLoginHandler)
setBgResourceId(R.drawable.btn_naver)
}
binding.btnNaver.setOnClickListener {
naverLogin()
}
}
private fun naverLogin(){
mOAuthLoginModule.startOauthLoginActivity(requireActivity(), mOAuthLoginHandler)
}
}