2012-08-08 3 views
1

어떻게하면 서버와 클라이언트 쌍을 만들 수 있습니까?Android GCM 서버와 클라이언트를 페어링 하시겠습니까?

Google 클라우드 메시징을 사용하여 메시지를 보내는 서버가 있습니다. 나는 앱을받을 준비가되어있는 Android에도 클라이언트가 있습니다.

하지만 클라이언트에서 장치 ID를 가져 와서 서버에 제공해야합니다. 기기를 쌍으로 연결하는 다른 방법이 있습니까?

여러 대의 장치를 동일한 서버에 연결하고 싶습니다. 가능합니까?

감사

답변

3

당신은 장치 ID (ANDROID_ID 또는 IMEI)와 함께 HTTP 호출을 사용하여 서버에 장치에서 GCM 등록 ID를 보낼 수 있습니다. 서버는 장치와 GCM 등록 ID 간의 매핑을 유지할 수 있습니다. 서버에서 GCM을 보내는 중 : GCM regId, 서버 키 및 프로젝트 ID를 사용합니다. 첫 번째 활동에서

:

if (regId.equals("")) 
{ 
    GCMRegistrar.register(this, Constants.GCM_SENDER_ID); 
} 
else 
{ 
// Send "regId" to server (e.g. using http) 
} 

당신의 GCMIntentService 클래스에서 :

protected void onRegistered(Context arg0, String arg1) 
{ 
    // Send arg1 to server along with some device Id (e.g. ANDROID_ID or IMEI) 
} 

네, 서버와 다른 장치를 페어링 할 수 있습니다. 우리는 우리 서버에 수백 대의 장치를 연결했습니다.

편집 : 코드에서

장치 호출 다음 URL : 서버는 단순히 저장

이/데이터베이스 테이블에 매핑을 업데이트 = http://www.example.com/updateGcm?id= & gcmId. 정확한 서버 측 코드를 제공하지 못하는 것 같습니다. PHP 서버를 사용하고 있습니다 (서버용 병은 사용하지 않음)

+1

페어링을 처리하는 서버 측 코드를 게시 할 수 있습니까? –

+0

업데이트 주셔서 감사합니다. –

관련 문제