2011-07-18 13 views
-2

C2DMを使用してアンドロイドプッシュ通知アプリケーションを開発していますが、私のアプリケーションでいくつかの問題に直面しています。 i-eサーバーとクライアントアプリケーションの両方で同じ電子メールアドレスを使用しているときに、アプリケーションが動作しています。Android c2dm電子メールアドレスの問題

問題は何か教えてください。

Altaf

+1

アプリケーションの作業が問題であると私が思ったのはこれが初めてのことです。また、これはhttp://stackoverflow.com/q/6725570/778427の複製です。あなたが最初に答えを得ていない場合は、あなたがそれを求めているところに問題がある可能性があります。あなたの質問を再投稿しないでください。 –

答えて

1

あなたがC2DMサービスを使用してアプリケーションを識別するために作成された役割のメールアカウントが登録意思で変更する必要があることを間違った印象の下にあるようです。

あなたはその役割をサーバー上のものと同じ電子メールで送信する必要があります。そうでない場合、Googleはこのc2dmメッセージの送信者/受信者としてアプリケーションを識別することができません。 サンプル登録意図:ここ

Intent registrationIntent = new Intent(
      C2DMessaging.REQUEST_REGISTRATION_INTENT); 
    registrationIntent.setPackage(C2DMessaging.GSF_PACKAGE); 
    registrationIntent.putExtra(
      C2DMessaging.EXTRA_APPLICATION_PENDING_INTENT, 
      PendingIntent.getBroadcast(context, 0, new Intent(), 0)); 
    registrationIntent.putExtra(C2DMessaging.EXTRA_SENDER, senderId); 
    context.startService(registrationIntent); 

変数のSenderID役割を保持する必要がありますが、あなたが作成し、これと同じ電子メールはGoogleのサーバーから認証トークンを取得するために使用されるGoogleのC2DM signup Page

にC2DMに申し込ん占めています

 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
     nameValuePairs.add(new BasicNameValuePair("Email", 
       senderId)); 
     nameValuePairs.add(new BasicNameValuePair("Passwd", "testpassword")); 
     nameValuePairs.add(new BasicNameValuePair("accountType", "GOOGLE")); 
     nameValuePairs.add(new BasicNameValuePair("source", 
       "Fleet Tracker Pro")); 
     nameValuePairs.add(new BasicNameValuePair("service", "ac2dm")); 
     post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     HttpResponse response = client.execute(post); 
     BufferedReader rd = new BufferedReader(new InputStreamReader(
       response.getEntity().getContent())); 

     String line = ""; 
     while ((line = rd.readLine()) != null) { 
      if (line.startsWith("Auth=")) { 
       String auth = line.substring(5); 
       System.out.println("Auth token = " + auth); 
       return auth; 
      } 
     } 
:認証キーを取得するために、後で

サンプルサーバコードC2DMメッセージを送信するために使用されますこれはまた、役割を保持する必要があり

予告変数SENDERIDあなたは、他の電子メールが何が好きに変更することができますが、電子メールに、これらはここ

同じままにする必要があり作成し、Google C2DM signup Page にC2DMにサインアップしたアカウントですGoogleのコードで google C2DM pageから定義:

Sender IDのアプリケーションの 開発に関連付けられているメールアカウント。送信者IDは、 へのメッセージの送信が許可されているAndroidアプリケーションを識別する登録プロセスで使用されます。 このIDは通常、個人アカウントの ではなく、ロールベースです([email protected]など)。

私は素敵な一日を手伝ってくれることを願っています。

は、あなたが話している電子メールについてのコードスニペットや詳細情報が含まれていればいいですね。

関連する問題