Facebook のキャンバス、特に FB アプリ内購入システムと統合するために、Unity プロジェクトを Web プレーヤーで実行するように調整しています。変換はほぼ完了しており、数週間前に、IAP オプションで可能なすべての選択が完全に機能し、トランザクションが正しく解決されることを確認しました。しかし、非同期支払いオプションが突然失敗し始め、ゲームをホストするように設定された Unity コードまたは Web サーバーに接続されていないように見える奇妙なエラー メッセージが表示されました。
プレーヤーが非同期支払いオプションを選択し、FB Pay ダイアログで確認をクリックすると、ダイアログが閉じず、デバッグ コンソールにエラーが出力されます。
TypeError: undefined はオブジェクトではありません ('window.parent.require("GamePaymentProviderIFrameFlow").processIFrame' を評価しています)
リダイレクト.php
これは Safari のエラー出力であり、他のブラウザーでは、「window.parent.require(...)」が未定義の参照を返しているために「processIFrame」が認識されないことを示す同様のメッセージが表示されます。
「redirect.php」が実際にどこにあるのかわかりませんが、私が収集できたものから、「GamePaymentProviderIFrameFlow」というモジュールを探して見つけられなかったようです。これが Facebook Unity SDK の一部として発生するものなのか、Facebook のサーバー上で発生するものなのかについての情報は見つかりません。「require」呼び出しは Node.js の一部である可能性が最も高いため、プレーヤーのブラウザーではなくサーバーで実行されることがわかりました。
Unity バージョン 4.3.0f4 と Facebook Unity SDK バージョン 6.2.2 を使用しています。支払いシステムは正しく機能していたので、その間何も触れていません。これが保証されていないことはわかっていますが、Unity 内でエラーが発生しているようには見えません。私が考えられる唯一の可能性は、Facebook API の変更により、FB Unity SDK との FB 通信の一部が失敗し始めたことです。しかし、それが本当なら、FB からのパッチを待つ以外にこれを修正する合理的な方法があるかどうかはわかりません。
他の誰かがこれまたは似たようなことに遭遇したことがありますか、またはこのトピックに関する他のアドバイスを提供できますか?