Android2011. 1. 24. 13:49

Bump란?
가속도 센서가 있는 두 개의 단말기를 서로 부딪혀 양 단말기를 인식한 후, 다양한 형태의 데이터(연락처, 이미지, 사용자 데이터 등)를 교환할 수 있는 서비스입니다.

동작방식
1. Bump는 블루투스나 적외선 통신이 아닌, Wifi, 3G 등을 이용합니다.
2. 서로의 단말기를 인식하기 위해, 각각의 단말기의 부딪힌 시간, 위치, 각도를 Bump 서버로 송신을 합니다.
Bump서버는 두 개의 단말기에서 받은 정보를 매칭 알고리즘을 사용하여 인지한 후, 각각의 단말기에 매칭3. 결과가 옳은지 서로의 단말기에 질의를 합니다.
4. 질의를 받은 두 사용자 모두 커넥션을 허가할 경우 통신을 시작합니다.
5. 주고 받는 데이터는 모두 Bump 서버를 통합니다.



Licence
Bump는 무료다. 
Bump아이콘과 Bump Trademark를 사용하는 몇몇 제약들이 있지만, 이러한 간단한 요소들만 침해하지 않으면 무료로 사용할 수 있습니다. Bump 홈페이지에는 아래와 같이 무료 사용 라이센스와 관련된 문구가 있습니다.

 
We Can…
아이폰과 안드로이드폰 간에 통신이 가능하다. 
아이폰과 안드로이드 폰에 동일한 API Key를 사용하는 App.을 개발 및 설치를 한다면 서로 매칭 및 통신이 가능합니다. 개발 시, 전송하는 Data의 Format만 고민하면 됩니다.

Binary Data도 전송이 가능하다. 
이미지 및 사용자가 정의한 Binary형식도 전송이 가능합니다. 모든 데이터는 Byte Array형식으로 전송합니다.

We Cannot…

256KB보다 큰 사이즈는 송수신할 수 없다. 
256KB를 넘는 이미지를 전송하면, 에러가 발생합니다. 안드로이드에서는 아래와 같은 에러메시지가 출력됩니다.



실제로 Bump 공식 App에서 2MB를 넘는 이미지를 전송하면, 수신측으로 전송되는 이미지는 100KB 안 팎으로 압축(JPEG)되어 있음을 확인했습니다.
 
Bump API는 SDK 형태로 제공되고, 웹 URL형식으로는 제공되지 않기 때문에 SDK가 제공되는 플랫폼에서만 개발이 가능합니다. 즉, iOS, Android OS에서만 개발이 가능합니다.

실제 샘플 코드는 다음에 정리해서 올리겠습니다. ^^

참고자료
Bump 공식 사이트 : http://bu.mp

Posted by 데브로망스