안드로이드에서 PUSH메세지를 날리려면 어떻게 해야할까요?

C2DM을 쓰면 비교적 간단하다고는 하는데, 

구글계정이 등록되어있지 않은 폰은 사용이 불가능하고, 

모든 사용자의 메일과 해당 키를 모두 저장하고 있어야 하는군요; 

그리고 전송이 제대로 안되는 경우가 있다고 하는데.. 

좋은 방법이 없을까요? 

그리고 만약 C2DM을 쓴다고 하면 해당 어플에서 이를 통해 받은 정보를 컨트롤 가능한지요? 

아시는분 계시면 도움 좀 주세요~