1

どのデバイスからでもデータにアクセスできるように、iOS ゲームでプレイヤー アカウント機能を作成するために Parse フレームワークを使用しています。ただし、APIリクエスト数を最小限に抑えながら、すべてが常に同期されているように見せるために、このデータを「同期」するための最良のアプローチが何であるかはわかりません。現在、起動時、バックグラウンドからのデータ、および各ゲームの後にデータを更新しています。しかし、それはすでに多くのリクエストを作成しています! メニューに「同期」ボタンを配置して、データが同期され、通常はローカルにのみ保存されるようにすることを考えていましたが、それは本当に最後の手段です。

ゲーム概要:

  • プレーヤーは、自分のアカウントまたは Facebook の詳細を使用してサインアップまたはログインします
  • プレイヤーがアバターを選択
  • 選択肢はアカウントに保存されます
  • 彼らは「ゲーム」をプレイし、最終的には負けます
  • サマリー画面が表示され、ポイントが追加され、新しいプレーヤーのレベルが計算されて保存されます
  • プレイヤーはアプリ内購入でヒントとヘルパーを購入できます (消耗品)
  • ヒントとヘルパーの数はアカウントに保存されます
  • ゲームはユニバーサルなので、デバイスと同期する必要があります

多くのプレーヤーがいるオンライン ゲームで Parse を使用するためのベスト プラクティスは何ですか?

編集:

NSCoding 準拠の NSObject を作成し、それをアーカイブして Parse に保存することで問題を解決しました。これは、すべてのデータが一度に保存およびロードされ、起動時と重要なイベントの後にのみ更新する必要があることを意味します。

4

1 に答える 1

1

あなたが書いたように、最良のアプローチは「同期」ボタンを配置して、解析に送信されるリクエストの数を最小限に抑えることです。これは、ゲームが着信コールなどによって中断される可能性があるためです。

たとえば、データベースを再編成できます。2 つのオブジェクトUser and Imageユーザーが画像に対して 1 対多の関係を持っている場合、ユーザー データを取得して画像を取得するときに、このユーザーに関連するすべての画像を取得する必要があります。これにより、Parse への多くの要求が生成されます。 、別の方法は、ユーザーオブジェクトのイメージを格納し、そのユーザーobjectIdイメージをフェッチし、イメージとの関係をユーザーオブジェクトに格納しないことです。この方法により、解析へのリクエストの数が大幅に削減されますobjectId

于 2013-07-03T09:21:27.280 に答える