0

私はJava Androidの世界では初めてです。私はコースプロジェクトに取り組んでおり、助けが必要です。私のプロジェクトでは、Android アプリと Java ソケット サーバーを開発しました。Android アプリはサーバーからキーを要求し、サーバーはキーを生成し、それらを DB に格納し、キーを Android クライアントに送り返します。これはうまくいっています。今、Android クライアントで、「Register Device」というボタンを追加する必要があります。これをクリックすると、デバイスが GCM に登録され、デバイスに regID が保存されます。これをキー要求で追加してサーバーに送信します。サーバーは、regID をキーと共に DB に保存します。その後、保存されたregIDを使用してデバイスにプッシュメッセージを送信したいと思います。

問題:

  • GCM regID を保存してアクセスし、サーバーに送信するにはどうすればよいですか?
  • 保存された regID を使用してプッシュ メッセージをデバイスに送信するには、ソケット サーバーで何を行う必要がありますか?
4

1 に答える 1

0

ご覧のとおり、deviceID と registrationID を取得したので、サーバーに保存する必要があります。これで、次の onclick を実行するボタンを作成できます。$ public void sendRegistrationIdToServer(String deviceId, String registrationId) {

    HttpClient client = new DefaultHttpClient();
    Log.d("GCM","sending to server");
    HttpPost post = new HttpPost("YOur URL.php");
    try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
        // Get the deviceID
        nameValuePairs.add(new BasicNameValuePair("deviceid", deviceId));
        nameValuePairs.add(new BasicNameValuePair("registrationid", registrationId));

        post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = client.execute(post);
        BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        Log.d("GCM","sent to server");
                } catch (IOException e) {
        e.printStackTrace();
    }
}

サーバー側では、ID を受け取り、それをデータベースに保存できます。あなたがそれを得る願っています。

于 2013-05-30T05:58:28.227 に答える