これからApns-phpを使用したiPhoneのPush通知実装方法を何回かに分けて、初めてPush通知を実装する!って人でもすぐ実装できるのを目標に詳しく解説していきます。
自分自身Push通知を実装するときは、どこのブログとかを見ても中途半端にしか書かれていなく、途中でとまったりしました。。。。。
テスト環境だけ詳しく解説されていて、本番環境の解説は1行でまとめられていて全然わからなかったり。。。
証明書関係は特にややこしいです(´・ω・`)
なので、気持ち的にはこのブログを見ただけで(Apns-php限定ですが)とりあえずPush通知の実装はできるようなるってのが目標です。
Push通知を書くにあたって参考にしたサイトは、
phpでiphoneのpush通知&APNS鍵作成:http://takalife.com/blog/tech/247/
Push Notification の実装方法:http://iphone.longearth.net/2009/09/01/%E3%80%90iphone%E3%80%91push-notification%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95/
Apns-php公式:http://code.google.com/p/apns-php/
の3記事を参考にさせていただきました。
1回目の今回はPush通知に必要な証明書などのセットアップを行います。
まず始めに、Push通知を行うためのAPNS鍵の作成です。
1.iOS DeV Center にアクセスし、[iOS Developer Program]にある[iOS Provisioning Portal]をクリックします。
2.左側メニューにある[App IDs]を選択します。
3.今回使用するBundle Identifierは[test]を使用します。
これは、アプリを作成する時に設定するBundle Identifilerと一緒のものを使用します。
自分自身Push通知を実装するときは、どこのブログとかを見ても中途半端にしか書かれていなく、途中でとまったりしました。。。。。
テスト環境だけ詳しく解説されていて、本番環境の解説は1行でまとめられていて全然わからなかったり。。。
証明書関係は特にややこしいです(´・ω・`)
なので、気持ち的にはこのブログを見ただけで(Apns-php限定ですが)とりあえずPush通知の実装はできるようなるってのが目標です。
Push通知を書くにあたって参考にしたサイトは、
phpでiphoneのpush通知&APNS鍵作成:http://takalife.com/blog/tech/247/
Push Notification の実装方法:http://iphone.longearth.net/2009/09/01/%E3%80%90iphone%E3%80%91push-notification%E3%81%AE%E5%AE%9F%E8%A3%85%E6%96%B9%E6%B3%95/
Apns-php公式:http://code.google.com/p/apns-php/
の3記事を参考にさせていただきました。
1回目の今回はPush通知に必要な証明書などのセットアップを行います。
まず始めに、Push通知を行うためのAPNS鍵の作成です。
1.iOS DeV Center にアクセスし、[iOS Developer Program]にある[iOS Provisioning Portal]をクリックします。
2.左側メニューにある[App IDs]を選択します。
3.今回使用するBundle Identifierは[test]を使用します。
これは、アプリを作成する時に設定するBundle Identifilerと一緒のものを使用します。
4.使用するAppIDの横のConfigureをクリックします。
5.[Enable for Apple Push Notification servise]にチェックがはいっていないので、チェックをいれ、今回はテスト環境なので[Development Push SSL Sertificate]を選択します。
5.[Enable for Apple Push Notification servise]にチェックがはいっていないので、チェックをいれ、今回はテスト環境なので[Development Push SSL Sertificate]を選択します。
6.ホップアップ画面がでてくるので、右下[Continue]をクリックすると、証明書提出画面がでます。
7.提出する証明書を作成します。
Macの[アプリケーション]→[ユーティリティ]にあるキーチェーンアクセス.appを起動します。
キーチェーアクセスのメニューバーの[証明書アシスタント]→[認証局に証明書を要求]をクリックします。
Macの[アプリケーション]→[ユーティリティ]にあるキーチェーンアクセス.appを起動します。
キーチェーアクセスのメニューバーの[証明書アシスタント]→[認証局に証明書を要求]をクリックします。
8.証明書アシスタントの[ユーザのメールアドレス]・[通称]にはAppleのDeveloper登録で使用したメールアドレスと名前を入力します。
要求の処理は[メールでCAに送信]が選択されていますが、ディスクに保存を選択してください。
要求の処理は[メールでCAに送信]が選択されていますが、ディスクに保存を選択してください。
9.これで作成した証明書を⑥ででてきたホップアップ画面にアップロードします。
10.作成がおわると証明書をダウントードできます。
この証明書は後で同じページでダウンロード可能です。
10.作成がおわると証明書をダウントードできます。
この証明書は後で同じページでダウンロード可能です。
11.キーチェーンアクセス.appを起動します。
キーチェーンの左側メニューを[ログイン]・[証明書]を選択します。
そこにダウンロードした証明書をドラッグ&ドロップします。
書き出すファイルは、⑪の画像の[Apple Development iOS Push Services:test](写真はtester.bkになってますがここは自分の選択したBundle Identifierになります。)です。
13.保存する名前はここでは[server_certificates_bundle_sandbox]とし、保存する形式は[p12]です。
*ここで保存形式にp12を選択できない場合はキーチェーンアクセスの左側メニューの選択がまちがっている可能性があります。[ログイン]・[証明書]になっているか確認してください。
パスワードは空のまま保存してください。
14.形式を変更するために[ターミナル.app]を起動します。
ターミナルで保存したディレクトリまで移動し、以下のコードを入力してください。
openssl pkcs12 -in server_certificates_bundle_sandbox.p12 -out server_certificates_bundle_sandbox.pem -nodes -clcerts
*保存した証明書の名前が違う場合はその名前を入力してください。
*ターミナルでのディレクトリ移動は、デスクトップに保存した場合
cd ~/Desktop/
で移動できます。
ここで、appleの証明書作成は終了です。
次回はサーバ側証明書を作成していきます。
キーチェーンの左側メニューを[ログイン]・[証明書]を選択します。
そこにダウンロードした証明書をドラッグ&ドロップします。
12.証明書が表示されているので右クリックで["Apple Development iOS Push Services:○○" ]書き出します。
書き出すファイルは、⑪の画像の[Apple Development iOS Push Services:test](写真はtester.bkになってますがここは自分の選択したBundle Identifierになります。)です。
13.保存する名前はここでは[server_certificates_bundle_sandbox]とし、保存する形式は[p12]です。
*ここで保存形式にp12を選択できない場合はキーチェーンアクセスの左側メニューの選択がまちがっている可能性があります。[ログイン]・[証明書]になっているか確認してください。
パスワードは空のまま保存してください。
14.形式を変更するために[ターミナル.app]を起動します。
ターミナルで保存したディレクトリまで移動し、以下のコードを入力してください。
openssl pkcs12 -in server_certificates_bundle_sandbox.p12 -out server_certificates_bundle_sandbox.pem -nodes -clcerts
*保存した証明書の名前が違う場合はその名前を入力してください。
*ターミナルでのディレクトリ移動は、デスクトップに保存した場合
cd ~/Desktop/
で移動できます。
ここで、appleの証明書作成は終了です。
次回はサーバ側証明書を作成していきます。