Unity WebGL 集成 FaceBook Like功能

问题

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

解决方案:

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

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

like.html


<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Facebook liketitle>
    <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

另外一种方案

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

你可能感兴趣的:(Unity,Unity,游戏开发)