tvOSアプリのGameCenter対応

GameCenter対応

  • iOS版とtvOS版のLeaderboardを共通のものとして使いたい

Xcode

  • iOS用のコードをそのまま利用しようとしたら以下の様なエラーが出た
  • エラー: viewState is unavailable
  • エラー: leaderboardIdentifier is unavailable
  • tvOSではこれらは使われないようなのでviewStateleaderboardIdentifierの設定は削除
  • tvOSではleaderboardIdentifierAssets.xcassetsから行う

手順

  • Assets.xcassetsにてGame Center > New Apple TV Leaderboardからアセットを追加
  • 追加したLeaderboardに画像を登録
  • LeaderboardAttributes inspectorにてIdentifierを登録
  • tvOS側のBundle IDをiOSと同じものにする (同じじゃない場合)

参考

iTunes Connect側

ゲームグループ

「ゲームグループ」もiTunes Connectの機能で、Game Centerに対応した複数のゲームを1つのグルー プにまとめ、Game Centerのコンテンツの一部を共有できます。グループに属する各ゲームは、iTunes Connect上にそれぞれレコードを持つ独立したゲームですが、アセットの一部を共有します。

App Storeで公開する、次のようないくつかの版を、すべて同じゲームとして扱える、という利点があります。 iOS版とOS X版(別々に用意する場合)。 無料版と有料版。

  • Game Centerグループに関して別資料: iTunes Connect向けCame Center構成ガイド > グループ
  • iTunes Connect > App Store > tvOS APPから既存(iOS用)のLeaderboardを追加すると以下の様なエラーが出る (エラーはiOS APP側にも出る)
  • Leaderboardは1つ以上のLeaderboardセットに属している必要があります。
  • 上記作業をしている最中にiOS版の審査が通る
  • 上記エラーが出なくなった
  • 別の問題でGame Centerグループを作成しようとするもエラーが出る
  • グループ化の必要の有無、グループ作成方法がわからないが、グループ化していないLeaderboard IDにてスコアのアップロードを確認できた (Sandbox)