돈 1원도 안쓰고 공짜로 폰번호 문자 인증 서비스 만들기

요즘 나오는 앱서비스들을 보면 폰번호 인증을 위해서


사용자가 입력한 폰번호로 SMS를 6자리의 숫자코드를 포함하여 보내고 


그 값을 입력하게 하여 폰번호를 인증하는 절차를 넣는 경우가 대부분입니다.



이 기능 자체를 구현하는것은 사실 크게 어려움이 있는 것은 아닙니다.


다만 SMS 발송을 위한 여러 절차들이 꽤나 번거롭고 귀찮은 일입니다.



SMS 발송을 위해 SMS 발송업체와 계약 절차를 진행해야되고,


세금계산서 발행을 해야하고,


SMS를 보낼수 있는 잔액이 충분히 있는지 주기적으로 체크를 해주어야 합니다.


게다가 SMS 제공업체의 서비스가 살아있는지도 확인할수 있어야하고,


새로운 업체와 계약을 할때마다 api document를 읽고 새로 만들어야하는것도 일입니다.



그리고 물론 기쁜 일이지만,


사용자가 늘면 늘수록 문자비용도 점점 늘어나게되지요.




이러한 고민을 쉽게 해결할수 있도록 해주는 유용한 서비스가 있습니다.





facebook account kit이라고 불리는 서비스입니다.



페이스북에서 제공하는 sdk인데 꽤나 유용합니다.


실제로 전세계적으로 많은 앱들이 사용하고 있습니다.



사실 이러한 무료 SDK를 적용할때 가장 고민되는 부분중에 하나는


"UI, UX 커스터마이징이 되나? 우리 앱에 자연스럽게 녹아들었으면 좋겠는데?"



물론 100% 만족할수는 없습니다.


약간의 완벽한 UI, UX를 포기하는 대신에


다른 관리적인 측면에서의 장점을 얻으실수 있습니다. 비용적인 측면을 포함해서요.



https://developers.facebook.com/success-stories


여기에 나와있는 많은 회사들이 쓰고 있으니


다른 앱에서 얼만큼 자연스럽게 쓰고 있는지 비교해보시는 것도 좋습니다.



그래도 다행인건 인증과정은 페이스북이 제공하는 UI, UX를 사용해야 하지만


그 UI에 페이스북 로고가 큼지막하게 박혀있다거나 그렇지는 않습니다.


그리고 약간의 색상 커스터마이징이 가능합니다.





사용에 있어서 장점은 더 무궁무진하게 많습니다.



1. 지원되는 국가가 많습니다.


적어도 페이스북이 지원하고 있는 국가는 모두 다 지원한다고 봐도 되겠죠?



2. 문자 수신이 안정적입니다.


저는 동남아시아 지역에서 현지 업체의 SMS API를 사용하기도 했었는데


실제 문자 수신률이 들쑥날쑥하더군요


그래서 문자인증을 통과하지 못해 가입과정에서 많은 이탈률을 보았는데


페이스북 어카운트킷을 적용하고는 훨씬 나아졌습니다.



3. 비용이 들지 않습니다.


100% 무료는 아니고 월 100,000건의 발송량 제한이 있습니다만


이정도면 매우 훌륭합니다.


여러분이 한건에 약 11원씩 문자를 발송하고 있다고치면


월 10만건을 보내는 경우 약 110만원의 비용이 드는건데


이 비용을 절감하실수 있습니다.



4. 여러가지의 인증보조도구를 제공합니다.


문자메시지를 통한 인증이 가능하고,


문자를 수신하지 못하였을때


사용자가 직접 전화를 수신하여 인증을 할 수 있는 보조수단을 제공하고 있습니다.


그리고 현재는 지원이 되는것 같지는 않지만


조만간 왓츠앱을 통한 인증도 자동으로 포함하게될것 같습니다.



그리고 이미 사용자가 같은 폰에 페이스북을 설치하였고,


페이스북 로그인이 되어있는 계정에 인증받은 폰번호가 있다면


별도의 인증과정을 거치지 않고 자동적으로 인증이 완료됩니다.




이같은 장점만 보아도 사용할만한 충분한 메리트가 있지 않나요?



인증하는 과정에서 발송되는 인증코드 번호를 앱제공자가 알수 있거나 지정할 수는 없지만


최종적으로 인증을 받은 폰번호를 전달받게되기 때문에 큰 불편함은 없습니다.


오히려 인증번호를 생성하는 과정은 굳이 만들지 않아도되서 더욱 편합니다.








대략적으로 중요한 부분은 위와 같습니다.


accountkit이 노출될 액티비티를 android manifest파일에 적어주어야하고


해당 액티비티에 적용될 스타일을 만들어 정의하면 됩니다.


적용할수 있는 스타일 이름값들은


https://developers.facebook.com/docs/accountkit/android/customizing


여기에 자세하게 정리되어있습니다.




한가지 주의할 점은 SDK 매뉴얼에 언급되어있지는 않지만


implementation "com.google.android.gms:play-services-auth:16.0.0"


이것을 포함하셔야지 빌드할때 에러가 발생하지 않습니다.




그럼 즐거운 개발하시길바랍니다.


| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ··· | 1788 |