이 문서는 유저 식별 정보 설정으로 인한 유저 정보의 구성과 단말기 연결의 이해를 돕기 위해 가상의 시나리오를 예시로 들어 설명하는 문서입니다.
앱 최초 설치
SDK를 초기화 하기 위해 유저는 각 플랫폼 별 연동하기 가이드에 명시된 단계에 따라 적용해야 합니다.
유저 로그인
이 섹션은 익명의 유저 프로필 상태에서 식별된 유저 프로필 로 전환되는 과정을 보여줍니다.
1. 유저 식별 정보 설정하기
로그인 이벤트를 기록하기 전에 유저를 구분할 값인 EXTERNAL_ID
값을 유저 식별 정보에 설정 해줍니다. 이 과정을 통해 해당 유저는 익명의 유저 프로필 상태에서 식별된 유저 프로필로 전환되며 통합 ID가 생성되어 어떤 플랫폼에서든 이 유저를 통합 ID를 통해 특정할 수 있게 됩니다.
Java Swift Javascript
Copy DfineryProperties . setIdentity ( DFIdentity . EXTERNAL_ID , "A" )
//다른 식별 정보를 추가로 설정함으로써 유저 식별의 정확도를 높일 수 있습니다.
DfineryProperties . setIdentity ( DFIdentity . EMAIL , "A@igaworks.com" )
DfineryProperties . setIdentity ( DFIdentity . PHONE_NO , "8201012345678" )
...
Copy Dfinery. shared () . setIdentity ( key : DFIdentity.EXTERNAL_ID, value : "A" )
//다른 식별 정보를 추가로 설정함으로써 유저 식별의 정확도를 높일 수 있습니다.
Dfinery. shared () . setIdentity ( key : DFIdentity.EMAIL, value : "jimmy.kang@igaworks.com" )
Dfinery. shared () . setIdentity ( key : DFIdentity.PHONE_NO, value : "821012345678" )
...
Copy Dfinery .setIdentity ( DFIdentity . EXTERNAL_ID , "A" )
//다른 식별 정보를 추가로 설정함으로써 유저 식별의 정확도를 높일 수 있습니다.
Dfinery .setIdentity ( DFIdentity . EMAIL , "A@igaworks.com" )
Dfinery .setIdentity ( DFIdentity . PHONE_NO , "8201012345678" )
2. 유저 프로필 설정하기
식별된 유저 A에 해당하는 설정에 필요한 정보가 있을 경우 유저 프로필 설정을 통해 반영합니다.
유저 프로필은 임의의 키 값을 유저가 콘솔에서 설정해서 반영 가능합니다.
Java Swift Javascript
Copy DfineryProperties . setUserProfile ( DFUserProfile . GENDER , DFGender . MALE )
DfineryProperties . setUserProfile ( DFUserProfile . MEMBERSHIP , "VIP" )
...
Copy Dfinery. shared () . setUserProfile ( key : DFUserProfile.GENDER, value : DFGENDER.MALE )
Dfinery. shared () . setUserProfile ( key : DFUserProfile.MEMBERSHIP, value : "VIP" )
...
Copy Dfinery .setUserProfile ( DFUserProfile . GENDER , DFGender . MALE )
Dfinery .setUserProfile ( DFUserProfile . MEMBERSHIP , "VIP" )
...
3. 로그인 이벤트 기록하기
로그인 이벤트를 기록합니다.
Java Swift Javascript
Copy Dfinery . getInstance () . logEvent ( DFEvent . LOGIN )
Copy Dfinery. shared () . logEvent ( DFEvent.LOGIN )
Copy Dfinery .logEvent ( DFEvent . LOGIN )
유저 로그아웃
이 섹션은 식별된 유저 A가 로그아웃을 하는 과정을 보여줍니다.
1. 로그아웃 이벤트 기록하기
로그아웃 이벤트를 기록합니다.
Java Swift Javascript
Copy Dfinery . getInstance () . logEvent ( DFEvent . LOGOUT )
Copy Dfinery. shared () . logEvent ( DFEvent.LOGOUT )
Copy Dfinery .logEvent ( DFEvent . LOGOUT )
2. 유저 식별 정보를 초기화하기 (선택사항)
만약 식별된 유저 A가 로그아웃한 이후 A에 대해 액션이 타게팅이 되기를 원치 않을 경우 resetIdentity()
API를 호출함으로써 유저 식별 정보를 초기화 합니다.
유저 식별 정보를 초기화 할 경우 기존에 이어지고 있던 이벤트 흐름이 끊기고 단말기와 유저의 연결도 끊기게 되므로 호출에 주의하여 주시기 바랍니다.
만약 그래도 호출하신다면 수집된 이벤트의 반영을 위해 API 호출 전에 반영하고자 하는 이벤트를 먼저 호출한 후 호출하여 주시기를 바랍니다.
Java Swift Javascript
Copy DfineryProperties . resetIdentity ();
Copy Dfinery. shared () . resetIdentity ()
Copy Dfinery .resetIdentity ()
기존 EXTERNAL_ID
를 사용한 로그인
이 섹션은 통합 식별 정보를 설정한 이력이 있는 유저가 다시 같은 EXTERNAL_ID
값을 사용해서 로그인을 하는 과정을 보여줍니다.
1. 유저 식별 정보 설정하기
입력한 EXTERNAL_ID
값이 기존과 동일할 경우 기존에 생성되었던 식별된 유저 A와 단말기가 다시 연결됩니다.
Java Swift Javascript
Copy DfineryProperties . setIdentity ( DFIdentity . EXTERNAL_ID , "A" )
Copy Dfinery. shared () . setIdentity ( key : DFIdentity.EXTERNAL_ID, value : "A" )
Copy Dfinery .setIdentity ( DFIdentity . EXTERNAL_ID , "A" )
2. 로그인 이벤트 기록하기
이벤트의 흐름 또한 기존과 마찬가지로 식별된 유저 A의 이벤트 흐름이 계속해서 이어집니다.
Java Swift Javascript
Copy Dfinery . getInstance () . logEvent ( DFEvent . LOGIN )
Copy Dfinery. shared () . logEvent ( DFEvent.LOGIN )
Copy Dfinery .logEvent ( DFEvent . LOGIN )
다른 EXTERNAL_ID
를 사용한 로그인
이 섹션은 통합 식별 정보를 설정한 이력이 있는 유저가 다른 EXTERNAL_ID
값을 사용해서 로그인을 하는 과정을 보여줍니다.
1. 유저 식별 정보 설정하기
입력한 EXTERNAL_ID
값이 기존과 다를 경우 SDK는 다른 유저로 판단해서 기존에 저장하고 있었던 통합 ID 정보를 모두 삭제하고 새로 설정하게 되며 단말기가 식별된 유저 B로 연결됩니다.
Java Swift Javascript
Copy DfineryProperties . setIdentity ( DFIdentity . EXTERNAL_ID , "B" )
Copy Dfinery. shared () . setIdentity ( key : DFIdentity.EXTERNAL_ID, value : "B" )
Copy Dfinery .setIdentity ( DFIdentity . EXTERNAL_ID , "B" )
2. 유저 프로필 설정하기
유저 프로필은 식별된 유저 B에 반영됩니다.
Java Swift Javascript
Copy DfineryProperties . setUserProfile ( DFUserProfile . GENDER , DFGender . FEMALE )
DfineryProperties . setUserProfile ( DFUserProfile . MEMBERSHIP , "VVIP" )
...
Copy Dfinery. shared () . setUserProfile ( key : DFUserProfile.GENDER, value : DFGender.FEMALE )
Dfinery. shared () . setUserProfile ( key : DFUserProfile.MEMBERSHIP, value : "VVIP" )
...
Copy Dfinery .setUserProfile ( DFUserProfile . GENDER , DFGender . FEMALE )
Dfinery .setUserProfile ( DFUserProfile . MEMBERSHIP , "VVIP" )
...
3. 로그인 이벤트 기록하기
이벤트의 흐름은 새로이 식별된 유저 B의 이벤트 흐름으로 변경됩니다.
Java Swift Javascript
Copy Dfinery . getInstance () . logEvent ( DFEvent . LOGIN )
Copy Dfinery. shared () . logEvent ( DFEvent.LOGIN )
Copy Dfinery .logEvent ( DFEvent . LOGIN )
용어
익명의 유저 프로필
유저 식별 정보를 설정하지 않았을 경우 유저는 익명 유저로 취급됩니다. 예를 들어 웹사이트에 방문했지만 가입하지 않았거나 모바일 앱을 다운로드 했지만 프로필을 만들지 않은 유저가 될 수 있습니다.
처음에 SDK를 통해 유저가 인식되면 SDK에서 생성한 고유 식별자가 발급되어 익명의 유저 프로필이 생성됩니다.
식별된 유저 프로필
아래 식별 정보 유형 중 EXTERNAL_ID
값을 설정할 경우 DFINERY에서 식별된 유저로 취급되며 여러 장치에서 동일한 유저 프로필을 식별할 수 있게 됩니다. 또한 보다 명확한 유저 식별을 위해 유저 이메일, 전화번호 등의 정보를 추가로 설정할 수 있습니다.