Unity WebGL 集成 FaceBook Like功能

1.问题:

我用的是Facebook for unity sdk,facebook like这个功能接口是 js-sdk,Facebook Like文档 ,如果同时使用,会有一些冲突(会导致 facebook for unity sdk登陆失效或者没有回调响应)
这时需要把涉及Like功能的js-sdk 放到一个iframe内。
效果图:
这里写图片描述

2.解决方案:

默认Unity导出的webgl会生成index.html,创建一个新的html(我称为like.html)
index.html添加一行代码:

<iframe id="fb_like" src="like.html" frameborder="0" style="overflow: hidden"></iframe>

like.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Facebook like</title>
    <style>
        html, body {
            padding: 0;
            height: 0;
            width: 100%;
            height: 100%;
            background: transparent;
            overflow: hidden;
        }

    </style>
</head>
<body>
<div id="fb-root"></div>
<script type="text/javascript">

    (function () {

        var lang = navigator.language.replace('-', '_');

        (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {
                $('#facebook-jssdk').remove();
            };
            js = d.createElement(s); js.id = id;
            js.src = "https://connect.facebook.net/" + lang + "/sdk.js#xfbml=1&version=v2.12&appId=17697707271****";
            fjs.parentNode.insertBefore(js, fjs);
            //$(document.body).append(js);
        }(document, 'script', 'facebook-jssdk'));

    })()

</script>

<div class="fb-like" data-href="https://www.facebook.com/RageofKings/" data-width="300" data-layout="standard" data-action="like" data-size="small" data-show-faces="false" data-share="true" data-colorscheme="dark"></div>

</body>
</html>

我们的Facebook版游戏:Rage of Kings

3.另外一种方案

我没有在webgl平台,采用facebook for js sdk,是因为ios ,android平台用的都是unity sdk,已经集成好了,webgl再用js-sdk修改比较麻烦。
当时也考虑一种折衷方案,就是在游戏内弹出对话框,点击跳转到粉丝页,让用户去点Like&Share。

猜你喜欢

转载自blog.csdn.net/lile1234_show/article/details/80816540