Intégration du GameCenter

CoharsCohars Membre
avril 2011 modifié dans Apple Developer Programs #1
Bonjour à  tous !
Je suis en train de développer un jeu et je suis en train de me soucier du Game Center.

J'ai donc sous les yeux :
• la doc à  propos du Game Center (et je parle bien de la oc d'Apple, j'ai pas AliGator sous les yeux  ::) )
• le document "iTunesConnect_DeveloperGuide.pdf" (actuellement page 110)
• le code source de "GKTapper"
et c'est tout.

Et je crois que je viens de comprendre un truc, mais j'aimerais en avoir la confirmation.
Est--ce qu'il faut une licence pour pouvoir tester le game center. Pour l'intégrer dans sa propre application.
Ils disent :
”Clicking on the "Manage Game Center" button on your App Summary Page allows you to enable your
app for Game Center testing, and set up your Leaderboard and Achievement data.”

Pour faire ça il me faut une licence c'est ça ? Et sans ça je ne verrais jamais le petit message "Welcome Back, Cohars" dans ma propre application ?

Merci.

Réponses

  • CoharsCohars Membre
    02:20 modifié #2
    Pas de réponse, ça veut sans doute dire que la réponse est dans la question. Donc oui, il me faut une licence pour m'attaquer au Game Center.
  • DrakenDraken Membre
    02:20 modifié #3
    Je te conseille de te procurer l'ouvrage "Développer des jeux pour iPhone et iPad pour les nuls". Il est vraiment excellent pour un prix modique (22,90 €). Je l'ai acheté à  sa sortie courant Février et je ne le regrette pas du tout. Un must pour toute personne s'intéressant à  la création de jeux iPhones.



  • GranDavGranDav Membre
    02:20 modifié #4
    Bonjour,

    Pour répondre à  ta question Cohars, oui il te faut effectivement un compte développeur iOS qui te permettra :

    • Accéder à  iTunes Connect
    • Créer ton application par le "Manage Applications"
    • Accéder au paramètres Game Center en cliquant sur "Manage Game Center"
    • Activer le test de game center pour ton application


    :-)
  • CoharsCohars Membre
    02:20 modifié #5
    Merci à  vous pour vos réponses.
    Je vais donc garder le Game Center pour la fin.

    Je vais aller voir ce petit livre. Merci pour la référence.
  • CoharsCohars Membre
    02:20 modifié #6
    Mon jeu est presque fini (je ne sais pas à  quel moment on peut dire qu'il est fini ; il a toujours des choses à  ajouter) donc je m'attaque sérieusement au Game Center. Je ne sais pas si certains d'entre vous on déjà  fait la démarche, mais là , je suis un peu pommé, pas au niveau du code, mais pour "l'administration".

    Pour le moment je ne veux que tester, il ne s'agit donc que du Sandbox.
    • Premièrement : dans le Provisioning Portal, le Game Center est bien "enabled" pour mon App ID.
    appid10.png
    • quand je lance mon application, j'ai bien le message d'erreur "This Game is not recognized by Game Center".
    • donc tout se passe dans iTunes connect, mais là , je ne sais pas vraiment quoi faire, j'en suis là  :
    itunes10.png

    • je ne trouve pas le bouton "manage Game Center" dont il est question dans le pdf "iTunesConnect_developerGuide" (p.109).
    • je ne pense pas devoir aller dans "Manage Your Applications" ; il me demande le prix, la date de sortie, la description, les icônes, bref ; je n'ai pas encore fini mon application moi, je ne peux pas dire. D'autant plus que je ne m'intéresse qu'au Sandbox, pas à  l'iTunes Store.
    • quand je vais dans "manage in App Purchase" (je parle de ça car les deux procédures semblent être assez similaires), il me dit :
    "You do not currently have any iOS apps set up.
    To create an in app purchase, first add an iOS app."
    et c'est là  que je crains devoir donner les informations dans "Manage your Applications".


    Donc voilà  où j'en suis actuellement, et ce depuis plusieurs jours.

    Encore une fois, merci.
  • zoczoc Membre
    02:20 modifié #7
    Pas le choix, il faut bien créer une application dans iTunes connect. Les informations demandées pourront être changées plus tard (sauf l'application id) donc ça ne pose pas de problème et n'engage à  rien...

  • CoharsCohars Membre
    02:20 modifié #8
    Pour c'est bien mis "manage your application in the iTunes Store", c'est pas très clair.
    Mais merci pour ta réponse, et doc je pourrais modifier la date autabt de fois que je veux, changer le pris ma descripion et l'icône par la suite ? ça me rassure, je ne m'étais pas encore préparé à  faire tout ça ^^ . c'est surtout le fait de donner une date qui m'embêtais.
  • CoharsCohars Membre
    02:20 modifié #9
    Bonjour, je rencontre des nombreux autres obstacles pour le Game Center. Et je n'avance pas beaucoup.
    Je cherche maintenant à  envoyer un score. Comme dans le Samle Code GKTapper, j'ai un fichier GameCenterManager.m, dedans :

    - (void) reportScore:(int64_t)score forCategory:(NSString*)category<br />{<br />&nbsp; &nbsp; GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; if (localPlayer.authenticated == YES)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease];<br />&nbsp; &nbsp; &nbsp; &nbsp; scoreReporter.value = score;<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (error != nil)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSLog(@&quot;- Error&quot;);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; }];<br />&nbsp; &nbsp; }<br />}
    


    J'ai bien le GameKit d'importé, enfin le problème ne vient surement pas de là , j'ai suivit à  la lettre la doc d'Apple.

    J'envoie le score depuis un autre fichier dans lequel se trouve le code suivant :
    &nbsp; &nbsp; &nbsp; &nbsp; gameCenterManager= [[[GameCenterManager alloc] init] autorelease];<br />&nbsp; &nbsp; &nbsp; &nbsp; currentLeaderBoard= LeaderboardID;<br /><br />// j&#039;ai un doute sur la ligne suivante<br />&nbsp; &nbsp; &nbsp; &nbsp; score = [lastScore intValue];<br /><br />&nbsp; &nbsp; &nbsp; &nbsp; if(score &gt; 0)<br />&nbsp; &nbsp; &nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [gameCenterManager reportScore:score forCategory:currentLeaderBoard];<br />&nbsp; &nbsp; &nbsp; &nbsp; }
    


    Et score est un int64_t. Mon LeaderboardID est définie comme ça (sauf les noms) :
    #define LeaderboardID @&quot;com.mondomaine.leaderboardID&quot;
    


    Le joueur est authentifié sans erreur; tout va bien de ce côté là .
    Et au moment d'envoyer le score, j'ai toujours l'erreur. Et le classement reste vide.

    Merci.
  • CoharsCohars Membre
    avril 2011 modifié #10
    Je pense avoir localisé l'erreur.
    (Pour afficher le classement, je ne définissais pas de catégorie, il affichait donc le classement par défaut en me disant : "aucun résultat", si j'en défini une : leaderboardController.category = currentLeaderBoard; il me dit "chargement impossible".)

    Donc l'erreur est là  :
    #define kLeaderboardID @&quot;com.mondomaine.Gen&quot;
    


    Je ne préfère pas mettre les vrai nom, donc supposons que l'identifier de mon jeu est com.mondomaine.monjeu

    Mon Leaderboard reference Name est General, et son ID est Gen, j'ai donc défini kLeaderboardID :
    #define kLeaderboardID @&quot;com.mondomaine.Gen&quot;
    


    Il y a currentLeaderBoard qui est un NSString et :
    currentLeaderBoard = kLeaderboardID;

    Je ne vois pas où il y a l'erreur si elle est là .

    Sinon, Apple précise dans la doc que si on ne précise pas de catégorie, le score est automatiquement envoyé au Leaderboard par défaut. Or je n'en ai qu'un, mais je ne trouve pas comment ne pas préciser de catégorie pour enregistrer mon score.
    Et forcément, ce n'est que contourner le problème.

    EDIT : j'ai réussi à  enregistrer sans donner de catégorie. Mais j'aurai de problèmes le jour où je voudrais plusieurs catégories. Enfin c'est pas pour aujourd'hui. J'en aurai aussi quand je voudrais ajouter des achievements. C'est peut-être dans un futur plus proche.
Connectez-vous ou Inscrivez-vous pour répondre.