QA@IT

本番環境でPush通知を送る事が出来ない

3466 PV

現在、iPhoneのAPNSを使ったPush通知を実装しているのですが、本番環境でPush通知をすることが出来なくて困っています。

まず仕様を説明させていただきます。
Push通知はサーバからiPhoneに向けて通知を送るものです(アプリからアプリにpushをする仕組みの方ではない)。

次に環境を説明させていただきます。
iPhoneはios5〜7までを対象にしています。
サーバ側はRailsを使用しています。

具体的な症状を説明させていただきます。

アプリをリリースした後に、Push通知を送っても、このアプリをインストールしたiPhoneにPush通知がきません。

次にこの症状に対して講じた対策を書きます。

テスト環境(Sandbox)では動く事確認しました。

本番環境ではホストを変更しました。具体的には以下の通りです。

'gateway.push.apple.com'
port = 2195

ユーザのDevice Tokenが受け取れている事を確認しました。

数百件のデータがサーバでとれているので、間違いはないと思います。

APNSの中身がproductionになっている事を確認しました。

具体的には以下の通りです。
friendlyName:Apple Production IOS Push Services:~

AppleDeveloperのIdentifirerの状態を確認しました。

「Push Notifications」はDevelopment,Distributionともに緑になっています。

アップルからエラーメールが来ていない事を確認しました。

「Your APNs Development iOS certificate has been revoked.」といったようなアップルから送られてくるエラー時のメールは「審査アップ時、Push通知送信時」を含めきていません。

Provisioning fileを最新にしました。

インストールしたiPhoneでも「Push通知の許可」が求められる事から、そこは大丈夫だと思います。

ここで改めて質問なのですが、何が原因でPush通知を本番環境でおくることができないのでしょうか?
ご回答いただけると幸いです。

回答

すみません、自己解決しました。

Ruby側の問題でした。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。