言語を切り替える
テーマを切り替える

WeChatミニゲームエンジンプラグイン実践:設定からトラブル解決までの完全ガイド

ミニゲームの開発が完了し、ビルドしてみると—パッケージサイズが5.2M。

WeChatバックエンドにアップロードすると、即座に却下されます:メインパッケージは4Mを超えてはいけません。

リソースを削除し、テクスチャを圧縮し、オーディオを調整して、なんとか3.9Mまで絞り込み、ようやくアップロードできるように。しかし、プレイヤーがゲームを開くには数秒待つ必要があり、中にはそのまま離脱してしまう人もいます。

問題の根本原因:エンジンコードが大量のスペースを占めている。

WeChatミニゲームエンジンプラグインは、WeChat v7.0.7で追加された機能で、エンジンコードを分離して個別にキャッシュできます。プレイヤーがプラグイン有効なゲームを一度プレイした後、あなたのゲームを開く際にエンジンを再ダウンロードする必要がなくなります—起動速度が0.5〜2秒速くなります。

設定プロセスは複雑ではありませんが、いくつかの落とし穴にハマりやすいです。この記事では、完全なフローと解決策を整理し、試行錯誤の時間を節約します。

エンジンプラグインとは何か、なぜ起動を加速できるのか

まず、エンジンプラグインの仕組みを理解すると、なぜ有用なのかがわかります。

通常モードでは、各ミニゲームが完全なゲームエンジンコードをダウンロードする必要があります。例えばCocos Creatorで開発した場合、プレイヤーがあなたのゲームを開く際、Cocosエンジン全体をダウンロードする必要があります—約1〜2M。

WeChat v7.0.7以降、エンジンはプラグインとして個別にキャッシュできるようになりました。これは次のことを意味します:

最初のプレイヤーがあなたのゲームを開く:完全なエンジン+ゲームコードをダウンロード、エンジンはWeChatクライアントにキャッシュ。

2人目のプレイヤーがあなたのゲームを開く:ローカルに同じバージョンのエンジンキャッシュがあれば、直接再利用し、エンジンを再ダウンロードする必要がない。

プレイヤーが同じエンジンの別のゲームを開く:そのゲームもエンジンプラグインを有効にしており、エンジンバージョンが同じ場合、エンジンコードを直接再利用。

想像してみてください。プレイヤーがゲームA(Cocos 2.2.0使用)をプレイした後、あなたのゲームB(同じく2.2.0使用)を開きます。エンジンはすでにキャッシュされているので、直接再利用—起動時間が4秒から2秒、あるいはそれ以上短縮されます。

エンジンバージョンが異なる場合はどうでしょう?例えば、プレイヤーがキャッシュしているのはv2.2.0で、あなたのゲームはv2.2.1を使用している場合。WeChatは差分部分を増分ダウンロードし、全量ダウンロードではありません。実測では、増分更新は通常50%以上のダウンロード量を削減できます。

公式データでは、起動速度が0.5〜2秒速くなるとされています。多くないように聞こえるかもしれませんが、離脱率データは深刻です:平均起動時間が4秒のゲームは、1秒で起動するゲームと比べて60%多く離脱する可能性があります。1秒ごとが価値があります。

現在、エンジンプラグインに対応しているのは3社:Cocos Creator、Egret、LayaAirです。この記事では主にCocos Creatorの設定フローを説明しますが、他のエンジンも原理は同じで、設定方法に若干の違いがあります。

エンジンプラグインの有効化方法(完全設定フロー)

Cocos Creator 2.2.1以降、エンジンプラグイン機能はすでに組み込まれています。設定プロセスは想像より簡単—大部分の作業はエディタが自動的に処理します。

ステップ1:ビルドパネルで「エンジン分離」にチェック

Cocos Creatorを開き、メニューから「プロジェクト」→「ビルド公開」を選択するか、エディタ上部の「ビルド」ボタンを直接クリック。

ビルド公開パネルで、WeChatミニゲームプラットフォームを見つけ、「エンジン分離」オプションにチェックを入れます。エディタのバージョンによって、このオプションの名前が若干異なる場合があります—「エンジンプラグインを使用」や「エンジン分離を許可」という名前の場合もありますが、機能は同じです。

2つの前提条件に注意

  1. エディタ内蔵エンジンを使用していること。カスタムエンジンは使用不可。カスタムエンジンはプラグインモードに対応していません。
  2. デバッグモードビルドではないこと。デバッグモードではエンジンコードが完全にパッケージングされ、分離されません。

ビルドをクリックし、完了を待つと、ビルドディレクトリに3つの新しいファイルが表示されます:

  • game.json:ゲーム設定ファイル、pluginsフィールドが追加されている
  • plugin.json:プラグイン設定ファイル、プラグインのエントリを指定
  • signature.json:プラグインファイルの検証署名

これら3つのファイルはエディタが自動生成するため、手動で編集する必要はありません。

ステップ2:WeChat開発者ツールでプロジェクトを開く

WeChat開発者ツールでビルド出力ディレクトリ(通常は build/wechatgame)を開きます。

ここで1つの落とし穴に注意:appidは自分で開設したものを入力する必要があり、エディタデフォルトの汎用テストIDは使用できません。

なぜ?エンジンプラグインは権限検証が必要で、汎用テストIDは検証をパスできず、プラグイン機能が無効になります。

WeChat開発者ツールで、右上の「詳細」をクリックし、「ローカル設定」で自分のappidを入力します。まだappidがない場合、WeChat公衆プラットフォームでミニゲームアカウントを登録し、審査が通ると取得できます。

ステップ3:実機テストで検証

WeChat開発者ツールで「プレビュー」をクリックし、プレビューQRコードを生成。スマホでスキャンしてテスト。

デバッグパネル(vConsole)を開くと、次のようなログが表示されます:

plugin ***** inject success!

inject success が表示されれば、エンジンプラグインの読み込みが成功しています。inject fail が表示された場合は問題があります—次の章でトラブルと解決策を詳しく説明します。

バージョン要件リスト

設定前に、これらのバージョン要件が満たされていることを確認:

項目バージョン要件説明
WeChatクライアント>= 7.0.7このバージョン未満はエンジンプラグインに非対応
WeChat開発者ツール>= 1.02.1911181RCバージョンで可
基盤ライブラリバージョン>= 2.9.0開発者ツールで設定
Cocos Creator>= 2.2.1古いバージョンはプラグイン機能に非対応

バージョンが基準に達しない場合、エンジンプラグイン機能は有効になりませんが、ゲームは正常に動作します—ただし、エンジンコードはメインパッケージに完全にパッケージングされます。

パフォーマンス向上の実測データ比較

原理を説明するだけでは不十分なので、実際のデータを見てみましょう。

同じエンジンバージョン:完全再利用

プレイヤーのスマホにすでにCocos Creator v2.2.0エンジンがキャッシュされていると仮定。あなたのゲームもこのバージョンを使用し、エンジンプラグインを有効にしています。

プレイヤーがあなたのゲームを開く際:

  • 通常モード:エンジン1.5M + ゲームコード2.5M = 合計4M、起動に約4秒
  • プラグインモード:エンジンを直接再利用、ゲームコード2.5Mのみダウンロード、起動に約2秒

これが最も理想的な状況—エンジンを全くダウンロードする必要がありません。

異なるエンジンバージョン:増分更新

あなたのゲームがv2.2.1を使用し、プレイヤーがキャッシュしているのがv2.2.0の場合、状況は若干異なります。

WeChatは2つのバージョンの差分を比較し、変化した部分のみをダウンロードします。通常、バージョンアップグレードの差分は非常に小さく、増分ダウンロード量は全量の10〜30%程度です。

例:

  • 通常モード:エンジン1.5Mをダウンロード(v2.2.1完全版)
  • プラグインモード:増分ダウンロード約0.15〜0.45M、70%以上削減

パッケージサイズ最適化の実際のケース

あるカジュアルランゲームプロジェクトの実測データは非常に代表的です:

最適化前:

  • 総パッケージサイズ 6.8M(制限超過、アップロード不可)
  • テクスチャリソース 3.06M(45%)
  • オーディオファイル 1.7M(25%)
  • フォントファイル 1.02M(15%)
  • エンジンコード 0.68M(10%)
  • その他 0.34M(5%)

エンジンプラグイン有効化 + リソース最適化後:

  • 総パッケージサイズ 3.2M(正常にアップロード)
  • 初回画面読み込み時間が5秒から3秒に短縮、40%高速化

このケースが示すのは:エンジンプラグインは最適化の一部に過ぎないということです。本当に4M制限を突破するには、リソース圧縮とコード削減を組み合わせる必要があります—これについては後で詳しく説明します。

起動速度比較のまとめ

シナリオ通常モードプラグインモード効果
同バージョンエンジン初回起動完全なエンジンをダウンロードキャッシュエンジンを再利用0.5〜2秒高速化
異バージョンエンジン起動全量ダウンロード1.5M増分ダウンロード0.15〜0.45M70%ダウンロード量削減
古いWeChatバージョン(7.0.6)正常動作プラグイン無効互換性処理が必要

データ出典:Cocos公式ドキュメント + CSDN実測ケース。プロジェクトごとに状況は異なりますが、全体的な傾向は一貫しています—エンジンプラグインはダウンロード量を大幅に削減し、起動速度を高速化します。

5つのよくあるトラブルと解決策

設定プロセスは単純に見えますが、実際に操作すると問題が発生することがよくあります。5つの最も一般的なトラブルをまとめ、それぞれ明確な解決策を提示します。

トラブル1:appidに汎用テストIDを使用するとテストできない

症状

ビルド完了後、WeChat開発者ツールでプロジェクトを開き、プレビューをクリック。スマホでスキャン後、ゲームは動作するが、デバッグパネルに次のように表示:

plugin ***** inject fail!

または、エンジンプラグイン関連のログ出力がまったくない。

原因

Cocos Creatorビルドパネルはデフォルトで汎用テストappid(通常は wx1234567890abcdef など)が入力されている。このIDはローカルデバッグ用であり、正式なミニゲーム権限を持たない。エンジンプラグインは権限検証が必要で、汎用テストIDは検証をパスできない。

解決手順

  1. WeChat公衆プラットフォームを開き、自分のappidがミニゲーム権限を開設していることを確認(ミニプログラム権限ではなく、ミニゲーム権限)
  2. WeChat開発者ツールで、右上の「詳細」→「ローカル設定」をクリック
  3. 自分のappidを入力
  4. 「キャッシュをクリア」→「すべてクリア」をクリックし、再コンパイルしてプレビュー

検証方法

プレビュー後、デバッグパネルに plugin ***** inject success! と表示されれば、設定が正しい。

トラブル2:「プラグインは認証されていません。プラグインを追加してください」というメッセージ

症状

実機プレビュー時、ゲームの起動に失敗し、次のように表示:

プラグインは認証されていません。プラグインを追加してください

原因

プラグインがまだミニゲームプロジェクトに追加されていない。WeChat側でプラグイン認証を能動的に追加する必要がある。

解決手順

  1. メッセージボックスの「プラグインを追加」ボタンをクリック
  2. プラグインリストから CocosCreator プラグインを見つけて選択し、追加
  3. ゲームを再コンパイル
  4. 追加時に「追加可能なプラグイン情報が空です」というメッセージが表示された場合、開発者ツールですべてのキャッシュをクリアしてから再試行

検証方法

追加成功後、ゲームが正常に起動し、デバッグパネルにプラグイン注入成功と表示される。

トラブル3:「コードパッケージの展開に失敗」または「ログインユーザーは開発者ではありません」というメッセージ

症状

プレビューまたはアップロード時にエラー:

コードパッケージの展開に失敗しました。コードパッケージを確認してください

または:

ログインユーザーはこのミニプログラムの開発者ではありません

原因

appidの設定が間違っているか、使用しているWeChatアカウントにこのミニゲームの開発者権限がない。

解決手順

  1. appidが正しく入力されていることを確認(汎用テストIDではない)
  2. WeChat公衆プラットフォームにログインし、自分のWeChatアカウントに開発者権限があるか確認
  3. ない場合、管理者に開発者として追加してもらう
  4. WeChat開発者ツールに権限のあるWeChatアカウントで再ログイン

検証方法

実機プレビューが正常に動作すれば、権限設定が正しい。

トラブル4:古いWeChatバージョンで正常に動作しない

症状

エンジンプラグインを設定し、実機テストは正常。しかし、リリース後、一部のユーザーからゲームが起動しない、または起動が非常に遅いというフィードバックがある。

原因

WeChat 7.0.7未満のバージョンはエンジンプラグイン機能に対応していない。これらのユーザーがゲームを開く際、エンジンプラグインは有効にならず、エンジンコードを完全にダウンロードする必要がある。メインパッケージがすでに4M制限に近い場合、完全なエンジンを追加すると制限を超え、起動できなくなる可能性がある。

解決手順

2つの方法:

方法A:完全なエンジンコードを保持(古いバージョンとの互換性)

ビルドパネルで「エンジン分離」にチェックを入れない。これでエンジンコードはメインパッケージに完全にパッケージングされ、すべてのバージョンのWeChatで動作する。代償はメインパッケージが大きくなるため、リソース最適化と組み合わせる必要がある。

方法B:ユーザーにWeChatのアップグレードを案内

ゲーム起動時にWeChatバージョンを検出し、7.0.7未満の場合は「最高の体験を得るためにWeChatを最新バージョンにアップグレードしてください」というメッセージを表示。ユーザーがアップグレード後、エンジンプラグインが有効になる。

多くの開発者は方法Aを選択—互換性の方が重要だから。

検証方法

WeChat 7.0.6以下がインストールされたスマホを見つけて実機テスト。ゲームが正常に起動すれば、互換性処理が正しい。

トラブル5:カスタムエンジンでエンジンプラグインを使用できない

症状

Cocos Creatorでカスタムエンジン(エンジンソースコードを自分で修正)を使用している状態で、「エンジン分離」にチェックを入れるとビルドに失敗する、またはビルドは成功するがプラグインが有効にならない。

原因

エンジンプラグインはCocos Creator内蔵の公式エンジンバージョンのみ対応している。カスタムエンジンはWeChatのパブリックエンジンプラグインライブラリに接続できない。

解決手順

2つの方法:

方法A:内蔵エンジンに変更

カスタム修正が少ない場合、修正部分をゲームコードに移動し、カスタムエンジンを諦めて内蔵エンジン + エンジンプラグインに変更することを検討。

方法B:エンジンプラグイン機能を諦める

カスタムエンジンの修正が大きく、保持する必要がある場合、エンジンプラグインを諦める。エンジンコードはメインパッケージに完全にパッケージングし、リソース最適化と組み合わせてパッケージサイズを管理。

検証方法

ビルドパネルで「カスタムエンジンを使用」にチェックが入っているか確認。チェックが入っている場合、エンジンプラグイン機能は有効にならない。

エンジンプラグインとパッケージサイズ最適化の協調案

前の4章を読んで、こう思うかもしれません:エンジンプラグインを有効にすれば、パッケージサイズは直接1〜2M削減される?

ここで明確にしておくべきことがあります:エンジンコードは分離されても、依然として初期パッケージサイズに計上されます

WeChatのルールはこうです:初期パッケージは4M制限、総パッケージは30M制限。エンジンプラグインモードでは、エンジンコードは「実際のダウンロード量」に計上されませんが、「初期パッケージ宣言サイズ」には計上されます。つまり、メインパッケージにエンジンコードを加えて4Mを超える場合、依然として却下される可能性があります。

したがって、エンジンプラグインは最適化チェーンの第一歩に過ぎません。本当に4M制限を突破するには、他の最適化手段と組み合わせる必要があります。

パッケージサイズ構成分析

まず、典型的なミニゲームのパッケージサイズ構成を見てみましょう:

タイプ割合説明
テクスチャリソース45%PNG画像、アトラス
オーディオファイル25%WAV、MP3、OGG
フォントファイル15%TTFフォント
エンジンコード10%Cocos Creatorエンジン
その他5%設定ファイル、JSON

テクスチャリソースの割合が最も高く、最適化の重点です。エンジンコードは10%しか占めませんが、プラグインで分離すると、この部分は他のゲームにも利益をもたらします。

完全な最適化チェーン

6M以上から3M以下に圧縮するには、体系的に4つのことを行う必要があります:

ステップ1:エンジン分離(前述)

エンジンプラグインを有効にし、エンジンコードを毎回完全にダウンロードする必要がなくなる。これが最も簡単なステップで、設定にチェックを入れるだけ。

ステップ2:テクスチャ最適化

テクスチャリソースはパッケージの45%を占め、最適化効果が最も明確。

  • TinyPNGでPNG画像を圧縮(オンラインツールまたはコマンドラインツール)
  • TexturePackerでアトラス生成時、RGBA4444形式を選択(サイズ50%削減)
  • 「回転を許可」にチェックを入れると、アトラスの利用率が15%向上

2Mのテクスチャパッケージは、最適化後1Mになる可能性があります。

ステップ3:オーディオ最適化

オーディオファイルはパッケージの25%を占めますが、多くの人がWAV形式を使用しています—サイズが大きいですが、必要ありません。

  • BGM:WAVからOGG Vorbis Q5に変換(品質は十分、サイズ70%削減)
  • 効果音:MP3 96kbpsを使用(サイズ65%削減)

1.7Mのオーディオリソースは、最適化後0.5Mになる可能性があります。

ステップ4:コード削減

Cocos Creatorのエンジンモジュールには、おそらく使用しないものが多くあります。

  • 2Dゲームは3Dモジュールを削除可能
  • オフラインゲームはネットワークモジュールを削除可能
  • シンプルなパズルゲームは物理エンジンを削除可能
  • デバッグ期間は統計モジュールを保持、リリース時は削除

ビルドパネルの「エンジンモジュール削減」エリアで、保持する必要があるモジュールにチェックを入れ、チェックを入れないものが削除されます。

協調最適化の実際の効果

前述のカジュアルランゲームプロジェクトのケースに戻りましょう:

最適化項目最適化前最適化後削減量
テクスチャリソース3.06M1.02M2.04M
オーディオファイル1.7M0.5M1.2M
エンジンコード0.68Mプラグイン分離キャッシュ再利用
フォントファイル1.02M0.34M(サブセット化)0.68M
総パッケージサイズ6.8M3.2M53%削減

初回画面読み込み時間が5秒から3秒に短縮され、40%高速化しました。

このアプローチの利点は:各最適化項目が独立して効果を発揮し、一度にすべてを行う必要がない。まずエンジンプラグイン(最も簡単)を行い、効果を見る;次にテクスチャ最適化(効果が最も明確)を行い、段階的に進めることができます。

もちろん、プロジェクトごとに状況は異なります。あるゲームはテクスチャの割合がより高く、あるゲームはオーディオが多い。まずビルドパネルでパッケージサイズ構成を分析し、それから针对性的に最適化することをお勧めします。

結論

エンジンプラグインはWeChatミニゲーム起動最適化の第一歩であり、最も簡単なステップ—設定にチェックを入れるだけで、コードを変更する必要がありません。

しかし、エンジンプラグインだけでは不十分です。メインパッケージがすでに4Mに近い場合、完全なエンジンを追加すると制限を超え、古いWeChatバージョンのユーザーはゲームを開けない可能性があります。

本当に効果的なアプローチは:

  1. まずエンジンプラグインを有効にし、新しいWeChatバージョンのユーザー体験を向上させる
  2. パッケージサイズ構成を分析し、テクスチャ、オーディオ、フォントのどれが最も多くを占めるか確認
  3. 针对的に最適化:テクスチャRGBA4444、オーディオをOGG/MP3に変換、フォントサブセット化
  4. WeChat 7.0.6以下の実機テストで互換性を確認
  5. 最適化前後のデータを定量的に比較し、感覚で判断しない

この一連の流れで、6.8Mから3.2Mに圧縮し、起動時間を40%高速化することは実現可能です。プレイヤーは数秒待つ必要がなくなり、離脱率は自然に下がります。

これらの落とし穴にハマり、多くの時間を試行錯誤しました。完全なフローを整理したので、皆さんの時間を節約できれば幸いです。質問があればコメントください、できる限り回答します。

WeChatミニゲームエンジンプラグインを有効化する

ビルド設定から実機テストまでの完全な手順

⏱️ 目安時間: 10 分

  1. 1

    ステップ1: ビルドパネルでエンジン分離にチェック

    Cocos Creatorを開き、メニューから「プロジェクト」→「ビルド公開」を選択。WeChatミニゲームプラットフォームで「エンジン分離」オプションを見つけてチェックを入れる。注意:内蔵エンジンを使用する必要があり、デバッグモードビルドではありません。
  2. 2

    ステップ2: WeChat開発者ツールでappidを設定

    WeChat開発者ツールでビルドディレクトリ(build/wechatgame)を開く。右上の「詳細」→「ローカル設定」をクリックし、ミニゲーム権限が有効なappidを入力(汎用テストIDは使用不可)。
  3. 3

    ステップ3: 実機プレビューで検証

    「プレビュー」をクリックしてQRコードを生成し、スマホでスキャンしてテスト。デバッグパネル(vConsole)を開き、ログに `plugin ***** inject success!` と表示されているか確認。`inject fail` と表示された場合は、appidの権限とプラグイン認証を確認。
  4. 4

    ステップ4: プラグイン認証を追加

    「プラグインは認証されていません」というメッセージが表示された場合、「プラグインを追加」ボタンをクリック。リストからCocosCreatorプラグインを見つけて追加。リストが空の場合は、キャッシュをクリアして再試行。
  5. 5

    ステップ5: 古いバージョンの互換性テスト

    WeChat 7.0.6以下のスマホでテストし、ゲームが正常に起動することを確認。古いバージョンはエンジンプラグインに対応しておらず、エンジンコードはメインパッケージに完全にパッケージングされる。

FAQ

エンジンプラグインはどのゲームエンジンに対応していますか?
WeChatミニゲームエンジンプラグインは、Cocos Creator、Egret、LayaAirの3つのエンジンに対応しています。原理は同じですが、設定方法に若干の違いがあります。
エンジンコード分離後も初期パッケージサイズに計上されますか?
はい。エンジンコードは分離されて個別にキャッシュされますが、依然として初期パッケージ宣言サイズ(4M制限)に計上されます。エンジンプラグインが削減するのは実際のダウンロード量であり、宣言サイズではありません。
カスタムエンジンでプラグインを有効にできますか?
できません。エンジンプラグインはCocos Creator内蔵の公式エンジンバージョンのみ対応しています。カスタムエンジンはWeChatのパブリックエンジンプラグインライブラリに接続できず、プラグイン機能を諦めるか内蔵エンジンに変更する必要があります。
古いバージョンのWeChatユーザーは影響を受けますか?
WeChat 7.0.7未満のバージョンはエンジンプラグインに対応していません。これらのユーザーがゲームを開く際、エンジンコードを完全にダウンロードする必要があります。互換性のために完全なエンジンコードを残すか、WeChatのアップグレードを案内することをお勧めします。
エンジンプラグインでどれくらいパッケージサイズを削減できますか?
エンジンコードはパッケージの約10%を占め、プラグインで分離すると、同じエンジンの他のゲームがキャッシュを再利用できます。同バージョンのエンジンの場合、初回起動が0.5〜2秒速くなり、異なるバージョンでは増分ダウンロードで70%のダウンロード量を削減できます。
エンジンプラグイン有効後も他の最適化が必要ですか?
はい。エンジンプラグインは最適化の第一歩に過ぎません。4M制限を突破するには、テクスチャ圧縮(RGBA4444形式)、オーディオ最適化(OGG/MP3)、フォントサブセット化、コード削減などの手段と組み合わせる必要があります。

7 min read · 公開日: 2026年5月22日 · 更新日: 2026年5月25日

関連記事

コメント

GitHubアカウントでログインしてコメントできます