다음을 통해 공유


소셜 관계 변경 처리

이 항목에서는 소셜 관계 변경을 처리하기 위한 예제 코드를 제공합니다.

관계 변경에 대한 구독

플랫 C API

HRESULT hr = XblSocialSubscribeToSocialRelationshipChange(
    xboxLiveContext, 
    xboxUserId,
    &state.socialSubscriptionHandle
);

관계 변경에서 구독 취소

플랫 C API

HRESULT hr = XblSocialUnsubscribeFromSocialRelationshipChange(
    xboxLiveContext, 
    state.socialSubscriptionHandle
);

state.socialSubscriptionHandle = nullptr;

관계 변경 처리기 추가

플랫 C API

state.socialRelationshipChangedHandlerToken = XblSocialAddSocialRelationshipChangedHandler(
    xboxLiveContext,
    [](const XblSocialRelationshipChangeEventArgs* args, void* context)
    {
        UNREFERENCED_PARAMETER(context);
        LogToFile("Social relationship changed:");
        std::stringstream ss;
        for (size_t i = 0; i < args->xboxUserIdsCount; ++i)
        {
            if (i > 0) 
            {
                ss << ", ";
            }
            ss << args->xboxUserIds[i];
        }
        LogToFile("socialNotification = %u, affectedXuids = %s", args->socialNotification, ss.str().data());
    },
    nullptr
);

관계 변경 처리기 제거

플랫 C API

HRESULT hr = XblSocialRemoveSocialRelationshipChangedHandler(xboxLiveContext, state.socialRelationshipChangedHandlerToken);
state.socialRelationshipChangedHandlerToken = 0;

참고 항목

XblSocialSubscribeToSocialRelationshipChange
XblSocialUnsubscribeFromSocialRelationshipChange
XblSocialAddSocialRelationshipChangedHandler
XblSocialRemoveSocialRelationshipChangedHandler