2012年3月30日

Tweetbotの通知配信機能とUDID取得廃止の話

UDIDとは、デバイスごとに割り当てられるユニークなIDのこと。 先般AppleのiOSアプリの審査基準が変更され、ユーザに対し事前告知なしにUDIDを取得するアプリは却下されることに。 実はTweetbotもUDIDを通知配信に利用していました。この変更を受け、次期バージョンからはUDID取得を廃止します。
21

Tweetbotの次期バージョン2.2がAppleの審査でreject(却下)された。原因は…

Tweetbot by Tapbots @tweetbot

Tweetbot 2.2 is going to be delayed a bit, if you want to know why read about it here. http://t.co/SsaHTHxO

2012-03-30 01:36:21

抄訳:Tweetbot 2.2のリリースは少々遅れます。理由はこちら(リンク先:Tapbotsブログ)。

Paul Haddad @tapbot_paul

So most interesting data point about our rejection is that Apple analyzes https traffic of apps. I'm impressed.

2012-03-30 02:00:49

抄訳:Appleはアプリのhttpsトラフィックまでも調査しているわけね。感心したよ。

TweetbotJP(公認非公式) @TweetbotJP

Tweetbot 2.2は例のAppleの方針変更(UDID取得アプリ禁止)の影響で審査に通らなかったようですね。UDIDを取得しないバージョンで再審査を申請したとのこと。http://t.co/DwSqaNZV #tweetbotjp

2012-03-30 05:25:54

なぜUDIDを取得していたのか

TweetbotJP(公認非公式) @TweetbotJP

TweetbotがUDIDを取得していたのはプッシュ通知配信のためで、これによりアプリを削除し再インストールした場合でも通知の設定が引き継がれていました。UDIDを取得しない次期アップデート以降はこの設定内容の保持が不可能になるとのことです。 #tweetbotjp

2012-03-30 05:28:10
TweetbotJP(公認非公式) @TweetbotJP

なお言うまでもありませんが、TapbotsではTweetbotの通知配信目的で収集したUDIDを他の目的に転用したり第三者に漏洩するようなことはしていません。次期アップデートのリリース後は、過去に収集したUDID情報は破棄されるものと思われます。 #tweetbotjp

2012-03-30 05:31:19
@asaminzoku

@TweetbotJP これは、一旦削除してしまっても、設定さえし直せばプッシュ通知は可能、ということでいいんですよね?

2012-03-30 05:36:51
TweetbotJP(公認非公式) @TweetbotJP

そうです。設定し直す手間が増える、というだけの話。 #tweetbotjp RT @asaminzoku: @TweetbotJP これは、一旦削除してしまっても、設定さえし直せばプッシュ通知は可能、ということでいいんですよね?

2012-03-30 05:59:12
ふよこ @t_usachan

@TweetbotJP 期アップデート以降は、プッシュ通知がされなくなるのですか?

2012-03-30 05:40:58
TweetbotJP(公認非公式) @TweetbotJP

そうではありません。 #tweetbotjp RT @fuyo71: @TweetbotJP 次期アップデート以降は、プッシュ通知がされなくなるのですか?

2012-03-30 05:59:28

Tweetbotの通知配信のしくみ

TweetbotJP(公認非公式) @TweetbotJP

いい機会ですので、Tweetbotの通知配信のしくみについてちょっとご説明させていただきます。まずはこの図をごらんください。データの流れはこのようになっています。 #tweetbotjp http://t.co/cOuFkSn7

2012-03-30 06:17:25
拡大
TweetbotJP(公認非公式) @TweetbotJP

図中①は通常のTL等取得で、ここにはTwitter APIやUserStream APIが用いられます。一方通知配信の流れは、②→③という別経路をたどります。 #tweetbotjp

2012-03-30 06:22:19
TweetbotJP(公認非公式) @TweetbotJP

要するに、TwitterからTapbotsの通知サーバに情報をがっつり取得し(②、SiteStream APIが用いられる)、Tapbots通知サーバに登録したユーザに個別配信しているわけです。 #tweetbotjp

2012-03-30 06:24:27
TweetbotJP(公認非公式) @TweetbotJP

よく「通知が来たのに@返信やDMが届かない」「TLは取得できるのに通知が来ない」などのトラブルがありますが、原因は①と②に流れるデータの内容が常に一致するとは限らないからです。どちらかが取りこぼしていたり、止まっていたり…というケースですね #tweetbotjp

2012-03-30 06:27:30
TweetbotJP(公認非公式) @TweetbotJP

Tweetbotの「通知システムのテスト」機能は、③の経路を通じてTapbots通知サーバの動静を確認するためのものです。ここまでがきちんと動作していても、②の流れが止まったり遅延すると、結果として通知にも未達や遅延が発生するわけです。 #tweetbotjp

2012-03-30 06:29:36
TweetbotJP(公認非公式) @TweetbotJP

さて、UDID取得廃止の件に話を戻します。現行バージョンまでは、ユーザが③経由でTapbots通知サーバにアカウント情報を登録する際、デバイスのUDIDも同時に記録していたわけです。目的はデバイスの個体を判別し、アカウント毎の設定を保持するためです #tweetbotjp

2012-03-30 06:34:33
TweetbotJP(公認非公式) @TweetbotJP

次期アップデートではそのUDID取得がAppleの方針変更により禁止されますので、Tapbots通知サーバ上にアカウント毎の設定情報を保持しておけません。Tweetbotを削除して再インストールしたら、通知の設定はいちからやり直しになるわけです。 #tweetbotjp

2012-03-30 06:37:53
TweetbotJP(公認非公式) @TweetbotJP

ちなみにこの図はPaper by FiftyThreeとSkitchで描きました。絵心ェ…(´・ω・`) http://t.co/4fDe4YlL

2012-03-30 06:45:13

コメント

Tsuyoshi CHO @tsuyoshi_cho 2012年3月30日
ケータイほどでないにしても、けっきょくその辺ルーズなこと多いってことかなぁ?
0