facebook sdk 接入相关问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/walk_silence/article/details/79163830
1. 前言

海外游戏运营,facebook渠道和账号体系,覆盖范围是比较全面的,即使是在非英语母语地区如台湾和东南亚都有大量用户。所以接入,fb sdk的需求就这样出来了。

2. facebook sdk 下载

所有facebook接入测试和操作都要科学上网,可以选择可靠的vpn, 如果贸然使用公共,共享的vpn可能因为ip地址的变化的,导致facebook账号被封。
fb支持多种SDK的接入包括fb官方的iOS SDK, Android SDK, Javascript SDK, Unity SDK PHP SDK等, 这些都是官方的sdk, 还有一些社区封装的第三方SDK cocos2d-x等。参见文档:

https://developers.facebook.com/docs/apis-and-sdks#third-party-sdks

这里以Android 版本FB SDK为例,SDK引入方式可以通过maven 或者 gradle或者直接下载:

compile 'com.facebook.android:facebook-core:[4,5)'

提供根据功能区分的组件下载:

https://developers.facebook.com/docs/android/componentsdks

Android SDK是以.aar文件,这里在Android studio中添加依赖可以直接使用,unity5.x以上也可以使用aar库文件

3. facebook developer后台创建配置应用

这里写图片描述

创建应用后,在左侧面板添加需要接入的功能,进行设置即可。

一般创建应用后就默认开启了email, public_profile, user_friends权限

根据需要添加不同的应用平台:

这里写图片描述

4. facebook api

facebook官方提供用来测试配置是否有效和测试api的工具页面:

这里写图片描述

一般使用到的Api主要是,登录,分享,邀请好友,深度链接等等。下面列举主要的问题获取好友列表, 分为两种类型:

  • 无法获取全部的好友列表,只能获取已经安装该应用的好友的信息列表, api如下,{user-id}替换为用户的user_id:
https://graph.facebook.com/v2.11/{user-id}/friends

获取到已经安装好友信息列表中包括token类型的id, 可以作为参数传入GameRequestDialog中, 向这些好友发送通知消息。通知消息的内容可以是普通的链接,也可以是facebook定义的深度链接, 当用户在facebook客户端通知中,点击该链接,可以通过链接中的协议唤起手机中的指定的应用。

  • 另外facebook提供游戏邀请的方式,向未安装该应用的好友发送消息, 该消息可以是网络链接,跳转到应用的下载页面,引导用户下载应用。
https://graph.facebook.com/v2.11/{user-id}/invitable_friends

这里才是重点,大有可能使用这个接口的时候,得到的是如下的错误信息:

{
  "error": {
    "message": "(#100) No permission to access invitable_friends.",
    "type": "OAuthException",
    "code": 100,
    "fbtrace_id": "ApJrz2NAGPx"
  }
}

显示没有权限, 其实是设置的原因,因为是游戏邀请,所以需要检查开发者后台的应用设置,检查以下两点:

  1. 应用需要设置分类为游戏
  2. 需要有游戏平台版本, 添加facebook网页游戏

    这里写图片描述

这里写图片描述

设置之后利用API工具进行测试,获取用户的未安装该应用好友的信息列表,就可以了。

展开阅读全文

没有更多推荐了,返回首页