エンジニアリングにはほど遠い

iPhoneアプリとかサイトとかをつくっていくブログです。

Leaderboardは降順だと最高値、昇順だと最低値しか保持しない

追記:値を取得した時期ごと、つまりTODAY, THIS WEEK, ALL TIMEごとに違う値を持つ事はできます。


降順だと値が大きい方がいい成績なので、今までの値よりも小さな値を送っても影響しません。つまり、ハイスコアを減らす事はできません。
最高得点10000point のところに2000pointを送っても、結局10000pointだ、みたいな事です。
(多分昇順だと逆に大きい値を送っても反映されないと思います)

僕はGameCenterアカウントと紐付いたランキング用スコアを使いたくて、しかもそれが増減するというモノにしたかったんですけど、ちょっと無理そうで諦めました。(将棋倶楽部24のレーティングのようなもの)

逆に、増減させたくない場合は何も考えずにバンバン値を送っちゃっても、ベストの成績が良くない成績で上書きされる心配が無いので安心とも言えます。


あと、スコアを送信する際にcategoryってなんぞやというとこでちょっと詰まったので書いておきます。

スコアを送信する時はGKScoreクラスのインスタンスを生成してそいつのreportScoreWithCompletionHandler:メソッドで行うんですが、生成の際のinitWithCategory:というやつでカテゴリーというのを指定しなきゃダメなんです。
これって何?という感じだったんですが、iTunesConnectで設定した際の"Leaderboard ID"というやつみたいです。

iTCでは"category"などという単語は書かれてなかったので迷いました。"Leaderboard Reference Name"とどっちだろう?って言う感じで。