これは非常に簡単な質問です。
プッシュ通知の受信に問題があるジェイルブレイクされたデバイスについて読みました。
それは本当ですか?もしそうなら、どうすれば解決できますか?
これは非常に簡単な質問です。
プッシュ通知の受信に問題があるジェイルブレイクされたデバイスについて読みました。
それは本当ですか?もしそうなら、どうすれば解決できますか?
回答:
質問に答えるには、Appleのプッシュ通知サービスの仕組みを理解する必要があります。プッシュ通知を使用するすべてのアプリケーションは、Apple Push Notification Service(APNS)に登録する必要があります。通常、これはインストール直後に行われます。iOSは、アプリがプッシュ通知の受信を許可されているかどうかをユーザーに尋ねます。ユーザーが同意すると、iPhoneはAPNSと通信し、アプリケーションとデバイスの組み合わせを識別できるトークンを要求します。このトークンは、サービスプロバイダー(つまり、アプリケーションの開発者)に渡されます。プロバイダーがプッシュ通知を送信する場合、このトークンをペイロードとともにAPNSに送信し、APNSはメッセージを配信します。そのため、トークンを何らかのアドレスとして想像できます。つまり、プロバイダーはすべてのプッシュメッセージリクエストにトークンを含める必要があります。
しかし、トークンはどのように生成されますか?Appleのドキュメントによると、上記の登録は次のように機能します。デバイスは、一意のデバイストークン(これも別のトークンです!)をAPNSに送信し、APNSに上記の登録を要求しますdeviceToken
。これdeviceToken
は、とりわけデバイスIDとアプリIDに依存し、暗号化機能を使用して生成されるため、偽造することはできません。
ここで重要なのは、iOSがアプリケーションを登録する必要があるため、プッシュ通知を許可するための一意のトークンがiTunesのアクティベーションプロセス中に生成されることです。一意のトークンも暗号化を使用し、このアクティベーションプロセス中にのみAppleから取得できます。ジェイルブレイクおよびハッキングされたiOSデバイスは、公式のアクティベーションを実行しないため、トークンを逃します。したがって、プッシュ通知は機能しません(少なくともAppleが実装に大きな間違いを犯さなかった場合)。