LBS功能
Unity3D
概述
接入向导
获取玩家位置信息
获取附近的人
清空位置信息
获取IP信息
Android
概述
接入向导
获取玩家位置信息
获取附近的人
清空位置信息
获取IP信息
IOS
概述
接入向导
获取玩家位置信息
获取附近的人
清空位置信息
获取IP信息
其他
数据结构
系统工具
Crash上报 / Unity3D / 概述

概述

LBS模块可以获取玩家的位置信息,并获取附近的玩家的信息,让玩家可以和自己周边的玩家进行互动。

显示详情

接入向导

LBS功能插件化,业务可按需合入。

  • Android 3.3.15a 版本开始新增 MSDKLbs.jar,对外接口保持不变,如不需要LBS能力,直接删除MSDKLibrary/libs/MSDKLbs.jar文件即可
  • iOS 3.3.8i 版本开始新增 MSDKLbs.framework,对外接口保持不变,如不需要LBS能力,直接删除Library/MSDKLbs/MSDKLbs.framework文件即可

1 前置条件


1) 您已经按初始化模块说明完成 初始化
2) 调用LBS接口需要先登录QQ/微信

2 注册回调

概述

获取附近的人接口WGGetNearbyPersonInfo()和清空自己位置信息接口WGCleanLocation()的结果会通过回调 NearbyEvent 返回给游戏。获取自己位置信息接口WGGetLocationInfo()的结果通过回调 LocateEvent 返回给游戏。

获取自己位置信息回调

1)功能描述

获取自己位置信息回调

2)接口声明
public delegate void LocateDelegate(LocationRet ret);
3)参数说明
返回值名称 参数类型 说明
ret LocationRet 玩家位置信息类
4)返回值

5)示例代码
MsdkEvent.Instance.LocateEvent += (LocationRet locationret) => {
    Debug.Log(locationret.ToString());
    message = locationret.ToString();
    if (locationret.flag == eFlag.eFlag_Succ) {
        // 获取位置信息成功
    } else {
        // 获取位置信息失败
    }
}
6)特殊说明

7)名词解释

获取附近的人与清空自己位置信息回调

1)功能描述

获取附近的人与清空自己位置信息回调

2)接口声明
public delegate void NearbyDelegate(RelationRet ret);  
3)参数说明
返回值名称 参数类型 说明
ret RelationRet 玩家信息的集合类
4)返回值

5)示例代码
MsdkEvent.Instance.NearbyEvent += (RelationRet relationRet) => {
    Debug.Log(relationRet.ToString());
    if (relationRet.flag == eFlag.eFlag_Succ) {
        // 查询附近的人成功
        //游戏TODO 获取附近的人信息
    } else {
        // 查询附近的人失败
        //游戏TODO 根据不同的返回值做处理
    }
}
6)特殊说明

7)名词解释

3 调用lbs接口获取信息

此时您可以调用MSDK接口,获取地理位置信息了,详情参见获取玩家位置信息获取附近的人清空位置信息

恭喜您完成了lbs功能接入工作!

获取玩家位置信息

1 概要说明

获取玩家位置信息

2 注册回调

请参见 注册回调

3 接口调用

1)功能描述

获取玩家的地理位置信息:经纬度。

2)接口声明
bool WGGetLocationInfo();
3)参数说明

4)返回值

没有返回值。获取的结果会通过注册并实现回调函数中的LocateEvent事件,携带LocationRet返回。

5)示例代码
WGPlatform.Instance.WGGetLocationInfo();
6)特殊说明

7)名词解释

获取附近的人

1 概要说明

获取附近的人

2 注册回调

请参见 注册回调

3 接口调用

1)功能描述

获取当前玩家附近的玩家信息,结果信息通过 NearbyEvent 携带的RelationRet返回。

2)接口声明
void WGGetNearbyPersonInfo();
3)参数说明

4)返回值

没有返回值。获取的结果会通过注册回调中的附近人的信息将通过 NearbyEvent 携带的RelationRet返回给您。

5)代码示例:
void WGGetNearbyPersonInfo ();
6)特殊说明

7)名词解释

RelationRet.flag值表示返回状态, 可能值(eFlag枚举)如下:

eFlag_LbsNeedOpenLocationService: 需要引导用户开启定位服务
eFlag_LbsLocateFail: 定位失败, 可以重试
eFlag_Succ: 获取附近的人成功
eFlag_Error:  定位成功, 但是请求附近的人失败, 可重试

RelationRet.persons是一个Vector, 其中保存了附近玩家的信息 详见常量查询

清空位置信息

1 概要说明

清空位置信息接口可以清除自己的位置信息,当其他玩家获取附近的人时无法获取此玩家的信息。

2 注册回调

请参见 注册回调

3 接口调用

1)功能说明

调用清空位置信息接口可以清除自己的位置信息,当其他玩家获取附近的人时无法获取此玩家的信息,结果信息通过 NearbyEvent 携带的RelationRet ret返回。

2)接口声明
bool WGCleanLocation();
3)参数说明

4)返回值

true或false,只表明是否向服务器发送了清除位置的请求。获取的结果会通过注册并实现回调函数中的 NearbyEvent 事件,携带RelationRet返回。

5)示例代码
WGPlatform.Instance.WGCleanLocation();
6)特殊说明

7)名称解释

RelationRet.flag值表示返回状态, 可能值(eFlag枚举)如下:
eFlag_LbsNeedOpenLocationService: 需要引导用户开启定位服务
eFlag_LbsLocateFail: 定位失败, 可以重试
eFlag_Succ: 清除成功
eFlag_Error: 清除失败, 可重试

获取 IP 信息

1 概要说明

MSDK 提供了基于用户出口 IP 的位置信息服务,当前可以提供国家、省、市信息,以满足业务需求。说明:如果用户使用 VPN、网络代理、加速器(部分)等场景,MSDK 会获取到对应服务器的 IP 位置信息。详情可参考MSDK IP 获取位置信息服务说明。3.3.271 版本开始新增该接口。

2 注册回调

MsdkEvent.Instance.OnLocationGetIPInfoEvent += (GetIPInfoRet relationRet) => {
    //Your code here
}

3 接口调用

WGPlatform.Instance.WGGetIPInfo();