Minigame do WeChat: Do Registro à Revisão
Objetivo: Transformar o jogo Unity do usuário em um Minigame do WeChat, concluir as qualificações e duas aprovações (ICP), e enviar a versão para revisão até que "Gerenciamento de Versões → Versão em Revisão" mostre "Em Revisão".
Antes de começar: Confirme que os passos 1 a 4 do ship-my-game foram concluídos (arquivo de progresso, canal, verificação de integridade, navegador). Se não, leia-o primeiro.
Marcações de fonte
[实测](Testado na prática): Comprovado em uma conta real de pessoa física.[官方](Oficial): Baseado na documentação oficial, com links.- 「已在后台核对」 (Verificado no painel): Páginas e campos lidos no painel real em 2026-11-02, mas não enviados.
Escopo dos testes práticos (até 2026-11-08)
- Testado na prática: Registro, ativação do "Quick Adaptation", pacote Unity 6 rodando em dispositivo real, aprovação de qualificações (aprovado), certificação WeChat (concluída), aprovação do Minigame (aprovado pelo órgão responsável), aprovação do Mini Programa (aprovado na revisão inicial da plataforma), upload com ferramentas de desenvolvedor, versão de teste, envio para revisão (primeira vez reprovado por tela preta na primeira abertura, corrigido com o patch B7 e reenviado, aprovado em ~1 hora), publicação de jogo offline antes de obter o número de aprovação do Mini Programa, materiais de operação (descrição do jogo, texto promocional, capa de material genérico, imagens promocionais verticais e horizontais, vídeo promocional vertical de gameplay real) enviados para revisão.
- Apenas com base
[官方]: Etapas após a aprovação inicial do Mini Programa, upload via linha de comando, lançamento gradual, condições de publicação para jogos online, resultado da revisão de materiais de operação, vídeos promocionais genéricos, conta de anúncios (流量主) e recebimento de pagamentos.
Tarefas da Pessoa
| Fase | Tarefa |
|---|---|
| P1 | Registrar conta: preencher email com código de ativação, verificar identidade real, escanear QR code do administrador do WeChat. Testado: ~20 minutos [实测] |
| Todo o processo | Fazer login em mp.weixin.qq.com escaneando QR code. A sessão expira em menos de um dia; após expirar, é preciso escanear novamente [实测] |
| P2 | Fazer login nas Ferramentas de Desenvolvedor do WeChat escaneando QR code; decidir se ativa a "porta de serviço" da ferramenta (configuração de segurança) [实测] |
| P3 | Jogar o preview escaneando o QR code com o WeChat do celular. O QR code de preview expira após ~25 minutos [实测] |
| P4 | Assinar documentos e enviar materiais durante a submissão de qualificações; Certificação WeChat: concordar com os termos, verificar identidade, pagar [实测] |
| P5 | Aprovação do Minigame, passo 1: escanear QR code com o celular para assinar três documentos; tirar prints das telas de aprovação no WeChat do celular; clicar no botão "Enviar" final [实测] |
| P6 | Aprovação do Mini Programa (ICP): fotos da frente e verso do RG, endereço residencial (incluindo número da porta), dois números de celular da pessoa (responsável e contato de emergência) e email, verificação facial biométrica, concordar com os termos [实测]; se a província de registro for Guangdong ou Xinjiang, escrever uma declaração manuscrita; após aprovação inicial, concluir a verificação por SMS do MIIT em 24 horas [官方] (Guia de aprovação, Exemplos de materiais) |
| P7 | Ao fazer upload via linha de comando, gerar a "chave de upload do código do Mini Programa", geralmente requer escaneamento do QR code pelo administrador (não testado) |
| P8 | Clicar em "Enviar" no portão de envio para revisão; após aprovação, o usuário decide publicar e confirma escaneando o QR code com o admin [实测] |
| Pós-publicação | Ao ativar a conta de anúncios (流量主), concordar com o contrato de anúncios; após ativação, preencher dados financeiros: nome do titular, número do RG, número da conta bancária [官方] (Anúncios, payouts.md) |
Requisitos de Engenharia (Conferir com o Passo 3 da Entrada Principal)
Versão do Mecanismo (Engine)
- Documentação oficial
[官方]:- Suporta Unity 2018~2022 e Unity Engine (Tuanjie), recomenda 2022.3 ou Unity Engine (Versões recomendadas).
- O changelog do SDK menciona "Suporte para Unity 6, versão prévia não recomendada para produção" (CHANGELOG).
- Testado neste repositório
[实测]: Unity 6000.6 com 12 patches roda em dispositivo real; os patches foram incorporados em scripts. O antigo problema "tela preta intermitente no Android" (engine não esperava o pacote de assets) causou a reprovação na primeira revisão e foi corrigido pelo patch B7 (ver build.md seção 10). - Como escolher:
- Novos projetos: Use 2022.3 LTS ou Unity Engine.
- Projetos Unity 6 existentes: Podem seguir a rota de patches deste repositório. Informe o usuário de que "oficialmente é considerado pré-visualização" e registre no arquivo de progresso.
Módulo da Plataforma: Suporte a Build WebGL.
SDK
- Baixar com
scripts/fetch_wxsdk.sh, versão fixada em v0.1.34. - Não usar a versão prévia v0.1.35: ela substitui o plugin por WX-WASM-SDK-V3, e os patches existentes podem falhar.
AppID
- Deve ser o AppID de um Minigame real e ter o "Quick Adaptation" ativado. Contas de teste não rodam pacotes Unity
[实测].
Tamanho do Pacote
- Limites oficiais: Pacote principal ≤ 4MB, pacote total ≤ 30MB
[官方](Pacote de código). - Quando os assets do primeiro pacote estão dentro do pacote, a documentação Unity calcula com 20MB (UsingLoader), então controle para 20MB.
- Tamanho testado: 13~14MB
[实测].
Código que Deve Ser Modificado (tudo [实测], ver build.md e capabilities.md):
- Subconjunto de fontes CJK e definir como fallback.
- Salvar jogo usando
WX.StorageSetStringSync, salvando imediatamente após cada ação crítica. - Calcular desvio para área segura (安全区) e botão de cápsula do canto superior direito usando
WX.GetWindowInfo,WX.GetMenuButtonBoundingClientRect. - Remover links externos, avaliações na loja de aplicativos, entradas do Google Services; colocar código apenas para Android dentro de
#if UNITY_ANDROID. - O título da tela principal deve mostrar o nome do jogo registrado em chinês; necessário para os prints da aprovação.
- Quando o ID do anúncio estiver vazio, o botão de anúncio deve degradar graciosamente, sem erros ou travamentos.
- Iniciar o jogo dentro do callback de
WX.InitSDK.
Tipo de Rede: Decidir entre "offline" ou "online" antes da aprovação do Minigame.
- A política de privacidade de jogos offline só pode selecionar "Nenhuma informação do usuário é processada" (verificado no painel).
- Portanto, jogos offline não podem usar interfaces de privacidade como ranking de amigos, área de transferência, informações do usuário (inferido, baseado em console.md).
Fases
Fase P1: Registro e Inicialização do Painel
- Se o usuário já tem conta de Minigame, pule para o passo 2. Caso contrário, siga onboarding.md para abrir a página de registro, guie o usuário para registrar uma conta de pessoa física, e selecione "Minigame" como categoria principal
[实测]. - Definir o nome do jogo: Use apenas caracteres chineses para evitar requisitos de registro de direitos autorais (softwaredocs). O nome fica travado após a submissão de qualificações e não pode ser alterado até a conclusão da aprovação do Mini Programa. Ao selecionar a categoria, evite "Interação Cultural", "RPG" e "Jogos de Cartas" para contas de pessoa física
[官方](Configuração de categoria). Regras em listing.md. - Ativar "Quick Adaptation": "Mapa de Capacidades do Jogo → Capacidades de Desenvolvimento → Pacote de Eficiência de Produção → Quick Adaptation", clique em "Solicitar Agora", entra em vigor imediatamente
[实测]. - Em "Gerenciamento de Desenvolvimento → Configurações de Desenvolvimento → ID do Desenvolvedor", leia o AppID e escreva no arquivo de progresso e em
publish/wechat/build.json[实测]. - Em "Configurações da Conta → Configurações Básicas", confirme que a região de operação é "China Continental" (verificado no painel).
- Instalar a versão Stable das Ferramentas de Desenvolvedor do WeChat (não instalar a Minigame Build) e pedir ao usuário para fazer login escaneando o QR code
[实测].
Critérios de conclusão:
- O arquivo de progresso contém o AppID.
- Na página "Pacote de Eficiência de Produção", o "Quick Adaptation" mostra "Ativado".
- Nas configurações básicas, nome e categoria de serviço estão preenchidos.
- As Ferramentas de Desenvolvedor estão logadas.
Fase P2: Compilação e Exportação
- Instalar o módulo WebGL e executar
scripts/fetch_wxsdk.sh <projeto>para incorporar o SDK emPackages/e aplicar patches[实测]. - Copiar
scripts/ShipWeChatBuild.cspara<projeto>/Assets/Editor/. Depois, escrever<projeto>/publish/wechat/build.jsonbaseado emtemplates/build.json[实测]. - Usar
../ship-my-game/scripts/make_cjk_font.pypara gerar o subconjunto de fontes CJK e preenchercjkFontelatinFontsno build.json[实测]. - Modificar o código conforme os "Requisitos de Engenharia"
[实测]. - Exportar: Executar
../ship-my-game/scripts/unity_build.sh <projeto> WebGL ShipWeChatBuild.Export wechat[实测]. - Nas Ferramentas de Desenvolvedor, "Projeto → Importar Projeto", selecione
<projeto>/Builds/wechat/minigame, clique em "Confiar e Executar", e percorra o fluxo principal do jogo no simulador[实测]. - Usar
scripts/wx_cold_start.pypara simular a primeira abertura no simulador: limpar cache, atrasar o pacote de assets em 12 segundos, compilar, verificar o resultado e restaurar. O revisor faz exatamente isso na primeira abertura; no celular não é perceptível. Passos em build.md[实测].
Critérios de conclusão:
- O log contém
[Ship] wechat export=SUCCEED. Projetos Unity 6 também devem ter[Ship] framework patchede uma linha começando com[Ship] B7. - Na simulação da primeira abertura: o simulador mostra a tela de carregamento antes da tela principal,
wx_cold_start.py logreportaOK, e o modo érelease. - O simulador consegue entrar na tela principal, toques respondem, e não há erros vermelhos no console (exceto logs ignoráveis, ver troubleshooting.md).
- O tamanho do pacote de código exibido no painel de preview está dentro dos limites.
Detalhes e tabela de patches em build.md.
Fase P3: Validação em Dispositivo Real
- Mudar o painel de preview para "Preview de QR Code". Não usar "Preview Automático" ou "Depuração em Dispositivo Real"
[实测]. - Gerar o QR code de preview, enviar a imagem para o usuário ou deixá-lo escanear diretamente da ferramenta. O QR code expira em ~25 minutos
[实测]. - Verificar com o usuário a lista de verificação de dispositivo real em build.md: som, chinês, toque, save ao sair e reentrar, notch e botão de cápsula não obstruem a interface, nenhuma entrada quebrada, tela principal mostra o nome chinês.
- Também simular a primeira abertura no celular: primeiro, deletar o minigame de "Usados Recentemente" no WeChat, depois escanear o QR code. Não foi verificado se deletar limpa o cache de assets. A conclusão deve ser baseada na simulação da Fase P2 no simulador. Se der tela preta, pare e verifique troubleshooting.md; não "reabra o miniprograma" para contornar: o revisor abre apenas uma vez. Foi assim que a primeira revisão foi reprovada
[实测].
Critérios de conclusão: O usuário confirma que todos os itens da lista passaram em pelo menos um celular. Se houver dispositivos Android e iOS, testar em ambos.
Fase P4: Campos Obrigatórios, Qualificações e Certificação (Podem ser paralelos a P2 e P3)
- Aviso de faixa etária: "Configurações da Conta → Configurações Básicas → Aviso de Faixa Etária → Configurar". Preencher conforme console.md, usuário confirma e clica em "Enviar para Revisão" (verificado no painel).
- Política de privacidade do usuário: "Declaração de Conteúdo do Serviço → Guia de Proteção de Privacidade do Usuário → Melhorar". Jogos offline selecionam "Não processar nenhuma informação do usuário de nenhuma forma", usuário confirma e clica em "Confirmar Conteúdo Acima" (verificado no painel).
- Submissão de qualificações: Selecionar "Caso 2: O minigame atual e futuro não precisa de pagamento virtual", materiais de assinatura são preenchidos pelo usuário
[实测]. Ver filing.md. - Certificação WeChat: Feita pelo usuário
[实测]. Ver onboarding.md. - Verificação de identidade real: Se o pagamento virtual não for ativado, não precisa fazer nada. O texto da página diz "Nenhuma ação do desenvolvedor necessária" (verificado no painel).
Critérios de conclusão:
- O aviso de faixa etária mostra "Enviado" ou "Aprovado".
- A política de privacidade não mostra mais "Não atualizada".
- As qualificações mostram "Em revisão" ou "Aprovado".
- A certificação WeChat está concluída, ou paga e em revisão.
Fase P5: Aprovação do Minigame (小游戏备案)
- Confirmar quatro pré-requisitos:
- O nome está finalizado.
- As qualificações foram submetidas.
- O aviso de faixa etária foi submetido.
- Existe uma versão de preview: a tela principal mostra o nome em chinês e o pop-up de "Sugestões de Otimização" está fechado.
- Abrir o formulário de aprovação. Entrada em filing.md. Passo 1 é feito pelo usuário: selecionar tipo de jogo e tipo de rede, escanear QR code para assinar três documentos
[实测]. - O texto do passo 2 é preenchido por você. Primeiro, leia o código para verificar, depois escreva o cenário, jogabilidade e sistema conforme
templates/filing-content.md[实测]. - Entregar a lista de prints ao usuário para ele tirar no WeChat do celular. Você renomeia as imagens por seção, usa o método de transferência local para enviar uma seção de cada vez, clica em "Salvar" após o envio e atualiza a página para verificar
[实测]. - Passar pelo portão de envio: listar o conteúdo a ser submetido para o usuário. Quando ele disser "Enviar", clicar em "Próximo → Pré-visualização das Informações → Enviar", ou pedir ao usuário que clique
[实测].
Critérios de conclusão: Na página "Guia de Fluxo de Aprovação e Publicação do Minigame", a aprovação do minigame mostra "Em Revisão na Plataforma". No arquivo de progresso, anotar o tempo estimado em "Aguardando": aprovação inicial da plataforma 12 dias úteis, aprovação do órgão responsável 1020 dias úteis.
Fase P6: Aprovação do Mini Programa (ICP)
Base: Aprovação do Mini Programa, Guia de Operação de Aprovação, Exemplos de Materiais. O preenchimento e envio foram testados; após a aprovação inicial, siga a documentação oficial.
- Aguardar até que a aprovação do minigame mostre "Aprovado pelo órgão responsável" e a certificação WeChat esteja concluída. Nos testes, o guia de fluxo exigia a conclusão de ambos para que o botão "Iniciar Aprovação" ficasse clicável
[实测]. - Antes de abrir o formulário, explique claramente ao usuário o que ele precisa preparar: fotos da frente e verso do RG, endereço residencial com número da porta, dois números de celular e um email, requisitos de fundo para verificação facial biométrica; se a província de registro for Guangdong ou Xinjiang, escrever uma declaração manuscrita. E combinem que "Enviar" só deve ser clicado após sua verificação. Nos testes, o usuário preencheu e enviou diretamente sem avisar
[实测]. Lista em filing.md. - Entrar pelo "Iniciar Aprovação" no guia de fluxo, que abre uma nova aba "Validar Tipo de Aprovação". Não precisa selecionar Caso 1 / Caso 2 nem tipo de aprovação
[实测].- Usuário: selecionar região, enviar RG, clicar em "Validar"; preencher endereço, celular e email; escanear QR code para verificação facial biométrica; assinar declaração (Guangdong, Xinjiang).
- Você: redigir a "Nota (obrigatória)" para o usuário confirmar (oficialmente não há requisito, não confirmado); ler a página "Pré-visualização de Materiais" para verificar.
- Na página "Pré-visualização de Materiais", passar pelo portão de envio: listar o conteúdo do serviço, notas e materiais enviados ao usuário; endereço e documentos de identidade, peça para o usuário verificar; os termos de consentimento no final devem ser marcados pelo usuário; após o usuário dizer "Enviar", clicar
[实测]. - Após a aprovação inicial da plataforma, lembrar o usuário: após receber o SMS do número 12381, completar a verificação no site de aprovação do MIIT em até 24 horas. O atraso resultará em rejeição
[官方].
Critérios de conclusão: O painel mostra que o número de aprovação foi emitido; ou a aprovação do Mini Programa na página inicial mostra "Em revisão" (testado como "Em revisão da plataforma"), e o arquivo de progresso registra o horário de envio, o estágio atual de revisão e o tempo estimado.
Fase P7: Upload da Versão de Desenvolvimento e Versão de Teste [实测]
Base: Trabalho Colaborativo e Publicação, miniprogram-ci.
- Confirmar que a exportação é a versão a ser submetida: o ID do anúncio pode estar vazio por enquanto, o nome na tela principal está correto e o pop-up de "Sugestões de Otimização" está fechado.
- Fazer upload, escolher um dos dois métodos:
- "Upload" das Ferramentas de Desenvolvedor, preencher número da versão e observações do projeto
[实测]; - Linha de comando
scripts/wx_ci.js upload, requer chave de upload e lista de IPs brancos, ver automation.md (não testado).
- "Upload" das Ferramentas de Desenvolvedor, preencher número da versão e observações do projeto
- Abrir "Gerenciamento de Versões → Versão de Desenvolvimento", confirmar que a versão está lá, e no menu suspenso ao lado de "Enviar para Revisão", selecioná-la como "Versão de Teste". Pedir ao usuário para escanear o QR code da versão de teste para uma última verificação
[实测]. Detalhes em review.md.
Critérios de conclusão: A lista de versões de desenvolvimento contém este número de versão, e a versão de teste pode ser aberta no celular.
Fase P8: Portão de Envio para Revisão [实测]
Base: Revisão de Versão.
- Verificar pré-condições:
- O aviso de faixa etária e a política de privacidade estão concluídos.
- A versão de desenvolvimento foi enviada.
- O nome exibido no jogo coincide com o nome no painel.
- Em "Gerenciamento de Versões → Versão de Desenvolvimento", clicar em "Enviar para Revisão" e preencher o formulário conforme review.md. O formulário está em um iframe cross-domain em uma nova aba; só é possível tirar prints e operar por coordenadas.
- Passar pelo portão de envio da entrada principal: listar para o usuário o canal, versão, tamanho do pacote, descrição da versão, declaração de privacidade e anúncios, e tempo estimado de revisão (oficialmente 1 dia natural, testado 1~3 horas para resultado). Aguardar o usuário dizer "Enviar".
- Clicar em "Enviar" no formulário. No aviso de conformidade de privacidade, clicar em "Continuar Enviando". Depois, ler a página "Gerenciamento de Versões" e confirmar que "Versão em Revisão" mostra "Em Revisão".
Critérios de conclusão: "Versão em Revisão" mostra "Em Revisão". O arquivo de progresso registra o horário de envio, tempo estimado e onde ver o resultado (página "Gerenciamento de Versões", mensagem no sistema).
Período de Espera e Pós-Publicação
Duração de cada item em espera (registrar no arquivo de progresso em "Aguardando")
- Qualificações: Testado: aprovado; a página diz
1 dia útil, oficialmente 13 dias corridos. - Aprovação do Minigame: Inicial da plataforma 1
2 dias úteis, órgão responsável 1020 dias úteis. Testado: enviado em 10/24, entrou em "Revisão do órgão responsável" em 10/31, aprovado em 11/07. - Aprovação do Mini Programa: Oficialmente Caso 2 leva
1030 dias úteis; o painel também mostra 310 (guia de fluxo) e 222 (pop-up "Precisa concluir aprovação" na página de versões). Dar a expectativa com base no maior. Aprovação inicial da plataforma 1~2 dias úteis, reavaliação após rejeição 7 dias úteis. - Revisão de versão: Oficialmente ~1 dia corrido; testado duas vezes com resultado no mesmo dia, ~3 horas (rejeição) e ~1 hora (aprovação).
O que não fazer durante a espera
- Não mudar o nome, não transferir a conta: ambas as aprovações se tornarão inválidas e precisarão ser reiniciadas.
- Não clicar em "Plugin tem atualização" nas Ferramentas de Desenvolvedor: a versão do plugin segue o SDK
[实测].
O que pode ser feito durante a espera: Integrar o código de anúncios (ID em branco) e tirar os prints.
Publicação: Após a aprovação da revisão, em "Gerenciamento de Versões → Versão em Revisão", clicar em "Enviar para Publicação", escolher liberação total ou gradual, e confirmar escaneando o QR code do administrador. Perguntar ao usuário antes de publicar, como de costume [实测]. Jogos offline não precisam esperar pelo número de aprovação do Mini Programa; jogos online, segundo a documentação oficial, precisam. Ver review.md.
Pós-publicação
- Materiais de operação: Em "Gerenciamento de Materiais de Operação", preencher a descrição do jogo, capa de material genérico, imagens promocionais verticais e horizontais, texto promocional e vídeo promocional. Eles determinam como o jogo aparece nos resultados de busca e na página de descoberta. Cada item de texto/imagem só pode ser alterado 3 vezes por mês; vídeos promocionais, 10 conjuntos por semana. Mostrar exemplos de imagens, vídeos e texto ao usuário, e só enviar após concordância. Ver listing.md
[实测].- Se o topo da página indicar falta de "Vídeo promocional - gameplay real", seguir o guia em listing.md para gravar o jogo real: jogo vertical 1080×1920, 20~30 segundos, sem texto ou molduras na tela.
- Conta de anúncios (流量主): Só pode ser ativada após acumular mais de 100 visitantes únicos (ou atender às condições do círculo de jogos). No dia da ativação, preencher os dados financeiros, criar uma posição de anúncio e colocar o ID no jogo para publicar uma nova versão. Ver capabilities.md, recebimento em payouts.md.
- Falha na inicialização: Após a publicação, ver os logs de "Tempo Real" no painel para a inicialização que falhou e registrar no arquivo de progresso.
Quando for rejeitado ou emperrar: Ver review.md e troubleshooting.md.