Facebook 内でゲームを実行していて、ユーザーが検索バー、友達、通知、またはメッセージをクリックしたときにゲーム ウィンドウを非表示にしようとしています。Facebook の Javascript API を調べたところ、FB.init() で設定できるこの "hideFlashCallback" デリゲートがあります。ただし、コールバックがヒットしているようには見えません。アラート(状態)は呼び出されません。
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $config->app_id; ?>',
channelUrl : '<?php echo $config->app_host; ?>/channel.html',
status : true,
xfbml : true,
frictionlessRequests : true,
hideFlashCallback : function(params) {
var state = params.state;
alert(state);
}
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<center>
<div id="unityPlayer">
<div class="missing">
<a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now!">
<img alt="Unity Web Player. Install now!" src="http://webplayer.unity3d.com/installation/getunity.png" width="193" height="63" />
</a>
</div>
</div>
</center>
</body>