♣ Tech & Biz Salon/Tech

앱 서버 프로토콜 정의시 버젼 업그레이드에 대한 대비

TasteGod 2012. 5. 11. 14:00
API에 프로토콜 URL 앞부분을 전달하는 인터페이스가 있으면 좋다.

각 처리단에서 앱버젼에 따라 따로 처리하는것도 가능하지만,

자바단의 패키지구성도 분리하고...
깔끔하게 url 앞단을 분리해서 Controller 자체를 다르게 타게 하는 것이 더 깔끔할 수 있다.

이렇게 URL 앞부분을 버젼에 따라 동적으로 가게하면 버젼 업그레이드때에 좋다
( 서버 응답 스펙이 바뀌거나, 새로운 DB를 보게 하는 등...)

   - 아이폰 : 심사받는 새버젼과 구버젼앱이 모두 서비스가 되어야 한다.
                  즉 서버단에서 앞부분 url 을 새버젼일때는 테스트베드 url 을 던져주면 고민 끝.

   - 안드로이드 : 안드로이드 마켓에 올릴 경우 심사기간이 없어서 새버젼 위주로 고려하고, 
                       구버젼은 업그레이드하라고 공지뜨고 정상서비스 안해도 되므로 별거 없을수 있음.
                        ( 대신 업그레이드 예정이라고 미리 공지해두면 좋은데, 
                          이때는 앱버젼과 서버버젼 비교해서 적정히 리턴하는 인터페이스가 있으면 좋을 것임 )
   
끝으로 예를 들면

api_id : getServerPreUrl
return 값 : 구버젼 일때 - http://app.acme.com/ 
               새버젼 일때 -  http://apptest.acme.com/

버젼 고려한 방법은 이런 방법외에도 또 있을거 같지만, 이 정도면 무난한 듯함.