Twitterのユーザーストリーム廃止って聞いて死にそうになってる
— うぇぼし〜 (@Weboshi0111) 2017年4月11日
目の前の開発者「Twitterユーザーストリーム廃止になるよ」
— うぇぼし〜 (@Weboshi0111) 2017年4月11日
ワシ「(死んだ目)」
@Weboshi0111 "User streams will eventually be replaced by Account Activity API." pic.twitter.com/5LHPlLr4qP
— 🕳 (@shuma_yoshioka) 2017年4月11日
よく見るとミスってた。正しくコピペすると User streams will eventually be replaced by the Account Activity API.
です。
- 作者: 中田亨
- 出版社/メーカー: 朝日新聞出版
- 発売日: 2013/07/05
- メディア: 文庫
- この商品を含むブログ (2件) を見る
明確な時期は出てないものの、User streams API
(+ Site streams API
) をdeprecateするとアナウンスされました。
deprecateと言っても、その代わりにAccount Activity API
が登場します。重要な通知関連は変わらずリアルタイムで配信されるAPIがあるってことみたい。
Account Activity API (beta) のドキュメントを読んでみると、
The Account Activity API will eventually replace the User streams and Site streams APIs. We plan to provide at least a six month migration window after the Account Activity API graduates from beta. We’ll announce the deprecation date then and encourage you to start using the Account Activity API beta in the meantime.
とあります。こっちの新APIがbeta卒業後 最低6ヶ月の移行期間を用意するってことなので、最悪たとえば明日新APIがproductionに上がった場合は 6ヶ月でUserstreamsが廃止されると取ってもいいかも。
そんなわけはないので、半年以上は使えると思ってよさそう。
Site streamsはもう新規アプリとかで使えてないので割愛。
User streamsが (リアルタイムで) 流してくれていることをおさらいすると、
- TLのツイート
- 投稿 / 削除 / 位置情報削除
- 検閲を受けている場合の国コード
- APIのrate limit通知
- 自分のプロフィール更新
- リプライ
- RT
- された / 解除された
- ダイレクトメッセージ
- ブロック / ブロック解除
- ふぁぼ
- followingが何かふぁぼった / 解除した
- 自分のツイートがふぁぼられた / 解除された
- フォロー
- フォローされた / 解除された
- followingが誰かフォローした / 解除した
- リスト
- 作成 / 削除 / 更新
- 追加された / 削除された
- followingが誰か追加した / 削除した
- 購読された / 解除された
- followingが何か購読した / 解除した
- 引用された
あたり。アプリによって全てが配信されるわけではないみたいだけど、ドキュメント上はこれらがある。
新しいAccount Activity API
はWeb Hooksを利用した通知の仕組み。ストリームを繋ぎっぱなしにせず、イベントがある度に都度投げてくれるイメージ。
バッテリー節約になって良さそう。ただ外向きにHTTPを開けておく必要があるので、今後の非公式クライアントは必ずバックエンドのサーバが提供されることになりそう。開発者はサーバ維持が必要になる。
これに関してはsuruyatuでも悩みのタネみたい
Account Activity APIはWebhooksなのでサーバが必要です。
— ツイッターするやつ (@suruyatu) 2017年4月10日
今までのUser streamsはクライアント側からTwitterサーバに繋いで、コネクションを維持していたので、Twitterサーバだけで良かったのですが、 (続く)
(続き)
— ツイッターするやつ (@suruyatu) 2017年4月10日
web hooksはTwitterサーバから更新を投げつけます。但し、ホームページの様にURLが無いと駄目です。なので、何かしらのサーバが必要です。そしてそのサーバから端末への通知をする仕組みも必要です。困りました。
Webhooksを受け取ってアプリへPushするサーバ自体はすごく大変ということではないものの、多くのユーザを抱えているアプリにとってはしっかり捌くためにそれなりのコストが発生しそう。けっこう打撃がでかい。
まだAccount Activity API
はBetaなので、これからどんどんUser streams
の提供する内容へ近付いていくと思ってます。
現状で配信がスタートしてるのはdirect_message_events
、つまりDM関係のイベントのみ。
おそらくこれは先日新しいDMのAPIが出たのに合わせてということなのだと思うし、多分今後RTや"いいね"の通知も取れるようになるんじゃないかな。
ただし、TLのリアルタイム通知に関してはどうなんだろう?と個人的に疑問。
User streamsは非公式クライアントユーザが ツイートや通知のリアルタイム配信のために使っている、という側面がイメージしやすいのだけど、それ以前にTwitter APIにはけっこう厳しいRate Limitがあるので、ヘビーユーザが規制を受けずに利用するためには必須だったということ。
そういったユーザのTLはめちゃくちゃ早いので、Webhookで送るリクエストの数もバカにならない。HTTPコネクションの確立って意外とコストが高いので、TLがリアルタイムで流れるようなAPIもう出ないんじゃないかな。
出たとしても、だいぶ漏れが多くなりそう。
メッセージングプラットフォームとしてならAPI公開してもいいけど、TLまでAPI経由で読まれちゃうとTwitter, Inc.側からも広告が配信できる余地なくなっちゃうし。非公式クライアント使ってるヘビーユーザが一切収益化できない構造は辞めたいだろうし…
魔剤?
— YUUYA a.k.a. O.T.4 (@braidstory12) 2017年4月11日
— うぇぼし〜 (@Weboshi0111) 2017年4月11日
@Weboshi0111 TwitterからUserstream取ったら何も残らんで((
— YUUYA a.k.a. O.T.4 (@braidstory12) 2017年4月12日
@braidstory12 親指(人差し指)強化マシンと化したTwitter先輩
— うぇぼし〜 (@Weboshi0111) 2017年4月12日
@Weboshi0111 いい皮肉www(
— YUUYA a.k.a. O.T.4 (@braidstory12) 2017年4月12日
まとめると
- User streamsが廃止されて、通知まわりが新しくなるよ
- 開発者はそれなりに大変なので、小さい非公式クライアントは維持が難しいかも
- TLのリアルタイム配信はどうなるかまだわからないけど、収益化考えると無くなってもおかしくないよね…
あたりまえポエム 君の前で息を止めると呼吸ができなくなってしまうよ
- 作者: 氏田雄介,カズキヒロ
- 出版社/メーカー: 講談社
- 発売日: 2017/04/12
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る