Push通知を組み合わせたアプリの大変なところ

今回「降水確率」ではiOSのPush通知機能を使ったアプリを作ったことが評価につながったと思っています。この"Push通知"、ユーザとしてとても便利なんだけどデベロッパー側は結構大変。
なぜか。odawaraが考える理由は次の3つ。

  1. 独自のサーバーが必要
  2. 通知は失敗することがある
  3. 実運用の情報が少ない

まず独自のサーバが必要な点。
Push通知を行うためには必ずサーバが必要になる。これの運用が必要になるから単純に面倒なんですよね。アプリを販売してそれっきりとは行かないから手離れが良くない。また固定費がかかる。今回は低スペック低価格のサーバを使い、その上で十分なユーザー数を裁けるように重たい処理をCで書いたりしてチューニングを施している。
次は通知の安定性の問題。
モバイル端末に対してサーバー側からデータを送信するので、端末側で受信できない場合がある(電源が切れているとか長い時間圏外にいたetc)なので、Push通知のみに頼ってしまうと運悪く情報が古いままになってしまう。このときのリカバリ方法を考えなければならない。今回はユーザが自らアプリを起動して情報を更新してもらうことで、これを避けることが出来るようにした。ちょっとユーザに頼りすぎな気がして、ちょっと申し訳ない…
最後に実運用の情報が少ない点。
Push通知が一番使われているアプリといえば、Twitterクライアントだと思うんだけど、Twitterクライアントのバックエンドのデザインて公開されていない(といかodawaraは知らない)。PHPフレームワークはあるけれど、規模が大きくなったり逆に小さくてよい場合にちょっと扱いにくい。その辺は実際に運用してノウハウを溜めていくしかないのかも。
とまぁそんな感じでちょっと大変。だけどそれに勝る便利さが提供できればよいと思っているので、今回は頑張りましたとさ(笑)