<permission android:name="앱패키지명.permission.C2D_MESSAGE" android:protectionLevel="signature" />
   
    <uses-permission android:name="앱패키지명.permission.C2D_MESSAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.google.android.c2dm.permission.SEND" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />


    <application
        android:name=".LoginInfo"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
               
     <!-- 알림 서비스(시작) -->
     <receiver android:name=".GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
         <intent-filter>
             <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
             <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
             <category android:name="앱패키지명"/>
         </intent-filter>
     </receiver>
     <service android:name=".GCMIntentService" />
    <!-- 알림 서비스(끝) -->


    </application>

 

=====================================================================

 

[TestActivity.java]


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);


        context = TestActivity.this;


        GCMRegistrar.checkDevice(context);
         GCMRegistrar.checkManifest(context);
        final String strPushId = GCMRegistrar.getRegistrationId(context); // GCM ID 가져오기
        if(strPushId.equals("")){
           // 할당받은 GCM ID가 없으면 신규로 받음
           GCMRegistrar.register(context, "GCM등록으로 발급받은 PROJECT ID");
         }

    }

 

...(중략)....

 
 @Override
 public void onDestroy() {
  
  super.onDestroy();
  GCMRegistrar.unregister(context);
 }

 

=====================================================================

 

 [GCMIntentService.java]

 

 public GCMIntentService() {
  super("GCM등록으로 발급받은 PROJECT ID");
 }

 

 @Override
 protected void onError(Context arg0, String arg1) {
  Log.d("GCM", "onError");
 }

 @Override
 protected void onMessage(Context arg0, Intent arg1) {
  Log.d("GCM", "onMessage");
 }


 /**
  * GCM에 정상적으로 등록되었을 경우 발생하는 메서드
  */
 @Override
 protected void onRegistered(Context context, String regid) {
  Log.d("GCM", "onRegistered : " + regid);

 // 여기서 써드파티 서버 (제가 소유한 서버)에 regid 전달하는 코드 삽입.

}

 

=====================================================================

 

[GCMBroadcastReceiver.java]


 @Override
 public void onReceive(Context context, Intent intent) {
  
  Log.d("GCMBroadcastReceiver", "onReceive");

 }

 

=====================================================================

 

별 문제없어 보이는 소스코드인데.. 이틀째 앓고 있습니다..;;

 

11-16 01:37:36.671: D/GCMRegistrar(16522): resetting backoff for kr.co.wlv.m.doubleu
11-16 01:37:36.671: V/GCMRegistrar(16522): Registering app 앱패키지명 of senders 113290292212
11-16 01:37:37.722: D/GCMBroadcastReceiver(16522): onReceive

GCM 관련된 로그를 확인해봐도 위에서 보이듯 GCM 패키지 내에서 찍어주는 로그만 확인될뿐..

제 소스코드에 작성된 로그는 죽었다 깨어나도 노출되지 않으니.. 대략 낭패입니다..

 

세번째 줄 로그는

 

public void onReceive(Context context, Intent intent)

 

요녀석 내부에 작성한 로그인데.. 이게 호출되는건 또 뭔지..

이건 구글 서버로 부터 푸싱 메세지가 도착한 경우에 캐치하는 리시버가 아니던가요..

 

GCMRegistrar.register(context, "GCM등록으로 발급받은 PROJECT ID");

요녀석을 호출하면 당연히~

 

protected void onRegistered(Context context, String regid)

 

요녀석이 호출되어야 할거인데~~

그리고 혹시나 오류라도 발생했다치면

 

 protected void onError(Context arg0, String arg1)

 

요녀석이라도 호출하면 조금이라도 속이 시원했을텐데~~~

몇번이고 확인해보고 확인해봐도.. 빠진 코드가 없는거 같은데~~ 당췌~~ 저에게 이런 시련을 주시는거인지~~~ ㅠㅠㅠ 

혹시나 뭔가 설정이 잘못됐나 싶어서..

 

https://code.google.com/apis/console/b/0/#project:발급받은PROJECTID

 

요기드가서 확인해봤더니~

Overview > Project ID 필드 영역에 Regist 어쩌고 라는 링크가 떠있길래 아이디 마~구~ 작성해서~ 생성까지하고

Services > 중간쯤 뵈는 Google Cloud Messaging for Android > 이미 ON했었으나~ 요녀석 ON 되있나 확인도 해보고~

API Access > 요기가서 생성된 녀석들을 오른쪽에 있는 'Delete key..' 눌러서 다 삭제해버리고~

'Create new Server key..', 'Create new Browser key...' 둘다 눌러서 재생성해보기도 해보고..

 

그 외에도 구글링 해가면서 이짓 저짓 다 해봤지만... 결과는 OTL...

아~ 미챠버리겠네요~~~~ ㅠㅠㅠ

도움 부탁드려요~ ㅠ