跳到主要内容

社交

社交 API 列表

SDK 接口名称接口功能参数/结构体/回调
share分享platform, shareParam
invite邀请platform, inviteJson
getSocialInfo获取社交用户个人信息platform
getFriendInfo获取社交用户好友信息platform

1.分享

方法原型

fun share(
activity: Activity,
@NonNull platform: String,
param: ShareParam,
callback: ResponseCallback
)

接口说明

  • 各分享平台,对分享方式、分享内容、分享类型等都有限制。
  • 比如图片分享,部分平台允许通过其 SDK 带上文字描述、网页链接等;部分平台完全禁止,或只允许用户在拉起的分享界面主动编辑。
  • 比如链接分享,部分平台会主动解析链接,让链接预展示;部分平台没有。

分享方式

  • 单个分享,即直接调起指定平台进行分享。
  • 多个分享,即使用 OmniSDK 提供的分享弹窗 UI 界面,经过用户二次选择后分享到指定平台。

图片分享

  • 网络图片:

    1. 需要游戏先申请成功存储权限;
    2. 可下载访问的有效图片链接。
  • 本地图片:

    1. 需要游戏先申请成功存储权限;
    2. 可访问的本地图片uri地址;
    3. 通常使用应用私有存储目录:activity.getExternalFilesDir(null).getPath(),如需要其他存储目录请按 FileProvider 官方说明配置和适配不同手机的权限申请(不同厂商会细化权限),否则 Android 高版本系统文件访问受限会导致直接崩溃。
    4. 本地图片地址拼接示例:imageUri = activity.getExternalFilesDir(null).getPath() + "/{local_image}"
  • 截图:废弃经测试,部分引擎或引擎版本,使用 Android 原生截图方法时,只能截到空白屏,建议直接使用引擎提供的截图方法,转成本地图片分享方式。

提示
  • OmniSDK 不申请权限,有图片分享时需要游戏提前申请存储权限,否则无法分享。
  • 分享 APP(比如 Facebook)需要申请存储权限、相册权限(部分品牌厂商),游戏测试时请提前确认权限是否申请。
  • 部分社交平台需要在其后台申请参数,或对应权限。

请求参数

字段说明类型
activity上下文
platformOmniSDK 支持的分享平台或指定应用包名;
部分可以通过 OmniConstant.platform* 调用

platform 分享平台标识

字段依赖平台
system拉起手机系统分享界面;其他指定平台如无或异常,也会用于补位。
facebookfacebook 插件Facebook 社交平台
vkVK 插件VK 社交平台
lineLine 插件Line 社交平台
指定应用包名OmniSDK 会调用,该平台在系统分享界面里注册的分享方式声明,拉起平台分享界面。

接入示例代码

// 创建分享数据实体,注意分享类型 ShareType、图片类型 ShareImageType,注意参数正确
ShareParam shareParam = new ShareParam(
ShareType.IMAGE,
"title",
"description",
"link",
ShareImageType.LOCAL,
"shareUri");

// 调用分享接口
OmniSDK.getInstance().share(activity, platform, shareParam, new ResponseCallback() {

@Override
public void onFailure(@NonNull Pair<Integer, String> responseCode) {
// 游戏处理回调结果
}

@Override
public void onSuccess() {
// 游戏处理回调结果
}
});

版本历史

  • 1.0 支持 facebook、system、指定包名
  • 1.0.8 支持 vk
  • 1.0.9 支持分享弹窗 UI

2.邀请

方法原型

fun invite(
activity: Activity,
@NonNull platform: String,
@NonNull json: String,
callback: ResultCallback
)

接口说明

  • 仅部分平台支持

请求参数

字段说明类型
activity上下文
platform平台
json邀请信息{"message":"invite-message"}
callback回调信息

platform 邀请平台标识

字段依赖平台说明
facebookfacebook 插件Facebook 社交平台需要向平台申请权限

接入示例代码

OmniSDK.getInstance().invite(activity, platform, json, new ResultCallback() {

@Override
public void onFailure(@NonNull Pair<Integer, String> responseCode) {
// 游戏处理回调结果
}

@Override
public void onSuccess(@NonNull String resultJson) {
// 游戏处理回调结果
}
});

版本历史

  • 1.0 支持 facebook

3.获取社交用户个人信息

方法原型

fun getSocialInfo(
activity: Activity,
@NonNull platform: String,
callback: ResultCallback
)

接口说明

  • 用户社交信息,获取前需要使用对应账号类型登录,比如要获取 Facebook 用户信息,则需要用 Facebook 进行登录后才能获取,并向 Facebook 申请相关参数、对应权限。
  • 仅部分平台支持

请求参数

字段说明类型
activity上下文
platform平台
callback回调信息

platform 社交平台标识

字段依赖平台说明
facebookfacebook 插件Facebook 社交平台需要向平台申请权限
vkvk 插件VK 社交平台需要向平台申请权限

接入示例代码

OmniSDK.getInstance().getSocialInfo(demoActivity, platform, new ResultCallback() {
@Override
public void onSuccess(String resultJson) {
try {
// 解析玩家社交账号信息数据
SocialInfo socialAccountInfo = OmniUtils.fromJson(resultJson, SocialInfo.class);

} catch (Exception e) {
e.printStackTrace();
}
}

@Override
public void onFailure(Pair<Integer, String> responseCode) {
// 获取失败
}
});

返回值

{"id":"","imageUrl":"","width":0,"height":0,"gender":"","nickName":""}

版本历史

  • 1.0 支持 facebook
  • 1.0.8 支持 vk

4.获取社交用户好友信息

方法原型

fun getFriendInfo(
activity: Activity,
@NonNull platform: String,
callback: ResultCallback
)

接口说明

  • 用户好友信息,获取前需要使用对应账号类型登录,比如要获取 Facebook 好友信息,则需要用 Facebook 进行登录后才能获取,并向 Facebook 申请相关参数、对应权限。
  • 仅部分平台支持

请求参数

字段说明类型
activity上下文
platform平台
callback回调信息

platform 社交平台标识

字段依赖平台说明
facebookfacebook 插件Facebook 社交平台需要向平台申请权限
vkvk 插件VK 社交平台需要向平台申请权限

接入示例代码

OmniSDK.getInstance().getFriendInfo(demoActivity, platform, new ResultCallback() {
@Override
public void onSuccess(String resultJson) {
// 解析玩家游戏好友的社交账号信息数据
List<SocialInfo> friendsInList = OmniUtils.<SocialInfo>fromJson(resultJson);
for (SocialInfo socialAccountInfo : friendsInList) {

}
}

@Override
public void onFailure(Pair<Integer, String> responseCode) {
// 获取失败
}
});

返回值

{"id":"","imageUrl":"","width":0,"height":0,"gender":"","nickName":""}

版本历史

  • 1.0 支持 facebook
  • 1.0.8 支持 vk

社交平台的功能与权限申请

社交平台功能参数权限
System手机系统的分享功能不需要不需要
Facebook分享向社交平台的后台申请
Facebook用户社交信息向社交平台的后台申请
Facebook好友社交信息向社交平台的后台申请
Facebook邀请好友向社交平台的后台申请