0

OpenFeint を新しいゲームに統合して、実績とリーダーボードを作成することにしました。

ゲームは動的であり、成功した結果に対してユーザーにすぐに報酬を与えたいと思っていますが、私のように、OpenFeint の成果は少し遅く、サーバーから確認を受け取ったときにのみ視覚的な通知が表示されます。

実績のロックが解除されていない場合、ローカルデータベースのみをチェックするとすぐに、設定で何かを変更したり、少しハッキングして通知を表示したりすることは可能ですか?

4

2 に答える 2

2

これが SDK の Android バージョン (さらに遅いようです) に関連しているかどうかはわかりませんが、高速化する方法はわかりませんでした。容認できないほど遅かったので、オープン フェイントの欠点のほとんどを修正し、さらにいくつかの欠点を修正する独自のフレームワークの開発を開始しました。Swarmをチェックしてください。あなたのニーズにより適しているかもしれません。

于 2012-01-23T05:35:42.423 に答える
1

これらの通知のタイミングをより厳密に制御するためにできることがいくつかあります。1 つのアプローチについて説明します。これを出発点として使用して、自分でさらに詳しく調べることができます。これらの提案は、特に iOS アプリに適用されます。1 つの注意点は、これらの提案は iOS 用の OFSDK 2.8 の内部 API を参照しており、通常は高レベルの使用には推奨されておらず、将来のバージョンで変更される可能性があることです。

最初にお勧めするのは、独自のプロダクト キーを使用してサンプル アプリをビルドすることです。結果を独自のコードに適用する前に、標準のサンプル アプリを使用して実験してください。

実績を送信するプロセスから通知ポップアップ UI を分離することで、最も迅速な応答を得ることができます。このように、送信がローカル データベースのみに送信されるのか、それとも非同期ネットワーク トランザクションで完全な確認を行うのかを決定するためのロジックに巻き込まれることを心配する必要はありません。

「OFNotification.h」の「showAchievementNotice」の宣言を参照してください。サンプル アプリで検索を実行すると、これがアチーブメントを獲得したときにアチーブメント ポップアップを表示するために使用される内部 API であることがわかります。実際にアチーブメントを提出するわけではありません。「OFAchievementService.mm」から呼び出されるように、このメソッドを直接呼び出して、メッセージが表示されるタイミングを直接制御できます。次に、次の記事を使用して、実際の送信時にポップアップが呼び出されないようにすることができます。

http://support.openfeint.com/dev/notification-pop-ups-in-ios/

これにより、必要性を追跡していれば、後で提出物を自由に呼び出すことができます。たとえば、フラグをローカルでシリアル化して、レベルが完了した後、またはアプリの次回起動時に実際の送信を処理できます。ユーザーがレベルをきれいに終了せずにゲームを終了する可能性があることを忘れないでください。

于 2011-01-12T01:29:15.793 に答える