Telegram API 사용하기 4번째 이번엔 전화번호 인증방법을 알아보겠다.
※Telegram API가 아닌 TDLib(Telegram Database Library)를 이용한 포스팅입니다.
혼선을 드린점 양해 부탁드립니다.
이전 포스팅은 하기 링크에서 각각 확인 가능하다.
2022.03.05 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기 - 1
2022.03.05 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기 - 2
2022.03.06 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기 - 3
이전 포스팅에서 authorizationStateWaitPhoneNumber가 전달되는 것까지 확인하였다.
document에 설명은 하기와 같고 구글 번역을 하면 인증이 필요한데 전화번호 또는 QR을 이용해서 로그인을 해야 한다는 얘기다.
TDLib needs the user's phone number to authorize. Call setAuthenticationPhoneNumber to provide the phone number, or use requestQrCodeAuthentication, or checkAuthenticationBotToken for other authentication options. TDLib은 승인을 위해 사용자의 전화번호가 필요합니다. setAuthenticationPhoneNumber를 호출하여 전화 번호를 제공하거나 requestQrCodeAuthentication을 사용하거나 다른 인증 옵션에 대해 checkAuthenticationBotToken을 사용합니다. |
전화번호를 전송하는 코드는 매우 간단하다.
fun sendPhoneNumber() {
val settings = TdApi.PhoneNumberAuthenticationSettings()
client.send(TdApi.SetAuthenticationPhoneNumber("81101234567", settings)) {
when(it.constructor) {
TdApi.Ok.CONSTRUCTOR -> {}
TdApi.Error.CONSTRUCTOR -> {}
}
}
}
코드를 보면 PhoneNumberAuthenticationSettings값을 함께 전송하게 되어있는데 공식문서에 설명을 보고 세팅해서 사용하면 된다. 참고로 Default값을 사용해도 특별한 문제는 발생하지 않아 보인다.
번호 같은 경우는 국가별 접속 코드를 함께 전송해야 하며 예를 들어 한국 기준으로 번호가 010-1234-5678이면 821012345678 이런 형식으로 전달하면 된다.
이렇게 전달하게 되면 본인이 로그인되어 있는 Telegram 메신저로 인증코드가 전달이 된다.
Telegram을 사용할 수 없을 때 SMS로 전달받을 수 있어야 하는데 TDLib에는 그런 기능이 없는 건지 아직 찾지 못했다.
좀 더 검토 후 추가 포스팅하도록 하겠다!
전달된 인증코드를 CheckAuthenticationCode 메서드를 통해 전달하면 인증이 완료된다.
fun sendCode(code: String ) {
client.send(TdApi.CheckAuthenticationCode(code)) {
}
}
다음 포스팅에는 인증 완료 후에 할 수 있는 기능 중에 현재 채팅 리스트를 가져오는 방법을 알아보도록 하겠다.
'Develop > Android' 카테고리의 다른 글
[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 6 (메시지보내기) (2) | 2022.03.12 |
---|---|
[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 5 (채팅리스트) (5) | 2022.03.10 |
[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 3 (인증상태 확인) (1) | 2022.03.06 |
[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 2 (0) | 2022.03.05 |
[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 1 (0) | 2022.03.05 |
댓글