dandy
@dandy

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

APNs - legacy binary protocolのサポート終了に伴う対応

legacy binary protocolのサポート終了に伴う対応

Appleより、2021/3/31でlegacy binary protocolのサポートが終了し、HTTP/2‑basedのみになると通知がありました。
自社アプリケーションにおいてPush通知配信サーバでの対応が必要か否かを知りたいのですが、長らく保守担当がおらず放置されていた個所であり、開発メンバーも資料も残っていない状況です。

【参考】
サーバ側の言語:PHP
サーバ側フレームワーク:Laravel
※Push通知のライブラリ、Firebaseなどの配信システムは使用していないです。

【質問】
具体的にはソースコードのどこを見ることでlegacy binary protocolを利用していると確認できますでしょうか?
該当すると思われる箇所でstream_socket_client通信をしています。
これをもってlegacy binary protocolであると判断して良いでしょうか。

【質問2】
Appleからは"APNs will no longer support the legacy binary protocol after March 31, 2021."
とありますが「サポートをしない」ということは、その日からPush通知が停止してしまうと考えるべきでしょうか。
あるいは、停止はしないが、問い合わせなどがあっても応じないということでしょうか。
一般論でも構いません、ご教示いただけると助かります。

0

1Answer

PHPはわからないのですが、stream_socket という用語からは、単にTCPを使っているというだけに見えます。
接続先が、api.push.apple.com:443ではなく、gateway.push.apple.com:2195 であれば、legacy binary protocol を使っていると思ってよいのではないでしょうか。
Appleの古いドキュメントもまだ参照できるようですので、プログラムと対比したい場合は、参考になるかもしれません。
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/BinaryProviderAPI.html#//apple_ref/doc/uid/TP40008194-CH13-SW1

また英語も得意ではないのですが、私は「legacy binary protocolでの通知リクエストはもう受け付けないよ」ということかと思いました。

はずれたらごめんなさい。

1Like

Comments

  1. @dandy

    Questioner

    ありがとうございます。接続先はgateway.push.apple.com:2195でした。おそらくlegacy binary protocolだろうと思って対応進めていましたが確信を持てました。とても助かりました!

Your answer might help someone💌