2

私は本当にこの問題に行き詰まっており、あなたの助けが必要です! 私はユニティとプライム31のソーシャルネットワークプラグインを使ってiPadゲームをやっています。

状況:

レベルの終わりに到達すると、ゲームはスコアを表示し、Facebook に送信するかどうかを尋ねます。もしそうなら、私のスクリプトでは、あなたがログインしているかどうかを確認するシステムを実行しました。ログインしていない場合はログインするように求め、システムはアプリに公開権限があるかどうかを確認し、そうでない場合はあなたに尋ねます許可。これらすべてが当てはまる場合、メッセージはあなたのウォールに直接投稿されます。したがって、うまくいけば、ログイン/質問の部分は 1 回だけ実行する必要があります。

問題:

ゲームと Facebook アプリ間で iPad を交換してログインすると、iPad はメモリを節約するためにゲームをシャットダウンします。シーンを縮小しようとしましたが、それ以上に縮小するのは難しいです。だから私はゲーム内でFacebookのログインと承認を開くべきだと思った. そのために、私はこれを使ってみました:

setSessionLoginBehavior(FacebookSessionLoginBehavior.ForcingWebView);

そして、それは私が望んでいることを正確に実行します。ゲームで小さなウィンドウを開き、すべてがクラッシュすることはありません。しかし、このソリューションの問題は、ログインに対してのみ機能することです。公開許可を求めると、facebook アプリに戻って許可を求めるため、クラッシュします。さらに調査した結果、ask Permission の動作を制御することはできないようです。振り出しに戻ると、ユーザーが Facebook に接続している間、IOS がゲームをシャットダウンするのを防ぐにはどうすればよいでしょうか。私はまだシーンを縮小しようとしています。

アプリのURLを使用して、Facebookアプリを離れた後にアプリ(私のゲーム)を起動するためのデータを送信することを聞いたので、特定のシーンでアプリを再起動するようにiPadに依頼します。しかし、それを実現するには多くの再作業が必要になるため、それは本当に最後の解決策になります。

この問題を回避するための別の提案があれば、私はそれを支持します。必要なのは、ログイン -> 公開許可を求める -> 投稿して、ゲームのレベル画面の最後に戻ることだけです。

助けてくれてありがとう

4

2 に答える 2

4

簡単に言えば、アプリがバックグラウンド化されると、iOS がアプリをシャットダウンしたい場合、それを防ぐことはできません。

あなたができる最善のことは、認証側のためにFacebookアプリに引き渡す前にアプリの状態を保存し、アプリが再び起動したときに状態をリロードすることです. applicationWillResignActive:、、およびを処理する必要がapplicationDidEnterBackground:あります。applicationDidBecomeActive:applicationWillBecomeActive:

iOS App Programming GuideのApp States and Multitasking セクションでは、これを行う方法について説明しています。

于 2012-12-21T16:16:49.053 に答える
3

iOS5以下のFBDialogを確認する必要があると思います。そしてiOS6用のFBNativeDialogs

これらはアプリの上部にウィンドウを表示するので、まだ実行されていると思います。そしてiOS6の場合FBNativeDialogs

ネイティブ(つまり、Webベースではない)ダイアログをユーザーに表示するためのメソッドを提供します。現在、iOS6共有ダイアログがサポートされています。

于 2012-12-21T16:27:04.480 に答える