Monthly Archives: June 2015

Swift: Game Center へ Achievement を送信する

Apple の Game Center を使って iOS のゲームアプリを設計すれば、ゲームスコアやアチーブメントをサーバーへ送信し、プレイヤーのスコアを元にランキングを表示することが出来ます。 以下の4回に分けて、iTunes Connect の設定や Swift のスコア送信の実装を、説明していきたいと思います。 iTunes Connect: Game Center の Leaderboard を設定する Swift: Game Center の Leaderboard へスコアを送信する iTunes Connect: Game Center の Achievement を設定する Swift: Game Center へ Achievement を送信する Game Center 設定シリーズ最後の投稿は Swift で Game Center へ Achievement の送信を行います。 ※この説明は Xcode で アプリが開発されていること、iTunes Connect で新規 iOS App の作成までは完了していることを前提としています。 概要 Swift から Achievement を送信する概要は以下の通りとなります。 各手順の詳しい内容に関しては、次項で説明したいと思います。 必要な Swift ファイル AppDelegate.swift ViewController.swift 手順の概要 Xcode > GameKit.Framework の追加 Xcode > プロジェクトで Game Center を ON にする Swift > Game Center へログインする Achievement 送信メソッドを記述する Achievement 送信メソッドをコールする Game Center へ Achievement を送信する 前回の iTunes Connect: Game Center の Achievement を設定する で作成した iTunes Connect の Achievement ID を使用し Swift から達成項目の送信を行いたいと思います。 Xcode > GameKit.Framework の追加 Project > General > Linked Frameworks and Libraries の「+」をクリックし、GameKit.Framework を追加します。 Xcode > プロジェクトで Game Center を ON にする Project > General > Capabillities > Game Center を ON にします。 Game Center へログインする AppDelegate.swift に GameKit をインポートし の func application didFinishLaunchingWithOptions に Game Center のログイン処理を記述します。 ここで Game Center のログイン処理を行えば、アプリが起動する毎に Game Center のログインがチェックされるようになります。 AppDelegate.swift ビルドし確認します。Game Center へログインしていない場合、ログイン画面が表示されます。 Achievement 送信メソッドを記述する ViewController に GameKit をインポートし、Achievement を送信するメソッドを記述します。 ViewController.swift Achievement 送信メソッドをコールする ViewController の viewDidLoad から 上記のメソッドを呼び出します。ViewController.swift の全ソースは以下のようになります。 ViewController.swift 以上で Swift から Game Center へ Achievement を送信する説明は完了です。viewDidLoad に記述した送信メソッドを、任意のタイミングで呼び出せば、様々なアプリで流用が可能です。 まとめ Achievement はアプリ内で使用する様々な値(起動回数、プレイ回数、レベルなど)を、達成項目として設定することが可能です。 注意すべき点は、Game… 続きを読む
eyecatch_image

iTunes Connect: Game Center の Achievement を設定する(2015年最新版)

Apple の Game Center を使って iOS のゲームアプリを設計すれば、ゲームスコアやアチーブメントをサーバーへ送信し、プレイヤーのスコアを元にランキングを表示することが出来ます。 以下の4回に分けて、iTunes Connect の設定や Swift のスコア送信の実装を、説明していきたいと思います。 iTunes Connect: Game Center の Leaderboard を設定する Swift: Game Center の Leaderboard へスコアを送信する iTunes Connect: Game Center の Achievement を設定する Swift: Game Center へ Achievement を送信する 今回は iTunes Connect で Game Center の Achievement の設定を行います。 ※この説明は Xcode で アプリが開発されていること、iTunes Connect で新規 iOS App の作成までは完了していることを前提としています。 手順の概要 Achievement の追加 達成項目 -> 達成項目の参照名 を入力 達成項目 -> 達成項目 ID を入力 達成項目 -> 点数 を入力 達成項目 -> 非表示 を選択 達成項目 -> 複数達成可能 を選択 達成項目のローカリゼーション 言語を追加 -> 言語 を選択 言語を追加 -> タイトル を入力 言語を追加 -> 達成前に表示する説明 を入力 言語を追加 -> 達成後に表示する説明 を入力 言語を追加 -> 画像(オプション)で ファイルを選択 から画像を登録する Leaderboardを編集 -> Save をクリック Game Center の Achievement を設定 を設定する ここからは SQN プレイ回数の Achievement を例に説明していきたいと思います。 上から順に設定していくと Game Center での Achievement の設定は完了します。 Achievement の追加 iTunes Connect -> マイ App -> アプリを選択 -> Game Center をクリック 達成項目を追加 をクリックし、アプリに Achievement を追加する。 達成項目 -> 達成項目の参照名 を入力 この値は iTunes Connect 上で Achievement の識別に使用します。 命名規則にルールはありませんので、分かりやすい名称にすればいいかと思います。 例)sqn.achievement.playFirst (アプリ名.アチーブメント.達成項目名) 達成項目 -> 達成項目 ID を入力 この値はアプリのコーディングで参照する値となります。 命名規則にルールはありませんので、分かりやすい名称にすればいいかと思います。 例)sqn.achievement.playFirst (Achievement の参照名と同じ) 達成項目 -> 点数 を入力 項目達成時に獲得する点数です。 アプリ内で使用できる合計得点は 1000 点までとなっているので、後のアップデートでアチーブメントを追加することを考慮し、全ての点数を使いきらないよう設計することをお勧めします。 達成項目 -> 非表示 を選択 非表示 とした場合、この Achievement をプレイヤーが達成するまで Game Center で達成項目が表示されません。 達成項目 -> 複数達成可能 を選択 Yes を選択すると、ユーザはすでに達成した達成項目に対する Game Center のチャレンジを受け入れることができます。 達成項目のローカリゼーション Leaderboard のローカリゼーション -> 言語を追加 をクリック 言語を追加 -> 言語… 続きを読む

Swift: Game Center の Leaderboard へスコアを送信する

Apple の Game Center を使って iOS のゲームアプリを設計すれば、ゲームスコアやアチーブメントをサーバーへ送信し、プレイヤーのスコアを元にランキングを表示することが出来ます。 以下の4回に分けて、iTunes Connect の設定や Swift のスコア送信の実装を、説明していきたいと思います。 iTunes Connect: Game Center の Leaderboard を設定する Swift: Game Center の Leaderboard へスコアを送信する iTunes Connect: Game Center の Achievement を設定する Swift: Game Center へ Achievement を送信する 今回は Swift で Game Center の Leaderboard へスコアの送信を行います。 ※この説明は Xcode で アプリが開発されていること、iTunes Connect で新規 iOS App の作成までは完了していることを前提としています。 手順の概要 Swift から Leaderboard へスコアを送信する概要は以下の通りとなります。 各手順の詳しい内容に関しては、次項で説明したいと思います。 必要な Swift ファイル AppDelegate.swift ViewController.swift 手順の概要 Xcode > GameKit.Framework の追加 Xcode > プロジェクトで Game Center を ON にする Swift > Game Center へログインする Swift > スコア送信メソッドを記述する Swift > スコア送信メソッドをコールする Game Center の Leaderboard へスコアを送信する 前回 iTunes Connect: Game Center の leaderboard を設定する で作成した iTunes Connect の Leaderboard ID を使用し Swift からスコアの送信を行いたいと思います。 Xcode > GameKit.Framework の追加 Project > General > Linked Frameworks and Libraries の「+」をクリックし、GameKit.Framework を追加します。 Xcode > プロジェクトで Game Center を ON にする Project > General > Capabillities > Game Center を ON にします。 Game Center へログインする AppDelegate.swift に GameKit をインポートし の func application didFinishLaunchingWithOptions に Game Center のログイン処理を記述します。 ここで Game Center のログイン処理を行えば、アプリが起動する毎に Game Center のログインがチェックされるようになります。 AppDelegate.swift ビルドし確認します。Game Center へログインしていない場合、ログイン画面が表示されます。 スコア送信メソッドを記述する ViewController に GameKit をインポートし、スコアを送信するメソッドを記述します。 ViewController.swift スコア送信メソッドをコールする ViewController の viewDidLoad から 上記のメソッドを呼び出します。ViewController.swift の全ソースは以下のようになります。 ViewController.swift 以上で Swift から Game Center へスコアを送信する説明は完了です。今回 viewDidLoad に記述した送信メソッドを、任意のタイミングで呼び出せば、様々なアプリで流用が可能です。 まとめ Leaderboard のスコアは点数だけではなく、タイムやアプリ内のユニークな数値に対しても有効です。 注意すべき点は、Game Center へのスコアの反映は、サーバーのトラフィックにより早い時は数秒、遅いと数十分かかる場合があります。 ですので、まずはローカル上のデータベース(もしくはユーザーデフォルト等)にスコアを保存し、Game Center… 続きを読む
eyecatch_image

iTunes Connect: Game Center の leaderboard を設定する(2015年最新版)

Apple の Game Center を使って iOS のゲームアプリを設計すれば、ゲームスコアやアチーブメントをサーバーへ送信し、プレイヤーのスコアを元にランキングを表示することが出来ます。 今回から4回に分けて、iTunes Connect の設定や Swift のスコア送信の実装を、説明していきたいと思います。 iTunes Connect: Game Center の Leaderboard を設定する Swift: Game Center の Leaderboard へスコアを送信する iTunes Connect: Game Center の Achievement を設定する Swift: Game Center へ Achievement を送信する 今回は iTunes Connect で Game Center の Leaderboard の設定を行います。 ※この説明は Xcode で アプリが開発されていること、iTunes Connect で新規 iOS App の作成までは完了していることを前提としています。 手順の概要 Leaderboard を追加する手順は以下の通りとなります。 各手順の詳しい内容に関しては、次項で説明したいと思います。 Leaderboardセットの作成 Leaderboard の追加 シングル Leaderboard を 選択する シングル Leaderboard -> Leaderboardの参照名 を入力 シングル Leaderboard -> Leaderboard ID を入力 シングル Leaderboard -> スコアのフォーマットタイプ を選択 シングル Leaderboard -> スコア送信タイプ を選択 シングル Leaderboard -> 並べ替えの順序 を選択 シングル Leaderboard -> スコアの範囲(オプション) を入力 Leaderboard のローカリゼーション 言語を追加 -> 言語 を選択 言語を追加 -> 名前 を入力 言語を追加 -> スコアのフォーマット を選択 言語を追加 -> スコアのフォーマットサフィックス を入力 言語を追加 -> スコアのフォーマットサフィックス(複数) を入力 言語を追加 -> 画像(オプション)で ファイルを選択 をクリック 言語を追加 -> Save をクリック Leaderboardを編集 -> Save をクリック Game Center の Leaderboard を設定する ここからは SQN クエストモードのハイスコアの設定画面を例に説明していきたいと思います。 上から順に設定していくと Game Center での Leaderboard の設定は完了します。(Leaderboardセット の作成は内容が重複するため割愛させていただきます) Leaderboard の追加 iTunes Connect -> マイ App -> アプリを選択 -> Game Center をクリック Leaderboard の追加 をクリックし、アプリに Leaderboard を追加します シングルLeaderboard の 選択する をクリック シングルLeaderboard -> Leaderboardの参照名 を入力 この値は iTunes Connect 上で Leaderboard の識別に使用します。 命名規則にルールはありませんので、分かりやすい名称にすればいいかと思います。 例)sqn.quest.highScore (アプリ名.ゲームモード.スコア名) シングルLeaderboard -> Leaderboard ID を入力 この値はアプリのコーディングで参照する値となります。 命名規則にルールはありませんので、分かりやすい名称にすればいいかと思います。 例)sqn.quest.highScore (Leaderboard の参照名と同じ) シングルLeaderboard -> スコアのフォーマットタイプ を選択 各フォーマットタイプの意味は次の通りです。 Integer: 整数値… 続きを読む