1

オンラインゲームのコード/エンジンに影響を与えるアップデートが利用可能な場合にのみ、アプリケーション内のオンラインゲーム機能を制限したいと思います。の文字列(ここ[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]の質問から参照)がアプリストアの最新バージョンと等しくない場合は、オンラインゲーム機能を無効にできることを知っています。しかし、オンラインゲーム体験に影響を与えないアップデートをリリースした場合、オンライン機能を無効にしたくありません。

アップデートがオンラインゲームに影響を与えるかどうかを検出できるように、リリースに「タグ付け」するクリエイティブな方法はありますか?Subversionを追加するのが最善の方法でしょうか?オンライン機能を備えたIEアップデートはSubversionレベル2(1.2.1)を変更し、非オンラインアップデートはSubversionレベル3(1.1.2)を変更しますか?

注:パケットの送信方法が変更されたり、スコアリングエンジンが修正されたりした場合に備えて、更新が利用可能な場合はオンラインゲーム機能を無効にします。そのため、古いバージョンが再生されているシナリオは発生しません。新しいバージョンとメッセージが一致しません。(同じアプリバージョンのプレーヤーをプレイしていることを確認するためにGame Centerグループを使用することも検討しましたが、最終的にはユーザーにアップグレードしてもらう方がよいと判断しました)

4

1 に答える 1

1

これについては、サーバー上の有効なバージョンのリストをホワイトリストの形式で作成します。ユーザーがオンラインになれるかどうかを確認するとき (たとえば、マルチプレイヤー ボタンを押したとき)、サーバーにユーザーのバンドル バージョンを含めて ping を実行し、サーバーに、ユーザーがそのバージョン番号に基づいてプレイできるかどうかを示す単純な応答を返させます。彼らは提出した。

私のアプリケーションでは、実行中のアプリケーションのバージョンに基づいて実際のコードの更新をクライアントにプッシュするために、比較的似たようなことをしています。

于 2013-02-25T18:17:34.137 に答える