查询好友的回调(GUAQuereyFriendObserver)
[MSDK & Player Network SDK] 注册好友模块的回调,游戏需要注册回调函数进行处理。更多关于回调数据结构,可以查看 GUAFriendResult。
注意
强烈建议游戏在应用启动函数中进行注册。
函数定义
- Unity
- Unreal Engine
回调事件用于处理的方法列表
回调事件 | Common | [仅限 Player Network SDK] | [仅限 MSD] |
---|---|---|---|
FriendBaseEvents | QueryFriends | - | - |
event OnResultHandler<GUAFriendResult> QuereyFriendEvents;
回调事件用于处理的方法列表
回调事件 | Common | [仅限 Player Network SDK] | [仅限 MSD] |
---|---|---|---|
OnQueryFriendNotify | QueryFriends | - | - |
class GUA_EXTERN GUAFriendObserver
{
public:
virtual ~GUAFriendObserver() {};
virtual void OnQueryFriendNotify(const GUAFriendResult &friend_ret){};
};
代码示例
- Unity
- Unreal Engine
// 增加回调
UnionAdapterAPI.GetFriendService().QuereyFriendEvents += OnFriendQueryFriend;
// 移除回调
UnionAdapterAPI.GetFriendService().QuereyFriendEvents -= OnFriendQueryFriend;
// QuereyFriendEvents 的回调处理
private void OnFriendQueryFriend(GUAFriendResult friendRet)
{
string methodTag = "";
if (friendRet.MethodId == (int)GUAMethodID.GUA_FRIEND_QUERY_FRIENDS)
{
methodTag = "QueryFriends";
}
Debug.Log(methodTag + friendRet.ToString());
}
// 1.在引擎层定义继承自 GUA_NAMESPACE::GUAFriendObserver 的观察者类
// 2.实现方法名一样的回调接口(如:OnQueryFriendNotify)
class FGUAFriendObserver : public GUA_NAMESPACE::GUAFriendObserver {
public:
static FGUAFriendObserver Instance;
void OnQueryFriendNotify(const GUA_NAMESPACE::GUAFriendResult& friend_ret)
{
}
};
FGUAFriendObserver FGUAFriendObserver::Instance;
// 设置回调
GUA_NAMESPACE::GUAFriendService::SetFriendObserver(&FGUAFriendObserver::Instance);