koba::blogスマートフォン用の表示で見るkoba::blog2011-10-23mixiアプリ「ユーザーID新方式」移行対応mixiアプリmixiアプリのユーザーIDの指定方法が変わるということで、登録していたアプリを修正しました。http://developer.mixi.co.jp/appli/com/change/setting/trans_id/対象のアプリはこちら。にゃんこすいーぱーユーザーID新方式とは何か今までは、アプリからユーザを指定する場合、mixiで一般的に使われている数字連番のIDを使っていました。新方式では今までの数字のIDと脈絡のない英数字13桁のIDが使われるようになります。こんな修正をするのかは想像するしかないですが、数字連番だと総当たりでユーザを捜しやすいので、それを避けるためではないかと思います。mixiのサイト全体でこの変更が行われるのかどうかは分かりません。mixiアプリは変わるとのことです。どんな影響があるのか新方式への移行後は、APIでは新方式のIDしか知ることができなくなるため、ユーザーIDを保存しておいて利用するようなアプリの場合、ユーザが特定できなくなります。ユーザーIDを保存しないアプリの場合は、アプリ内では新方式で統一されるため、特に影響はないです。一般的にはユーザーIDを保存することが多いでしょう。影響が大きいので、mixiでは「移行期間」*1を設けて、その間、現行のIDを使いながら新方式IDも取得できるよう、ID変換APIを一時的に提供しています。*2「にゃんこすいーぱー」ではどう対応したか「にゃんこすいーぱー」では、ハイスコアを保存する際にユーザーIDも保存していました。保存していたユーザーIDを変換する必要があります。自前のサーバにデータを保存するアプリの場合、ID変換APIを使って対応表を作り、保存していたデータを書き換えればいいのですが、本アプリでは、mixiアプリのAPIが提供するデータストアを使っていました。この領域はアプリユーザごとにあり、ユーザがアプリを起動したときしか更新できません(IDが分かれば参照は可能)。ID変換APIを使うことはあきらめました。*3「にゃんこすいーぱー」のハイスコアは、以下の2つを別々に保存しています。アプリユーザ自身のハイスコアアプリ全体のハイスコア1にもユーザーIDを保存していますが、ユーザーIDは別の方法でも分かるので、本来は冗長なデータです。この部分は「別の方法」(データストアを指定するときに使うユーザーID)を使用するように変更しました。2については変換をあきらめました。2のハイスコアは本当の意味での「全体のハイスコア」ではなく、マイミク同士が知り得る範囲のハイスコア(最初は自身のハイスコアからスタート)を交換することで、徐々に広まっていく方式をとっていました。今回もう一度徐々に広がっていくことに期待することにします。この方式の利点は、移行期間のフェーズに関わらず使用できることです。プログラムは入れ替えましたが、アプリは今まで通り動作しています。新方式に切り替えた瞬間に、いったん「全体のハイスコア」がクリアされますが、徐々に再構築されていくはずです。新方式への切り替えは来週末の予定。上手く切り替わってくれるといいのですが。(2011-10-29)22:00に新方式に切り替えました。うまく動作しているようです。アプリで取得できるユーザのURLや、ユーザごとのアイコンのURLに含まれていたユーザーIDも新方式のIDになっているようです。mixiのサイト全体でIDを切り替えるのかな。*1:2011年6月29日〜10月31日*2:と思ったら、11月以降もID変換APIは使えるようになったようですね。総当たり攻撃はこれからも使えることになるので、何のための変更か分からなくなったぞ。*3:移行期間中に徐々に変更すればいいのですが、すべては救えないし。(11)月別アーカイブ注目記事はてなブログをはじめよう!xlcさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。