プッシュ通知を実装する際に
- ・サーバーが悪い
- ・アプリが悪い
という問題が発生する時がよくあります。そういう時にサーバーが悪くても、こちらの可能性をぬぐえないと検証をせざるをえない状況になってしまうので、サーバーサイドのプログラムも仕事ではつかえなくてもいいと思いますが、最低限、確認程度はできると問題が発生した時の問題を明確にしやすいです。。今回はプッシュ通知確認用のコードをphpで書いたものを下記に記しました。
http://d.hatena.ne.jp/azukinohiroki/20120628/1340868610
に書いてあるのですが、
<?php $url = 'https://android.googleapis.com/gcm/send'; $registration_id = 'AAAAAAAAAAAAAAAAAAA'; //registration IDはここ $message = 'Hello, GCM!!'; $header = array( 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8', 'Authorization: key=XXXXXXXXXX', //API keyはここ ); $post_list = array( 'registration_id' => $registration_id, 'collapse_key' => 'update', 'data.message' => $message, ); $post = http_build_query($post_list, '&'); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_TIMEOUT, 5); //CA証明書の検証をしない curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); $ret = curl_exec($ch); var_dump($ret); ?>
で自分のサーバーにアップして確認をしてしまいましょう。
サーバーの方に、アプリ側がおかしいんじゃね?って言われたら、自分が作ったサーバーからは遅れましたが、何か問題でも。
って言えばいいのです