SubwayTooter https://github.com/tateisu/SubwayTooter の 5.512 から使い始めたプッシュ中継サーバです。
SNSサーバ → Appサーバ(これ) → プッシュ配送サービス(FCM or UnifiedPush) →→ SubwayTooter on Android Devices
という感じでSNSサーバから受け取ったWebPushメッセージのリクエストボディとヘッダ(一部)を、プッシュ配送サービス経由で、アプリに転送します。
また、SNSサーバから受け取ったデータが大きい場合にはサーバ内部にデータを保存してそのuuidをアプリに送ります。
アプリとの間では以下のAPIを提供します。
- 中継登録の追加
- 無効になった中継登録の削除
- AppServerHashを指定して中継登録の削除
- 大きすぎたデータの取得
- プッシュ配送サービスの転送先以外の情報はすべてハッシュ化しています。複数アカウント使用時にもそれがSNSサーバにバレにくい作り。