0

私が用意したアプリケーションは、GCM を使用してサーバーからプッシュ通知を受け取ります。

エミュレーターはプッシュ通知を受け取りますが、デバイスに同じアプリをインストールすると、デバイスはプッシュ通知を受け取りません。

SENDER_ID と API キーをサーバーに提供しました。登録 ID とデバイス ID は、コードを通じて送信されます。

このコードを使用してデバイスIDを取得しています:

TelephonyManager telephonyManager1 =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
device_id = telephonyManager1.getDeviceId();

過去2日間から問題に悩まされていますが、今まで解決できません。どんな助けでも大歓迎です。

4

2 に答える 2

1

デバイスを GCM に登録しましたか? 登録 ID を取得するには、次のコードを実行する必要があります。

onCreate() メソッド内に、次のコードを追加します。

GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
  GCMRegistrar.register(this, SENDER_ID);
} else {
  Log.v(TAG, "Already registered");
}

ここで、サーバーが上記のregIdを持つデバイスにプッシュ通知を送信できるように、サーバーに送信する必要があるregIdを取得します。

詳細については、こちらを参照してください

編集済み

このリンクを参照することもできますHERE

于 2012-09-14T13:27:24.943 に答える
0

問題はサーバー側からのものだったので、問題は解決しました。

GCM では、デバイス ID を提供する必要はありません。ただし、送信者 ID、登録 ID、および API キーだけが必要です。

于 2012-10-16T05:36:17.273 に答える