Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK
Code

Game Center і список лідерів в вашому додатку для iOS

by
Difficulty:BeginnerLength:LongLanguages:

Ukrainian (українська мова) translation by Andy Yur (you can also view the original English article)

Вступ

Game Center це соціальна ігрова мережа Apple. Вона дозволяє користувачам відстежувати свої рекорди в таблиці лідерів, порівнювати досягнення, запрошувати друзів в гру і запускати багато користувачів гру через авто-пошук. Тому, якщо ви створили гру iOS і хочете, щоб користувачі могли публікувати свої бали в таблиці лідерів Game Center, це відповідний урок для вас!

Додаткову інформацію про додатки і Game Center можна знайти на сторінці Apple Developer.

Проект Xcode

Для цього уроку я створив базовий проект Xcode, який можна завантажити з GitHub. Я поясню всі необхідні кроки, для створення таблиці лідерів в iTunes Connect і необхідний код для відправлення туди очок, а також кнопку, щоб відкрити таблицю лідерів з програми.

Ось як виглядає Storyboard програми:

Demo Xcode project

Цей проект має UILabel з червоним текстом, який я назвав scoreLabel і парочка UIButtons. Червоний додасть 10 очок до рекорду і відправить це в таблицю лідерів Game Center, а синя відкриє GKGameCenterViewController і покаже цю таблицю лідерів.

Найперше, що потрібно зробити так це включити Game Center на вкладці Capabilities в Xcode.

Enable Game Center in the Capabilities tab

Потім ви повинні імпортувати GameKit у верхній частині вашого ViewController.swift і додати протокол GKGameCenterControllerDelegate оголошення класу.

Тепер додамо кілька змінних. Ви можете вставити цей код прямо в клас ViewController:

Перша змінна вказує, чи включений Game Center, а другий буде використовуватися пізніше за допомогою коду аутентифікації гравця, щоб GameKit зміг визначити таблицю лідерів за замовчуванням.

score спочатку буде 0, звичайно.

LEADERBOARD_ID це String, яку ви повинні встановити, щоб ігровий центр (Game Center) відправив ваші окуляри на сервер за допомогою ідентифікатора таблиця лідерів за замовчуванням. Виберіть назву яке хочете, але майте на увазі, що воно повинно бути назад веб-формату.  Ось чому я визначив цю таблицю лідерів як com.score.mygamename, де mygamename повинен бути замінений на назву вашого застосування в малих символах без пробілів.

Перш ніж включити Game Center на сторінці iTunes Connect вашого застосування, давайте закінчимо базовий код. Додайте цей рядок в viewDidLoad():

И добавьте следующую функцию прямо под viewDidLoad():

У разі, якщо користувач не зайшов в Game Center з налаштувань на своєму пристрої, наведений вище метод відобразить екран входу в Game Center, як тільки він підключиться до сервера GC. Після входу в систему додаток отримує ідентифікатор таблиці лідерів за замовчуванням.

У наступному методі ми змусимо додаток схопити рядок LEADERBOARD_ID, яку ви створили раніше і передати її як ідентифікатор таблиця лідерів за замовчуванням на сервер Game Center.

У наведеному вище коді також додається 10 балів до поточному рахунку, тому кожен раз, коли ви натискаєте кнопку Add Score and Submit To GC, ви побачите, що напис з червоною міткою змінюється і додаток відправить оновлений рахунок в вашу таблицю лідерів GC.

Тепер вам потрібно додати метод делегування GameKit, який завершить контролер GC.

Перед створенням вашої таблиці лідерів в iTunes Connect залишився тільки один метод, який є дією на кнопку, яка відкриє ViewController ігрового центру.

Як ви бачите вище, цей код створює екземпляр контролера GC, призначає делегування на цей контролер, встановлює стан виду контролера для відображення лідерів і проходить по вашому елементу LEADERBOARD_ID перед показом контролера.

Ну ось, ми закінчили писати код, але ви ще не можете запустити додаток. Якщо ви це зробите, ви отримаєте повідомлення про помилку від Xcode, так як ви не створили власну таблицю лідерів на сторінці iTunes Connect вашого застосування.

Налаштувати ігровий центр на iTunes Connect

Ви вже повинні створити додаток iOS в iTunes Connect з вашим ідентифікатором Bundle. Тепер увійдіть в свій додаток з панелі інструментів iTunes Connect і натисніть Features, а потім Game Center.

Потім клікніть по значку + поруч з Leaderboards.

App Features page on iTunes Connect

Виберіть Single Leaderboard на наступному екрані.

Add a leaderboard

Тут вам потрібно ввести назву, яке ви хочете дати своїй таблиці лідерів. На скріншоті нижче я використовував My Leaderboard Name, як приклад. Ви можете назвати вашу Best Score Leaderboard або як завгодно ще.

В поле Leaderboard ID вставте рядок LEADERBOARD_ID, яку ми раніше створили в проекті Xcode.

Оскільки рахунок це число, виберіть Integer в полі Score Format Type. Ви можете вибрати потрібний варіант для типу відправлення (Submission Type) і порядку сортування (Sort Order). Залиште Score Range (Optional) порожнім.

Нарешті, натисніть кнопку Add Language, для додавання мови.

Set leaderboards details

У спливаючому вікні ви повинні вибрати мову своєї таблиці лідерів. За замовчуванням завжди використовується англійська мова. Введіть ще раз назву вашої таблиці лідерів, наприклад, англійською та виберіть Score Format (я вибрав коми для розділення груп цифр).

Поля Score Format Suffix необов'язкові; ви можете залишити обидва поля порожніми або ввести потрібний суфікс. Наприклад, якщо у вашій грі бали, ви можете набрати «бал» і «балів» для множини, тоді контролер Game Center додасть цей суфікс у кінець оцінок, які відображаються у вашій таблиці лідерів, наприклад «1 бал» або «100 балів".

Ви також можете додати значок. Зображення повинно бути файлом .jpeg, .jpg або .png, з розміром 512x512 або 1024x1024 пікселів, не менше 72 DPI, в колірному просторі RGB без прозорого фону. Натисніть Choose File, щоб завантажити зображення.

Нарешті натисніть Save і все готово. Ви можете повторити описані вище кроки, щоб додати більше мов - просто введіть назви таблиця лідерів відповідно до обраного мовою.

Add a leaderboards language

Після того, як ви додали вікно, ви можете перевірити деталі вашої таблиці лідерів. Якщо все в порядку, натисніть Save і ви будете перенаправлені на сторінку функцій (Features) для вашої нової таблицею лідерів.

Language added for a new leaderboard
Features page

Тепер прийшов час включити Game Center в розділі App Store вашого застосування. Натисніть App Store і Prepare for Submission.

App Store section

Прокрутіть вниз до тих пір, поки ви не побачите Game Center і перемикач поруч з ним. Увімкніть його і він стане зеленим. Потім натисніть на значок + поруч з Leaderboards, виберіть свою таблицю лідерів зі списку і натисніть Done.

Натисніть Save в правому верхньому куті вікна і все буде готово до налаштування Game Center на iTunes Connect.

Save your app with Game Centers leaderboard

Тепер ви можете повернутися до проекту Xcode і запустити додаток на реальному пристрої або навіть на симуляторі iOS. Якщо ви ще не були прийняті в Game Center, з'явиться контролер Sign In. Виглядає це так:

Game Center Sing In screen

Увійдіть в систему зі своїми обліковими даними і ви зможете почати тестування програми!

У нашому методі addScoreAndSubmitToGC() ми додали наступний виклик print():

Так що, якщо ви натиснете червону кнопку, в scoreLabel буде відображатися «10», а консоль Xcode надрукує Best Score submitted to your Leaderboard!

Score updated and submitted to your leaderboard

Торкніться червоної кнопки ще три рази, а потім натисніть синю, щоб відкрити таблицю лідерів і перевірте, що відправлені окуляри рівні 40. Ви повинні побачити щось на зразок цього:

GC controller for leaderboards

Висновок

Якщо ви хочете побачити Game Center в дії з повнофункціональним іграми платформи, ви можете перевірити мій шаблон гри Four Dots на CodeCanyon. Це шаблон для минималистичной нескінченної гри, яка зберігає кращі результати і відправляє їх в Game Center.

Four Dots iOS app template on CodeCanyon

Шаблони ігор, подібні до цього це відмінний спосіб почати працювати над вашою наступною грою. CodeCanyon містить сотні шаблонів ігор для iOS, які ви можете використовувати, щоб швидко почати розробку, це дозволить вам побудувати наступну гру-вбивцю набагато швидше!

Спасибі що прочитали і побачимося наступного разу! Ознайомтеся з деякими з наших інших посібників з розробки додатків Swift і iOS.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.