iOS
Tablas de clasificación de GameCenter
Buscar..
Tablas de clasificación de GameCenter
Requisitos previos:
- Cuenta de desarrolladores de Apple
- Configura las tablas de clasificación de GameCenter con iTunesConnect
Configuración de tablas de clasificación de GameCenter:
- Inicia sesión en iTunesConnect
- Ir a Mis Aplicaciones . Crea una aplicación para tu proyecto y luego ve a Características .
- Haga clic en Game Center
- Haga clic en el signo más junto a Tablas de clasificación.
- Elija Tabla de clasificación individual para los tipos de Tabla de clasificación.
- Cree un nombre de referencia de la tabla de clasificación para su referencia.
- Cree una ID de tabla de clasificación para que su aplicación se refiera a cuando informe las puntuaciones.
- Establecer formato de puntuación en entero
- La sumisión del puntaje será la mejor puntuación
- Haga clic en Agregar idioma y complete las entradas.
Copia tu LeaderboardID
que hiciste y te permite ir a Xcode.
Trabajando con Xcode
Hay 4 funciones con las que trabajaremos.
Importando el framework y configurando los protocolos.
Comprobando si el usuario ha iniciado sesión en GameCenter
Reportar los puntajes a GameCenter
Viendo tablas de clasificación
Importar GameKit
import GameKit
ProtocolosGKGameCenterControllerDelegate
Ahora queremos comprobar si el usuario ha iniciado sesión en GameCenter
func authenticateLocalPlayer() {
let localPlayer = GKLocalPlayer.localPlayer()
localPlayer.authenticateHandler = { (viewController, error) -> Void in
if viewController != nil {
//If the user is not signed in to GameCenter, we make them sign in
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(viewController!, animated: true, completion: nil)
} else {
//Do something here if you want
}
}
}
- Ahora el usuario está utilizando la aplicación y, de repente, el usuario tiene una nueva puntuación más alta. Informamos la puntuación más alta llamando a la siguiente función.
La función de abajo hols 2 parámetros.
Identifier
que se define como una cadena y se usa para ingresar su ID de tabla de líderes que creó en iTunesConnect.
score
que se define como un Int, que será el puntaje que los usuarios enviarán a iTunesConnect
func saveHighScore(identifier:String, score:Int) {
if GKLocalPlayer.localPlayer().authenticated {
let scoreReporter = GKScore(leaderboardIdentifier: identifier)
scoreReporter.value = Int64(score)
let scoreArray:[GKScore] = [scoreReporter]
GKScore.reportScores(scoreArray, withCompletionHandler: {
error -> Void in
if error != nil {
print("Error")
} else {
}
})
}
}
- Ahora, si el usuario quiere ver tablas de clasificación, llame a la siguiente función
//This function will show GameCenter leaderboards and Achievements if you call this function.
func showGameCenter() {
let gameCenterViewController = GKGameCenterViewController()
gameCenterViewController.gameCenterDelegate = self
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(gameCenterViewController, animated: true, completion:nil)
}
//This function closes gameCenter after showing.
func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController) {
gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
self.gameCenterAchievements.removeAll()
}