CloudKit 으로 로그인 과정 개선하기
유저에게 아무것도 묻지 말기
원문: https://medium.com/@skreutzb/ios-onboarding-without-signup-screens-cb7a76d01d6e
활성 사용자(Active User)의 수를 높이는 여러가지 방법 중에서도, Activation Funnel을 개선하는 것 만큼 중요한 것이 없습니다. 매일 100명의 새로운 유저가 앱을 다운받더라도, 로그인에 성공하는 유저가 10명 미만이라면 제품을 개선하는 모든 일은 헛수고라고 할 수 있습니다.
앱을 사용하려고 다운로드를 하는 유저들이 로그인에 성공하지 못하는 이유는, 서비스가 가입을 위해 꽤 많은 정보 입력을 요구하기 때문입니다. 이메일이나 전화번호, 이름과 같은 정보는 유저를 식별하기 위해서 꼭 필요한 정보일 수 있는데, 이를 입력하는 과정에서 많은 이탈이 일어납니다.
iOS의 CloudKit은 이 문제를 해결할 수 있는 꽤 괜찮은 수단을 제공하고 있습니다. CKRecordID라는 클래스는 유저의 iCloud 정보를 저장하는 데 사용되는데, 이중 recordName이라는 프로퍼티가 유저의 identifier 역할을 할 수 있습니다.
CKRecordID.recordName은 아래와 같은 특징을 지닙니다.
- 동일한 앱, 동일한 iCloud 계정이라면 모든 기기에서 같은 값을 가진다.
- 앱을 지웠다가 깔아도 유지된다.
따라서, 이는 유저의 ID를 대신할 수 있는 충분한 조건을 가지고 있습니다.
유저에게 ID, 이메일과 같은 값을 받지 않고 가입시킬 수 있다면, 로그인 과정을 드라마틱하게 개선할 수 있을 것이라고 생각합니다. 가입 시에 어쩔 수 없이 많은 정보 입력을 필요로 하는 앱이라도, 유저의 재설치나 기기변경에 대응하는 훌륭한 수단이 될 수 있을 것입니다.
