何人踏みましたか?WeChat H5小さなゲームの開発におけるこれらの落とし穴

現在、小さなゲームは特に人気があり、多くのチームがWeChatの小さなゲームプロジェクトも立ち上げ、プロジェクトの初期段階で技術的な事前調査を実施しています。ただし、公式のWeChatのドキュメントから、多くのピットが見つかります。

1.動作環境の要点

1. APIの互換性

  • 1.1、ネットワークAPI

BOMの中核はウィンドウであり、これはブラウザのインス​​タンスを表します。Webページでカスタマイズされたオブジェクト、変数、および関数は、そのグローバルオブジェクトとしてウィンドウを使用します。Domがないと、http、websocket、およびローカルストレージの通信を意味します。 APIで問題が発生します。幸いなことに、WeChatはこれら2つのAPIのプライベート実装を提供しています。

適応の基本的な考え方は、WeChatプラットフォームを実行しているかどうかを検出し、JSの動的言語機能を使用してBOM APIを動的に書き換えることです。長所と短所は次のとおりです。

1.利点は、API呼び出し元が変更を行う必要がなく、適応コストがほぼゼロであることです。WeChatミニゲームとブラウザの実行
環境の違いはわかりませんが、とてもフレンドリーです。

2.欠点は、コードサイズが大きくなることですが、コードサイズの増加による損失はほとんど無視できます。
この適応スキームの費用対効果は非常に高く、適応HTTPコードの例は次のとおりです。

画像の説明

  • 1.2、WeChatのモジュール性

WeChatミニゲームはCommonJSスタイルのモジュールAPIを提供します。module.exportsとexportsを介してモジュールをエクスポートし、requireを介してモジュールをインポートできます。これは、ブラウザーがJSファイルをインポートする方法とは大きく異なります。中間に分離レイヤーがあります。
モジュール化によって引き起こされる問題を説明するために例を挙げましょう。
通常、ブラウザーのjsファイルでカスタムクラスを使用します。これタグから直接使用できます。画像の説明

画像の説明

しかし、これはWeChatでは不可能です。APIをオブジェクトにインポートし、それを使用するときにこの接頭辞を追加する必要があります。その結果、多くのコードを変更する必要があるため、この接頭辞の追加を回避するにはどうすればよいですか?
この状況を考慮した解決策は、外部で必要なすべてのメソッドとオブジェクトをウィンドウオブジェクトに動的にアタッチし、上記のコードを例として変更することです。

画像の説明

  1. ワークフローの変更

WeChatミニゲームにはDomとBomがないため、DomとBomに依存する多くのライブラリ(jqueryなど)を直接使用することはできません。
WeChatのこの環境では、ワークフローに多少の変化が生じます。サードパーティのゲーム開発エンジン(Cocos Createor / Egret / Layaなど)を使用すると、これらの問題による損失を補うことができます。

第二に、リソースの制限

1.各ミニゲームに許可されるコードパッケージの合計サイズは4MBです。
解決策1:jsファイルを圧縮し、画像リソースをサーバーに配置してプリロードします。
解決策2:サードパーティエンジンのリソース管理機能を使用します。

2. WeChatアプレットでは、開発者のサーバーがhttpsおよびwssプロトコルをサポートする必要があります。
解決策:サーバーはHTTPSを有効にします。これを実現するには多くの方法があります。Nginxリバースプロキシをお勧めします。

3、リリース監査

ミニゲームの開発が完了したら、次の資格を公開する必要があり
ます。1:サーバードメイン名レコード
2:https wssサポート
3:ソフトウェア著作権証明書+スタンプ署名のコピー
4:WeChatパブリックプラットフォームアカウントとAppID
5:開発者ツールwechat_devtools_1.02.1803210 _x64
6:ゲームのセルフレビューレポートのコピー+署名
7:iOS開発アカウント(オプション、空欄に記入)
8:ゲームのバージョン番号(WeChat支払いを開く必要があります)
9:エンタープライズ開発者ID +パブリックアカウント(WeChat支払いを開く)必須)

おすすめ

転載: www.cnblogs.com/jlfw/p/12714971.html