0

こんにちは、私はすでに Android 用のネイティブ GCM アプリケーションを構築しており、すべての Android デバイスで非常にうまく動作しています。しかし、このGCMサービスを既存のAndroidアプリと統合したいのと同じように、このGCMサービスをさらに使用したい. プロジェクトに関する関連情報を取得しようとしましたが、既存の Android アプリでのクライアント側実装のリソースを見つけることができませんでした。誰かが私にリンクを提供してくれたら、とても感謝しています。前もって感謝します

これが私のGCMのサーバー側コードです

<?php

class GCM {

    //put your code here
    // constructor
    function __construct() {

    }

    /**
     * Sending Push Notification
     */
    public function send_notification($registatoin_ids, $message) {
        // include config
        include_once './config.php';

        // Set POST variables
        $url = 'https://android.googleapis.com/gcm/send';

        $fields = array(
            'registration_ids' => $registatoin_ids,
            'data' => $message,
        );

        $headers = array(
            'Authorization: key=' . GOOGLE_API_KEY,
            'Content-Type: application/json'
        );
        // Open connection
        $ch = curl_init();

        // Set the url, number of POST vars, POST data
        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Disabling SSL Certificate support temporarly
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

        // Execute post
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die('Curl failed: ' . curl_error($ch));
        }

        // Close connection
        curl_close($ch);
        echo $result;
    }

}

?>
4

2 に答える 2

1

これに PhoneGap のタグを付けましたが、これが通常の Android アプリなのか、それとも何か別のアプリなのかはわかりませんか? 標準の Android アプリケーションの場合は、公式の Android 開発者サイト に非常に簡単なステップバイステップのチュートリアルがあります

これが PhoneGap アプリの場合、GCM に関連する SO に関する質問がたくさんあります。それらのいずれかが開始に役立つかどうかを確認するために検索を行います。

更新: わかりました。これは PhoneGap アプリなので、いくつか調べる必要がありました。AndroidアプリでGCMがどのように機能するかをよく理解しています.PhoneGapアプリで行う必要があるのと同じ一連のイベントのようです. あなたはマーク・ナッターの例に従っていると言いました。GitHub プロジェクトを使用しているということですか?

この場合、興味深いのはGCMIntentServiceです。これは、GCM 登録と GCM メッセージの処理を担当するコードです。GCMIntentService には、アプリが GCM に正常に登録されたときに呼び出されるonRegistered()メソッドがあります (登録が自動的に行われるか、自分で呼び出す必要があるかはわかりません)。とにかく、登録 ID を取得します。この ID を自分のサーバーに送信する必要があります。39 行目を見ると、プラグインが JSON オブジェクトを PhoneGap アプリに送り返していることがわかります。JSON は次のようになります。

{
    "event":"registered",
    "regid":"a very long registration id that you should send to your server"
}

この JSON コールバックを Javascript 側で処理すれば、準備完了です!

于 2013-05-07T08:01:57.847 に答える