Chapter 1: Getting Started with Game Kit and Game Center
Game Kit and Game Center a History
Game Center Benefits and Marketing
Game Kit: An Overview
Sample Game: UFOs
UFOs: Examining the Source Code
Getting Started with iTunes Connect
Chapter 2: Game Center: Setting Up and Getting Started
Game Center from the user perspective
Testing for Game Center
Authenticating with Game Center
The Sandbox
Watching for Status Changes
Working with GKLocalPlayer
Retrieving a Friends List
Friend List Avatars
Working with Players
Chapter 3: Leaderboards
Why a Leaderboard?
An Overview of Leaderboards in Game Center
Configuring a Leaderboard in iTunes ConnectPosting a Score
Setting a Default Leaderboard
Adding Score Posting to UFOsHandling Failures When Submitting a Score
Presenting a Leaderboard
Customizing the LeaderboardMapping a Player ID
Local Player Score
A Better Approach
Chapter 4: Achievements
Why Achievements?
An Overview of Achievements in Game Center
Configuring Achievements in iTunes Connect
Resetting Achievements
Adding Achievement Hooks
Chapter 5: Matchmaking and Invitations
Why Add Matchmaking and Invitations to Your App? Common Matchmaking Scenarios
Creating a New Match Request
Presenting Match GUI Handling Incoming Invitations
Auto-Matching
Matching ProgrammaticallyAdding a Player to a Match
iOS 5
ReinvitesPlayer Groups
Player Attributes
Player Activity
Using Your Own Server (Hosted Matches)
Chapter 6: The Peer Picker
Benefits of the Peer Picker
Real-World Examples
Working with Sessions
Presenting a Peer Picker
Advanced GKSession Interaction
The Peer Picker Delegate
Summary
Chapter 7: Network Design Overview
Three Types of Networks
Less Common Networks
Reliable Data vs. Unreliable Data
Sending Only What Is Needed
Prediction and Extrapolation
Formatting Messages
Preventing Cheating and Preventing Timeout-Related Disconnections
What to Do When All Else Fails
Chapter 8: Exchanging Data
Modifying a Single-Player Game
Setting Up Our Engine for Multiplayer
Putting Everything Together
Disconnections
Chapter 9: Turned-Based Gaming with Game Center
A New Sample Project GKTurnedBasedMatchmakerViewController
Starting a New Game
Making the First Move Continuing a Game in Progress
Ending a Match
Quitting and Forfeiting Programmatic Matches
GKTurnBasedEventHandler
Chapter 10: Voice Chat
Voice Chat for Game Center
Voice Chat for Game Kit
Putting It Together
Chapter 11: In-App Purchase with StoreKit
Setting Up Your App in iTunes Connect Adding Products to Your App
Purchasing a Product
Subscriptions and RenewalsTest Accounts and Testing Purchases
Submitting a Purchase GUI Screenshot
Developer ApprovalReceipts
Tying Everything Together in UFOs