View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Vídeos

Abrir menu Fechar menu
  • Coleções
  • Tópicos
  • Todos os vídeos
  • Sobre

Mais vídeos

  • Sobre
  • Resumo
  • Transcrição
  • Código
  • Introdução ao Game Center

    Explore os recursos do Game Center e saiba como começar. Mostraremos as melhores práticas para implementar conquistas, desafios, placares e atividades para maximizar a capacidade de descoberta do seu jogo, atrair novos jogadores e aumentar o engajamento. Para aproveitar ao máximo esta sessão, também recomendamos assistir ao vídeo “Engaje jogadores com o app Apple Games”.

    Capítulos

    • 0:00 - Introdução
    • 2:41 - Configuração do projeto
    • 6:51 - Integrar recursos do Game Center
    • 10:00 - Desafios e atividades
    • 23:53 - Testar a implementação
    • 26:44 - Publicar na App Store
    • 28:32 - Próximas etapas

    Recursos

    • Apple Unity Plug-Ins on GitHub
    • Creating activities for your game
    • Creating engaging challenges from leaderboards
    • Game Center overview
    • Human Interface Guidelines: Game Center
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC25

    • Engaje jogadores com o app Apple Games
    • Melhore ainda mais seus jogos

    WWDC22

    • Plug-in and play: Add Apple frameworks to your Unity game projects
  • Buscar neste vídeo...

    Oi, pessoal, sou Josh Arenson, engenheiro na equipe de frameworks do Game Center. Vou mostrar as melhores formas de adicionar o Game Center ao seu jogo, e por que você deve fazer isso! Sou Varokas Panusuwan, engenheiro do Game Center Server. Vou mostrar os novos recursos deste ano e compartilhar algumas práticas recomendadas para aproveitá-los bem. Isso mesmo! E tem mais novidades! Então não importa o seu nível de experiência, fique aqui! Se você não conhece o Game Center ou precisa apenas se atualizar, é um pacote de recursos para os jogadores aproveitarem melhor os jogos e descobrirem novos jogos com os amigos. O Game Center também facilita a interação dos jogadores com contatos existentes, tudo de acordo com o compromisso da Apple com a privacidade. O Game Center oferece uma seleção de recursos: conquistas, tabelas de classificação, desafios e atividades. Eles ajudam a criar experiências mais interessantes. Permitem que os jogadores vejam o progresso, joguem entre si e convidem os amigos para participar do jogo. Se você quiser que mais jogadores vejam seu jogo, o lugar certo é o novo app Apple Games, que vem pré-instalado no macOS, no iPadOS e no iOS. O Game Center ajuda a aumentar a visibilidade do seu jogo em todo o ecossistema da Apple e, especialmente, no app Games. O recurso do Game Center que você integra dá ao sistema operacional mais informações para mostrar seu jogo em mais lugares. Com recursos importantes, o Game Center aumenta o engajamento do jogador: tabelas de classificação, desafios, atividades e conquistas. Isso dá aos jogadores objetivos e oportunidades de conexões sociais, o que os mantêm focados no jogo. Esses recursos importantes ajudam a reter os jogadores. Eles tornam seu jogo mais divertido e competitivo, e isso leva às pessoas a querer continuar jogando. Muitos jogadores começam a pesquisar novos jogos na App Store. A nova tabela Top Played Games informa aos jogadores quais jogos são mais jogados. O novo app Games também tem essa tabela, o que significa que o Game Center dá ao seu jogo uma vantagem nos dois locais! No App Store e no app Games, você encontra a seção Friends Are Playing. Embora seja ótimo ver o que é mais popular, às vezes você quer recomendações mais personalizadas. Essa seção mostra o que seus amigos gostam, o que pode ser uma ótima maneira de descobrir tesouros escondidos que talvez não encontre entre os jogos mais populares. O Game Center ajuda a estimular a competição amistosa! Por exemplo, ele envia notificações por push quando um amigo toma seu lugar em uma tabela de classificação. Agora que já falei sobre o que é o Game Center e as vantagens que oferece ao seu jogo, vamos à prática. Varokas e eu vamos mostrar como adicionar facilmente o Game Center ao seu jogo. Abordaremos tudo, desde a instalação e a configuração do projeto até o teste da implementação e a publicação no App Store. Há apenas duas etapas para que o Game Center funcione em seu jogo. Primeiro, adicione o direito Game Center ao seu projeto. Isso permite que seu jogo se comunique com o Game Center. Em seguida, inicialize o GameKit, que é o framework para se comunicar com o Game Center. Para adicionar o direito Game Center no Xcode: abra seu projeto, navegue até a aba Signing and Capabilities, clique em “+ Capability” e procure e adicione o Game Center.

    Se você estiver usando o Unity, a Apple fornece um plug-in que simplifica o processo de adição do direito Game Center. Baixe o plug-in do GitHub. O repositório tem instruções sobre como criá-lo e instalá-lo. Após instalar o plug-in, abra o Unity Editor, acesse o menu Build Profiles e clique em Build. Isso gera um projeto Xcode que já contém os direitos adequados. Após a adição do direito, poucas linhas de código já bastam para inicializar o framework Game Kit que você usa para interagir com o Game Center. A inicialização é muito simples. Você registra um manipulador que será chamado quando a inicialização terminar. Após a execução do manipulador, você terá acesso ao objeto GKLocalPlayer, que fornecerá todas as informações de jogador necessárias para relatar o progresso do jogo. Neste código do Swift, estou configurando o manipulador de inicialização. Ao finalizar a inicialização, o manipulador é acionado e o GKLocalPlayer aponta para um jogador válido. Uma ótima notícia se você for um desenvolvedor que usa o Unity: todas as APIs do GameKit têm associações com C#! O plug-in Unity da Apple permite que você integre o GameKit diretamente do Unity Editor. Vejamos agora o mesmo código de inicialização do GameKit, mas em C#.

    Assim que o manipulador é acionado, os recursos do Game Center são liberados e um banner é exibido para os jogadores. Se um jogador nunca tiver participado de jogos do Game Center, ele receberá uma solicitação para entrar usando a Conta Apple. Para dar mais visibilidade ao jogo, defina o manipulador de inicialização do Game Center o mais próximo possível do lançamento. Isso ajuda seu jogo a aparecer na tabela Top Played Games e como uma recomendação para outros jogadores. Em The Coast, um jogo em que eu, Varokas e outro colega, Logan, criamos, o manipulador é acionado assim que a tela do título aparece, um ótimo local para isso. Depois de configurar o manipulador de inicialização, você pode aprimorar ainda mais seu jogo com os recursos do Game Center: As conquistas premiam os marcos dos jogadores e dão a eles algo para se gabar. As tabelas de classificação e os desafios geram mais competição e criam oportunidades multijogador, mesmo em jogos para um jogador. As atividades permitem que você vincule os jogadores diretamente a um conteúdo específico no jogo. Por exemplo, pule direto para o nível necessário e ganhe uma conquista! Há três maneiras principais de configurar esses recursos do Game Center. Primeiro, uma novidade no Xcode 26, você pode configurar o Game Center diretamente no Xcode usando um pacote GameKit. Isso traz vantagens como a sincronização com o App Store Connect e é o método recomendado durante o desenvolvimento.

    Quando estiver pronto para lançar seu jogo, o site do App Store Connect será útil para realizar a revisão e a verificação da configuração do Game Center. Para automatizar uma parte do processo de configuração, talvez como parte do seu fluxo de trabalho de integração contínua, use a API App Store Connect. Os pacotes GameKit apresentam grandes vantagens: novos recursos de teste para suas conquistas, tabelas de classificação e atividades de jogo, diretamente em Xcode e completamente isolado do seu jogo ativo com o Game Progress Manager! Ter esses dados locais, indica que a configuração do Game Center está automaticamente no controle de versão e nas revisões de código! Ontem à noite, o Varokas e eu estávamos trabalhando em nosso jogo The Coast. Ele começou a configurar o Game Center no App Store Connect, mas quero usar um pacote .gamekit para integrar os recursos do Game Center para agilizar o desenvolvimento. Para adicionar um pacote GameKit ao projeto do Xcode, abra o seletor de modelos.

    Na barra de pesquisa, digite GameKit.

    Está vendo o modelo GameKit Bundle? Selecione-o e clique em Next.

    Eu poderia escolher o nome do arquivo, mas o padrão serve. Clico em Create, e o Xcode adiciona o pacote ao meu projeto.

    Como já tenho algumas tabelas de classificação, desafios, atividades e conquistas no App Store Connect, vou extrair as informações do meu jogo de lá. Clico nas reticências e seleciono Pull from App Store Connect.

    Agora seleciono minha equipe de desenvolvimento, procuro The Coast e clico em pull para buscar as informações do meu jogo.

    Quando isso terminar, vejo tudo o que criei anteriormente no App Store Connect.

    O Varokas e eu decidimos criar uma tabela de classificação para um dos níveis, chamado Cape Cod, in The Coast. No nível Cape Cod, os jogadores tocam rapidamente nos navios para guiá-los a um local seguro e somar pontos. Mas atenção! Alguns navios são, na verdade, lagostas disfarçadas. Se tocar em uma lagosta por engano, o nível termina! Para adicionar a tabela de classificação, clico no botão “+” e seleciono Leaderboard.

    O Xcode me pede um nome de referência e um identificador. Todas as coisas que crio no Game Center têm esses dois campos, e só os desenvolvedores os veem. O identificador faz referência à tabela de classificação no código do meu jogo. Insiro os valores que o Varokas e eu já combinamos

    e clico em Add.

    Posso ajustar a tabela de classificação para se adequar ao nível do meu jogo. Por enquanto, os padrões estão bons para mim! O Game Center detecta automaticamente onde o jogador está e exibe as informações em seu idioma nativo. É por isso que é crucial preparar nomes, descrições e imagens traduzidas para cada idioma compatível com o jogo.

    Vou clicar em “+” para adicionar uma localização, inserir os valores que o Varokas e eu combinamos e clicar em Add.

    Pronto, minha tabela de classificação está pronta para ser chamada diretamente do código do meu jogo. Com base no que abordamos, esses mesmos conceitos podem ser usados para criar conquistas, desafios e atividades. Agora que você viu como configurar seu jogo para o Game Center e implementar sua funcionalidade, gostaria de chamar o Varokas para compartilhar sua experiência! Obrigado, Josh. Estou animado para mostrar como adicionar dois novos recursos do Game Center ao seu jogo: desafios e atividades. Os dois são elaborados para ajudar a criar experiências para multijogadores e aumentar o engajamento dos jogadores. Os desafios transformam instantaneamente um jogo para um jogador em uma experiência social com os amigos. Os desafios funcionam diretamente com a tabela de classificação que já existe no seu jogo. Basicamente, isso significa que você obtém dois recursos em um. Não é necessário nenhum código adicional! Com os desafios, os jogadores convidam os amigos para competir pela maior pontuação. Eles verão todas as pontuações em tempo real, quem será coroado o vencedor e podem até iniciar uma revanche diretamente da mesma tela. Todos os desafios têm um limite de tempo. Assim, os jogadores são incentivados a entrar no jogo antes que o tempo acabe! Os desafios estão relacionados às tabelas de classificação, mas funcionam de forma diferente. Uma tabela de classificação é uma competição contínua com todos os seus amigos no Game Center. Mas, quando é criado, um desafio oferece algumas personalizações importantes. Enquanto as tabelas de classificação são contínuas, um desafio tem um horário de início e fim. O jogador que inicia o desafio pode escolher quando quer iniciar a partida. Ele também pode decidir a duração do desafio. Uma tabela de classificação inclui todos os amigos de um jogador no Game Center, mas um desafio permite que ele decida quem vai participar. Isso também inclui jogadores que não estejam na lista de amigos. E ele decide quantas tentativas cada jogador terá, tornando essa uma minicompetição muito personalizada.

    Enquanto os jogadores personalizam a duração do desafio, você tem a opção de decidir quais durações eles podem escolher. Você pode deixá-los escolher 1 dia, 3 dias, uma semana ou uma combinação. Esta é a parte legal! Para ativar os desafios para os jogadores, talvez você não precise fazer nenhuma alteração em seu jogo. Se você tiver uma tabela de classificação em seu jogo, já estará usando a API submitScore() para atualizar as pontuações do jogador. Essa mesma API envia as pontuações para todos os desafios relacionados de forma automática! Como Cape Cod é o primeiro nível do The Coast, ele é um nível muito popular. Isso o torna um ótimo local para adicionar um desafio. A primeira etapa é criar os metadados do desafio no Xcode. Assim como todo recurso no Game Center, um desafio precisa de uma imagem que melhor o represente e um nome de exibição correspondente. Internamente, você também precisa de um identificador para usar no código do jogo e um nome de referência para procurar o desafio no App Store Connect. Sabendo disso, preparei a imagem, o nome de exibição, o ID e o nome de referência para Cape Cod. Já temos uma tabela de classificação montada no The Coast. O que preciso fazer é verificar se o ID da tabela de classificação em submitScore() está definido corretamente. No mesmo fluxo de trabalho que Josh mostrou, crio o desafio no Xcode usando a arte e o nome de exibição.

    Mas para ter certeza, confiro se a tabela de classificação associada está definida corretamente como Cape Cod. É aqui que posso configurar as durações que o jogador poderá selecionar. Como The Coast é um jogo curto, de 1 minuto, vou permitir um ou três dias. E então temos tudo o que é preciso para implementar um desafio. Confira se os metadados do desafio estão configurados corretamente e, se você já usa as tabelas de classificação, não precisa alterar o código do jogo! Se o seu jogo tiver uma tabela de classificação recorrente, a forma como um desafio funcionará será diferente. As tabelas de classificação sempre estão em andamento, mas uma tabela de classificação recorrente tem horários de início e término definidos. Veja aqui um exemplo de uma tabela de classificação recorrente diária, que começou à meia-noite de hoje e terminará à meia-noite de amanhã.

    Um desafio associado a uma tabela de classificação recorrente terminará ao mesmo tempo que a instância da tabela de classificação atual. Se eu começar um novo desafio agora com o Josh, nós dois temos até a meia-noite de quarta-feira para competir antes que o desafio termine.

    Nesse caso, a tela de criação do desafio mostrará o tempo restante antes da meia-noite.

    Quando um desafio se baseia em uma tabela de classificação recorrente, você pode marcar esse desafio como não repetível. No caso, os jogadores só têm uma tentativa. Isso pode ser útil, por exemplo, em um quebra-cabeça. Um desafio de quebra-cabeça diário funcionaria melhor como um desafio não repetível. Os jogadores podem criar e ver os desafios em vários locais no app Games. Você também pode criar uma uma interface para mostrar todos os desafios disponíveis e ativos no jogo. Leia a documentação para saber mais. Os desafios são feitos para nivelar o jogo e dar a cada jogador uma chance justa. Sempre envie as pontuações de tabelas de classificação e desafios conforme recomendado.

    Por exemplo, envie uma nova pontuação sempre no final de cada nível. Aqui, envio a pontuação do número de navios salvos sempre que o jogador tenta concluir o nível. Não deixe acumular pontuações de várias tentativas. Evite enviar uma pontuação permanente, como Total de navios salvos. A disputa deve ser de habilidades, e não avaliar quanto tempo cada pessoa permanece jogando.

    Como você sabe, o jogador que cria o desafio pode decidir quantas tentativas cada jogador pode fazer. Em geral, o certo é enviar uma pontuação apenas uma vez no final de cada nível. Dessa forma, confira se você não está enviando pontuações mais vezes do que pretendia. Agora criei meu desafio. Quero muito que os meus jogadores comecem a participar do desafio facilmente. É aí que vemos a utilidade das atividades.

    Você pode usar esse novo recurso para adicionar links diretos à ação no seu jogo. As atividades constituem finalidades específicas no seu jogo. Você pode levar os jogadores a conhecer essas finalidades com um link direto. Para definir um ponto de partida de uma atividade, você pode associá-la a outros recursos do Game Center.

    Por exemplo, uma tabela de classificação que envia pontuações no final do nível 1 pode ser associada a uma atividade com link direto para o início desse nível. Quando os jogadores virem a tabela de classificação no app Games, poderão tocar em Jogar para iniciar o nível. Todos os desafios definidos para essa tabela de classificação também estarão associados à mesma atividade. Assim, quando os jogadores virem o desafio do nível 1 no app Games, poderão tocar em Jogar e iniciar o nível 1. Você também pode usar as atividades para criar links diretos para partes do jogo associadas a conquistas específicas, como um nível de luta contra chefe.

    Outra ótima maneira de usar as atividades é criar links diretos para experiências multijogador em tempo real. Com o suporte integrado ao código de grupo do Game Center, você pode integrar qualquer sistema multijogador em tempo real com as atividades do Game Center. Há muitas formas de usar as atividades para ajudar a trazer mais jogadores para o seu jogo. Vou mostrar dois exemplos hoje com The Coast: Um para o desafio Cape Cod que criei, e e outro para uma atividade multijogador.

    Já pedi aos meus amigos para testarem o meu novo desafio Cape Cod. Agora quero definir uma atividade para esse desafio. Então este botão Play vai diretamente para o início de um nível quando eles tocam nele. Primeiro, temos que definir os metadados. Para o ID de atividade, usarei thecoast.activity. Também posso adicionar mais detalhes à atividade base. Por exemplo, posso definir que essa atividade seja para um modo de jogo específico no The Coast. Depois, posso relacionar qualquer tabela de classificação ou conquista a uma atividade. Mas e os desafios? Os desafios estendem as tabelas de classificação. Portanto, quando você associa uma tabela de classificação a uma atividade, os desafios também são associados automaticamente. Então, vou vincular a tabela de classificação Cape Cod à nova atividade. O próprio item associado também pode ter propriedades. No caso, adicionei capeCod como um valor level para as propriedades da tabela de classificação. Quando essa atividade é ativada do desafio Cape Cod, as propriedades base são combinadas com as propriedades da tabela de classificação. Com todas as propriedades enviadas, posso verificar no manipulador do jogo que Cape Cod é o nível que será iniciado. Como já tenho tudo o que preciso para uma atividade, vou colocar todos os valores dos metadados no Xcode. Aqui já criei uma nova atividade com uma imagem e nome de exibição. Agora, nesta seção, posso configurar as propriedades de atividade base. Para associar a tabela de classificação do Cape Cod à nova atividade, seleciono a tabela de classificação no Xcode e escolho a atividade Cape Cod no menu suspenso.

    É necessário definir as propriedades corretas na tabela de classificação, o que posso fazer nesta seção de propriedades.

    Já configurei os metadados da minha atividade, e já estão prontos para uso. Só falta uma peça. Preciso de um manipulador no jogo que envie um jogador diretamente para o nível Cape Cod. No código do jogo, agora posso implementar a função de jogador direto de GKLocalPlayerListener. A instância da atividade passada tem uma definição com um identificador que acabei de configurar no Xcode. Depois de encontrar o ID certo, dou uma olhada no valor das propriedades, e agora meu jogador pode começar no nível certo.

    Com as atividades, você pode usar a função setScore para enviar as pontuações. Depois que você chamar activity.start(), todos os envios de pontuação serão armazenados no buffer. Em activity.end(), o Game Center envia a pontuação mais recente do jogador apenas uma vez. Isso é útil especialmente no caso dos desafios. Dessa forma, não há como você enviar acidentalmente uma pontuação várias vezes. A criação de um link direto para os recursos do Game Center, como desafios, ajuda o jogador a ir para o local certo no jogo. Com as atividades multijogador, os jogadores podem jogar com amigos. Em atividades multijogador, uma atividade será vinculada a um código de grupo, que você pode integrar ao sistema multijogador existente em tempo real.

    Quando um jogador inicia uma nova atividade multijogador, o Game Center gera automaticamente um código de grupo. O jogador agora pode compartilhar essa atividade com os amigos facilmente pelo iMessage. A atividade e o código de grupo são mostrados como uma página online em qualquer dispositivo que não tenha o app Games instalado. Essa página online também fornece uma tag OpenGraph para garantir que ela tenha a melhor aparência possível quando compartilhada. Não importa como os jogadores compartilham a atividade, o Game Center informa o código de grupo que cada jogador deve usar para participar. Você pode conectar todos com o mesmo código de grupo no sistema multijogador.

    No caso, a configuração dos metadados da atividade seria feita da mesma maneira de antes. Há apenas uma diferença, você precisa marcar a opção Supports Party Code. Nada muda no caso do manipulador no jogo. Você pode acessar o código de grupo na instância da atividade. As atividades multijogador também funcionam com a solução atual de emparelhamento do Game Center. Peça ao Game Center para encontrar uma correspondência para essa atividade usando a função findMatch() direto da instância da atividade. Quando você cria uma atividade, há algumas coisas a saber. Para aproveitar ao máximo o link direto, ignore telas de seleção ou introdução. Em vez disso, direcione o jogador para o ponto de partida certo. Se o local da vinculação exigir pagamento ou houver uma barreira de progressão, mostre uma mensagem no jogo para informar ao jogador o que ele precisa fazer para começar a jogar. Mostre claramente o código de grupo atual no jogo. Isso leva o jogador a concluir que ele está no lugar certo. Também deve haver uma forma de o jogador inserir o código de grupo manualmente no jogo. Isso é útil caso o código de grupo seja recebido de um dispositivo ou plataforma diferente. Agora que todos esses recursos já estão implementados no The Coast, é hora de testar e garantir que tudo funcione. Mas é o Josh que vai mostrar isso. Obrigado, Varokas! As atividades e os desafios são uma ótima adição ao nosso jogo, mas primeiro quero testar a tabela de classificação do Cape Cod que adicionei recentemente. Vamos lembrar que minha tabela de classificação rastreia o número de navios que os jogadores guiam para a segurança. Agora, posso usar o novo Game Progress Manager para conferir se a lógica de relatório de pontuação do jogo dessa tabela de classificação funciona bem. Para testar a tabela de classificação, a primeira coisa que faço é editar o esquema do jogo e ativar o modo de depuração de configuração do GameKit. É só ir em opções de execução no editor de esquema.

    Feito isso, inicio o jogo no Xcode e abro o Game Progress Manager no menu Debug.

    Em seguida, escolho o dispositivo e o jogo que quero testar. Seleciono meu iPhone e The Coast.

    Todas as conquistas e tabelas de classificação do meu pacote .gamekit aparecem aqui, e vou selecionar a tabela de classificação que acabei de criar. Daqui, posso enviar qualquer pontuação clicando no botão plus score. Poderia enviar uma pontuação em nome de qualquer jogador, mas vou enviar 42 pontos para mim.

    Com isso, um banner aparece no meu jogo confirmando que foi recebido. Um recurso útil que funciona quando o jogo está no modo de depuração. Se eu abrir a tabela de classificação do Cape Cod, posso ver a pontuação de teste que acabei de enviar. Mas quero verificar é se o jogo está atribuindo as pontuações corretamente. Vou apagar a tabela de classificação clicando no botão para apagar, confirmar que quero fazer isso, jogar de verdade e ganhar uma pontuação. De volta ao The Coast, salvo o maior número possível de navios.

    Opa, fui enganado de novo pela lagosta! Vejo o banner de depuração novamente, e a tabela de classificação no jogo também mostra a pontuação que acabei de ganhar. Muito bom! A pontuação apareceu no Xcode. Isso confirma que a lógica do jogo está correta! Não se pode esquecer que essas pontuações só são válidas nesta sessão de depuração, pois elas não são enviadas ao servidor. Agora quero testar o GameActivity que o Varokas criou anteriormente. Como ele está associado à tabela de classificação do Cape Cod, posso ver o link direto no Game Progress Manager. O Varokas já configurou o manipulador de link para iniciar o nível Cape Cod ao clicar no link. Clico no link no Xcode, que tem o mesmo efeito de clicar nele no dispositivo.

    Posso ver que o Cape Cod inicia novamente, o que significa que o código de manipulação de link funciona perfeitamente! Depois de confirmar que tudo funciona bem, estou pronto para publicar o pacote .gamekit no App Store Connect. Volto ao projeto Xcode com o pacote .gamekit selecionado como antes. Vou clicar nas reticências, mas desta vez seleciono Push to App Store Connect.

    Novamente, seleciono The Coast e clico em Push.

    Quando terminar, vejo tudo o que tinha no pacote .gamekit no site do App Store Connect. Reparou como tudo diz Not Live? Esse é um conceito importante no ciclo de vida do Game Center, e é crucial entender o motivo de tudo começa nesse estado. Vamos voltar lá atrás e olhar para todo o processo, desde a criação até a publicação, para ver como o estado Not Live se encaixa. Este diagrama mostra o ciclo de vida de tabelas de classificação, desafios, atividades e conquistas do seu jogo, desde a criação até a publicação. Ele se divide em três seções: o Xcode para desenvolvimento e configuração do Game Center, o Test Flight para testes beta e o App Store Connect para lançar seu jogo. Primeiro, você tem que criar seu jogo. Escreva o código e adicione alguns recursos do Game Center usando um pacote .gamekit. Em seguida, teste tudo o que você criou usando o Game Progress Manager. Quando estiver satisfeito com seus próprios testes, publique seu jogo no TestFlight para que os testadores beta possam participar. Quando vir que tudo está funcionando corretamente, envie o jogo à Apple para análise. Inclua todos os recursos do Game Center que você deseja usar em seu envio, mas que não estejam ativos. Depois que a Apple analisar e aprovar tudo e você decidir lançar, os recursos do Game Center ficarão ativos e seu jogo será publicado na App Store! Parabéns! Esse é um momento emocionante para o seu jogo! Agora, você deve adicionar um pacote .gamekit ao seu jogo no Xcode. Não importa se você já conhece bem o Game Center ou começou agora, isso facilitará o desenvolvimento de seu jogo. Depois disso, adicione o código para inicializar o GameKit! Só por fazer isso, você deixa o jogo mais visível em todo o sistema operacional. As atividades e desafios são novos, e acreditamos que valha a pena investir tempo neles, então teste! Para garantir que seus jogos tenham uma boa aparência no app Games, confira o vídeo do meu colega Logan, “Interagir com jogadores no app Apple Games”. Para os desenvolvedores em Unity, o vídeo sobre a integração de frameworks da Apple em seus projetos do Unity é imperdível. Estamos ansiosos para nos divertirmos com os jogos que você vai criar. Muito obrigado por assistir!

    • 4:17 - Initialize GameKit

      GKLocalPlayer.local.authenticateHandler = { _, error in
          print("\(GKLocalPlayer.local.alias) is ready to play!")
      }
    • 4:29 - Initialize GameKit (Unity)

      var player = await GKLocalPlayer.Authenticate();
      Debug.Log($"{player.alias} is ready to play!");
    • 13:07 - Submit score to challenge

      // Submit score
      
      GKLeaderboard.submitScore(points, 
               context: 0, 
               player: GKLocalPlayer.local,
               leaderboardIDs: ["thecoast.lb.capecod"])
    • 20:24 - Activity properties

      // Activity properties 
      
      extension AppDelegate: GKLocalPlayerListener {
      
          func player(_ player: GKPlayer, wantsToPlay activity: GKGameActivity) async -> Bool {
              let activityId = activity.activityDefinition.identifier
              
              if activityId == "thecoast.activity" {
                  let level = activity.properties["level"]
                  
                  if level == "capecod" {
                      startCapeCod(activity)
                  }
              }
              
              return true
          }
      
      }
    • 20:48 - Managing score submission with activity

      // Managing score submission with activity 
      
      class GameplayManager {
          let activity: GKGameActivity
          let leaderboard: GKLeaderboard
          
          init(activity: GKGameActivity, leaderboard: GKLeaderboard) {
              self.activity = activity
              self.leaderboard = leaderboard
              
              activity.start()
          }
          
          func setScore(_ newScore: Int) {
              activity.setScore(on: leaderboard, to: newScore)
          }
      
          deinit {
              activity.end()
          }
      }
    • 22:35 - Access the Party Code

      extension AppDelegate: GKLocalPlayerListener {
          func player(_ player: GKPlayer, wantsToPlay activity: GKGameActivity) async -> Bool {
              let activityId = activity.activityDefinition.identifier
              
              if activityId == "thecoast.multiplayer" {
                  startMultiplayer(partyCode: activity.partyCode)
              }
              
              return true
          }
      }
    • 22:48 - Game Center Matchmaking

      let match = try await activity.findMatch()
    • 0:00 - Introdução
    • O Game Center é a rede social de jogos da Apple. Ele oferece um pacote de recursos, incluindo conquistas, placares, desafios e atividades, que aprimoram o envolvimento dos jogadores nos jogos. A simples ativação do Game Center aumenta a visibilidade do seu jogo em todo o ecossistema da Apple, inclusive no novo app Apple Games, que estará pré-instalado no macOS, iPadOS e iOS ainda este ano. O Game Center também promove a interação social por meio de notificações por push, incentivando a competição amigável e mantendo os jogadores envolvidos no jogo.

    • 2:41 - Configuração do projeto
    • É fácil integrar o Game Center no seu jogo. São duas etapas: adicione o direito do Game Center ao seu projeto Xcode e adicione duas linhas de código para inicializar o GameKit. Pronto! Se preferir, você pode configurar recursos adicionais do Game Center diretamente no Xcode usando pacotes do GameKit, um novo recurso no Xcode 26 que pode ser sincronizado com o App Store Connect.

    • 6:51 - Integrar recursos do Game Center
    • Usando o exemplo de um jogo chamado The Coast, Josh mostra como usar um pacote do GameKit no Xcode para integrar os recursos do Game Center. Ele adiciona um novo placar para o nível Cape Cod, onde os jogadores tocam em navios para guiá-los até a segurança, evitando lagostas sorrateiras que terminam o nível. As mesmas etapas também se aplicam ao criar outros recursos do Game Center, como conquistas, desafios e atividades.

    • 10:00 - Desafios e atividades
    • O Game Center tem duas novidades este ano: desafios e atividades. Os desafios se baseiam nos placares existentes e permitem que os jogadores convidem amigos para competir em partidas em tempo real com tempo limitado. Os jogadores podem personalizar os desafios, escolhendo participantes, duração e número de tentativas, tornando cada competição personalizada. As atividades fornecem uma maneira de vincular diretamente a áreas específicas do seu jogo, como o início de um nível ou uma luta contra chefes. Você pode associar Atividades a placares, desafios e até experiências multijogador em tempo real. O Game Center agora oferece suporte para códigos de grupo compartilháveis, que os jogos podem usar para conectar jogadores em experiências multijogador.

    • 23:53 - Testar a implementação
    • Josh mostra as etapas necessárias para testar um placar e o link direto associado de atividades no Xcode.

    • 26:44 - Publicar na App Store
    • Veja como criar um pacote do GameKit e testar sua implementação com o Game Progress Manager se encaixa perfeitamente no processo de publicar seu jogo na App Store.

    • 28:32 - Próximas etapas
    • Adicione um pacote GameKit ao seu jogo no Xcode para facilitar o processo de desenvolvimento do seu jogo. Em seguida, adicione o código para inicializar o GameKit no seu jogo. Só ao seguir essas duas etapas, você já torna seu jogo mais visível em todo o sistema operacional. Experimente os novos recursos, atividades e desafios do Game Center no seu jogo. Se você é um desenvolvedor Unity, confira o plug-in do GameKit no GitHub.

Developer Footer

  • Vídeos
  • WWDC25
  • Introdução ao Game Center
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Store
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Sample Code
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright © 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines