Atualmente, os jogos pequenos são particularmente populares, e muitas equipes também lançaram projetos de pequenos jogos do WeChat e realizaram um pré-estudo técnico na fase inicial do projeto. No entanto, a partir da documentação oficial do WeChat, muitos poços podem ser encontrados.
1. Poço do ambiente operacional
1. Compatibilidade com API
- 1.1, API de rede
O núcleo da BOM é o Windows, que representa uma instância de um navegador.Qualquer objeto, variável e função personalizada em uma página da Web usa o Windows como seu objeto global; a falta de Dom significa comunicação para http, websocket e armazenamento local. A API encontrará problemas.Felizmente, o WeChat fornece implementações privadas dessas duas APIs. Tudo o que precisamos fazer é se adaptar.
A idéia básica da adaptação é detectar se está executando a plataforma WeChat e, em seguida, usar os recursos de linguagem dinâmica do JS para reescrever dinamicamente a API da BOM. As vantagens e desvantagens são as seguintes:
1. A vantagem é que o chamador da API não precisa fazer nenhuma alteração e o custo da adaptação é quase zero.
Não percebo a diferença no ambiente de execução entre minijogos e navegadores WeChat, e é muito amigável.
2. A desvantagem é que aumentará o tamanho do código, mas a perda causada pelo aumento no tamanho do código é quase insignificante.
A relação custo-benefício desse esquema de adaptação é muito alta. Exemplos de códigos HTTP de adaptação são os seguintes:
- 1.2, Modularidade do WeChat
Os minijogos WeChat fornecem uma API de módulo no estilo CommonJS. Você pode exportar módulos através de module.exports e exportações e importar módulos através de require. Isso é muito diferente da maneira como os navegadores importam arquivos JS. Existe uma camada de isolamento no meio.
Vamos dar um exemplo para ilustrar os problemas causados pela modularidade.
Normalmente, usamos uma classe personalizada em um arquivo js no navegador, que pode ser usado diretamente através da tag.
Mas isso não é possível no WeChat. Você precisa importar a API para um objeto e adicionar esse prefixo ao usá-lo. Como resultado, muitos códigos precisam ser modificados; portanto, como evitar a adição desse prefixo?
Em vista dessa situação, a solução é anexar dinamicamente todos os métodos e objetos necessários externamente ao objeto de janela e modificar o código acima como um exemplo:
- Alterações no fluxo de trabalho
Como os minijogos WeChat não possuem Dom e Bom, muitas bibliotecas que dependem do Dom e Bom não podem ser usadas diretamente, como o jquery.
Esse ambiente do WeChat causará mais ou menos alterações em nosso fluxo de trabalho.O uso de mecanismos de desenvolvimento de jogos de terceiros (como Cocos Createor / Egret / Laya) pode compensar as perdas causadas por esses problemas.
Segundo, restrições de recursos
1. O tamanho total do pacote de códigos permitido para cada mini-jogo é de 4 MB.
Solução 1: Compacte o arquivo js e coloque o recurso de imagem no servidor para pré-carregamento.
Solução 2: use a função de gerenciamento de recursos do mecanismo de terceiros.
2. O miniaplicativo WeChat exige que o servidor do desenvolvedor suporte os protocolos https e wss.
Solução: O servidor ativa o HTTPS. Há muitas maneiras de conseguir isso, o proxy reverso Nginx é recomendado.
Três, auditoria de lançamento
Após a conclusão do desenvolvimento do minijogo, são necessárias as seguintes qualificações para publicação:
1: registro de nome de domínio do servidor
2: suporte a wss https
3: cópia do certificado de direitos autorais do software + assinatura do carimbo
4: conta da plataforma pública WeChat e AppID
5: ferramentas do desenvolvedor wechat_devtools_1.02.1803210 _x64
6: Cópia do relatório de revisão automática do jogo + assinatura
7: conta de desenvolvimento iOS (opcional, preencha o espaço em branco)
8: número da versão do jogo (é necessário abrir o pagamento do WeChat)
9: identidade do desenvolvedor corporativo + conta pública (pagamento aberto do WeChat) Obrigatório)