iOS
Лидеры игр GameCenter
Поиск…
Лидеры игр GameCenter
Предпосылки:
- Аккаунт Apple Developers
- Настройка лидеров GameCenter с iTunesConnect
Настройка лидеров GameCenter:
- Войдите в iTunesConnect
- Перейдите в « Мои приложения» . Создайте приложение для своего проекта, затем перейдите в « Особенности» .
- Нажмите на Game Center
- Нажмите знак «плюс» рядом с «Лидербордами».
- Выберите Single Leaderboard для типов Leaderboard.
- Создайте справочное имя Leaderboard для справки.
- Создайте идентификатор Leaderboard для вашего приложения, чтобы ссылаться на отчетность.
- Установите формат оценки в Integer
- Оценка результатов будет лучшим показателем
- Нажмите « Добавить язык» и заполните записи.
Скопируйте свой LeaderboardID
который вы создали, и перейдете к Xcode.
Работа с Xcode
Есть 4 функции, с которыми мы будем работать.
Импорт структуры и настройка протоколов
Проверка входа пользователя в GameCenter
Отчеты о результатах в GameCenter
Просмотр лидеров
Импорт GameKit
import GameKit
протоколовGKGameCenterControllerDelegate
Теперь мы хотим проверить, подписан ли пользователь в 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
}
}
}
- Теперь пользователь использует приложение, и внезапно у пользователя новый высокий балл, мы сообщаем о высоком балла, вызывая функцию ниже.
Функция ниже hols 2 параметра.
Identifier
который определен как строка и используется для ввода вашего идентификатора руководителя, который вы создали в iTunesConnect.
score
которая определяется как Int, которая будет оцениваться пользователями для 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 {
}
})
}
}
- Теперь, если пользователь хочет просмотреть таблицы лидеров, вызовите функцию ниже
//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()
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow