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

Game Center and Leaderboard Ljestvice za Vašu iOS Aplikaciju

by
Difficulty:BeginnerLength:LongLanguages:

Croatian (Hrvatski) translation by Maja Petek (you can also view the original English article)

Uvod

Game Center je Appleova društvena mreža za igranje. Omogućuje korisnicima da prate svoje najbolje rezultate na ljestvicama, uspoređuju dostignuća, pozivaju prijatelje da igraju igru, i započnu multiplayer igru kroz automatsko spajanje. Stoga, ako ste izgradili iOS igru i želite da korisnici imaju mogućnost objavljivanja svojih rezultata na Game Center leaderboard ljestvici, ovo je tutorial upravo za Vas!

Za više informacija o aplikacijama i Game Centru, posjetite Apple Developer stranicu.

Xcode Projekt

Za potrebe ovog tutoriala, kreiramo sam osnovni Xcode projekt koji možete preuzeti s GitHub-a. Objasniti ću sve potrebne korake da kreirate leaderboard ljestvicu na iTunes Connect-u i potreban kod da na njoj objavite rezultat, zajedno s gumbom za otvaranje leaderboard ljestvice unutar aplikacije.

Ovako izgleda Storyboard ploča aplikacije:

Demo Xcode project

Ovaj projekt ima UILabel s crvenim tekstom koji sam nazvao scoreLabel i nekoliko UIButtons gumba. Crveni će rezultatu dodati 10 bodova i plavi će otvoriti GKGameCenterViewController i prikazati tu leaderboard ljestvicu.

Prva stvar koju treba učiniti jest omogućiti Game Center u Capabilities tabularu u Xcode-u.

Enable Game Center in the Capabilities tab

Zatim morate uvesti GameKit na vrhu vaše ViewController.swift datoteke i dodati GKGameCenterControllerDelegate protokol klasi deklaracije.

Dodajmo sada nekoliko varijabli. Možete zalijepiti ovaj kod izravno u svoju ViewController klasu:

Prva varijabla označava imate li omogućen Game Center, a drugi će kasnije koristiti lokalni kôd za autentifikaciju igrača kako bi GameKit prepoznao zadanu leaderboard ljestvicu.

score će početno biti 0, naravno.

LEADERBOARD_ID je String koji morate podesiti kako bi Game Center poslao vaš rezultat na server kroz zadani leaderboard identifikator.Odaberite naziv koji želite, ali imajte na umu da mora imati web-obrnutu sintaksu. Zato sam identificirao ovu leaderboard ploču kao com.score.mygamename, gdje bi mygamename trebao biti zamijenjen nazivom vaše aplikacije s malim slovima bez razmaka.

Prije nego što onemogućimo Game Center u iTunes Connect stranici vaše aplikacije, dovršimo osnovni kod. Dodajmo ovaj niz u viewDidLoad():

I dodajte sljedeću funkciju  točno ispod viewDidLoad():

U slučaju da se korisnik nije prijavio u Game Center iz postavki (Sttings) na svom uređaju, gornja metoda će prikazati Game Center zaslon za prijavu ​​čim se poveže s GC poslužiteljem. Nakon što se igrač prijavio, aplikacija dobiva zadani leaderboard ID.

U sljedećoj metodi ćemo učiniti da aplikacija dohvati LEADERBOARD_ID string koji ste prethodno kreirali i proslijedili ga kao zadani leaderboard ID za Game Center poslužitelj.

Kod iznad također dodaje 10 bodova trenutnom rezultatu, pa svaki put kada kliknete Add Score and Submit To CG gumb, vidjeti ćete da se crvena oznaka bodova mijenja, i aplikacija će poslati taj ažurirani rezultat vašej GC leaderboard ljestvici.

Sada morate dodati GameKit metodu delegata koja će odbaciti GC kontroler.

Postoji samo jedna metoda za kodiranje prije kreiranja leaderboarda na iTunes Connect, a to je akcija za gumb koji će otvoriti GameCenter ViewController.

Kao što možete vidjeti gore, ovaj kôd instancira GC kontroler, dodjeljuje svog delegata tom kontroleru, postavlja stanje pregleda kontrolera za prikazivanje ploča s najboljim rezultatima i prosljeđuje vaš LEADERBOARD_ID prije predstavljanja kontrolera.

Sada smo gotovi s kodiranjem, ali još ne možete pokrenuti aplikaciju. Ako to učinite, dobiti ćete pogrešku od Xcode-a jer niste izradili vlastiti leaderboard na iTunes Connect stranici vaše aplikacije.

Podesite Game Center na iTunes Connect

Trebali ste već izraditi iOS aplikaciju u programu iTunes Connect s vlastitim identifikatorom paketa. Sada unesite aplikaciju s nadzorne ploče programa iTunes Connect i kliknite Features, a zatim Game Center.

Zatim kliknite ikonu + pored Leaderboards.

App Features page on iTunes Connect

Na sljedećem zaslonu odaberite Single Leaderboard.

Add a leaderboard

Ovdje morate upisati ime koje želite dati svojoj leaderboard ploči. Na screenshot snimci ispod  upotrijebio sam naziv My Leaderboard Name samo kao primjer. Vi možete dodijeliti naziv Best Score Leaderboard ili neki drugi ako želite.

U polju Leaderboard ID zalijepite LEADERBOARD_ID niz koji smo prethodno izradili u Xcode projektu.

Budući da je rezultat broj, odaberite Integer u polju Score Format Type. Možete odabrati željenu opciju za Submission Type i Sort Order. Score Range (Optional) ostavite prazno.

Na kraju, kliknite gumb Add Language.

Set leaderboards details

U skočnom prozoru morate odabrati jezik svog leaderboarda. Zadan je uvijek engleski jezik. Ponovo upišite engleski naziv svojeg leaderboarda i odaberite Score Format ( ja sam odabrao zareze za odjeljivanje grupa od znamenki).

Score Format Suffix polja su neobavezna; možete ostaviti oba polja prazna ili upisati željeni sufiks. Na primjer, ako vaša igra ima bodove, možete upisati 'točku' i 'bodove' za množinu pa će Game Center kontrolor dodati taj sufiks na kraj rezultata prikazanih na vašoj leaderboard ljestvici, poput '1 bod' ili '100 točaka”.

Možete dodati i ikonu. Slika mora biti .jpeg, .jpg ili .png datoteka koja je 512x512 ili 1024x1024 piksela, barem 72 DPI i u RGB-u bez prozirne pozadine. Kliknite Choose File da biste prenijeli sliku.

Na kraju kliknite Save i gotovi ste. Možete ponoviti gore navedene korake kako biste dodali više jezika - samo unesite nazive ljestvice s rezultatima prema odabranom jeziku.

Add a leaderboards language

Nakon što dodate prozor, možete provjeriti pojedinosti o leaderboard ljestvici. Ako je sve u redu, kliknite Save i biti ćete preusmjereni na Features stranicu, s novim leaderboardom.

Language added for a new leaderboard
Features page

Sada je vrijeme da omogućite Game Center u odjeljku App Store u aplikaciji. Kliknite App Store i Prepare For Submission.

App Store section

Pomaknite se prema dolje dok ne pronađete Game Center prekidačem pokraj njega. Ovo omogućite  i postati će zeleno. Zatim kliknite znak + pored Leaderboards, odaberite svoj leaderboard s popisa i kliknite Done.

Kliknite Save u gornjem desnom kutu prozora i završiti ćete postavljanje Game Center-a na iTunes Connect.

Save your app with Game Centers leaderboard

Sada se možete vratiti na svoj Xcode projekt i pokrenuti aplikaciju na stvarnom uređaju ili čak na iOS Simulatoru. Ako već niste prijavljeni na Game Center, pojaviti će se Sign In kontroler. Izgleda ovako:

Game Center Sing In screen

Prijavite se sa svojim vjerodajnicama i možete početi testirati aplikaciju!

U našu addScoreAndSubmitToGC () metodu dodali smo sljedeći print() poziv:

Dakle, ako dotaknete crveni gumb, scoreLabel će prikazati '10' , a Xcode konzola će ispisati Best Score submitted to your Leaderboard!

Score updated and submitted to your leaderboard

Dodirnite crveni gumb još tri puta, a zatim dodirnite plavi kako biste otvorili ploču s rezultatima i provjerite je li poslana ocjena 40. Trebali biste vidjeti nešto ovako:

GC controller for leaderboards

Zaključak

Ako želite vidjeti Game Center u akciji s potpuno funkcionalnom aplikacijom za igru, možda biste željeli pogledati moj predložak igre Four Dots na CodeCanyon-u. To je predložak  za minimalnu beskonačnu igru ​​koja sprema najbolje rezultate i proslijeđuje ih u Game Center.

Four Dots iOS app template on CodeCanyon

Ovakvi predlošci igara su sjajan način da započnete sa svojom sljedećom igrom. CodeCanyon ima stotine predložaka igara za iOS koje možete iskoristiti kako biste započeli razvoj - što vam omogućuje da izgradite sljedeću ubojitu igru ​​mnogo brže!

Hvala Vam na čitanju i vidimo se sljedeći put! Pogledajte i neke druge naše tutoriale o razvoju Swift i iOS aplikacija.

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.