채널별 개인 데이터 설정

채널별 개인 데이터 설정

채널별 개인 데이터 정보를 다르게 설정할 수 있습니다.

설정 가능한 정보는 Map 형태의 memberInfo와 privateData, 그리고 검색 가능한 privateTag 요소가 있습니다.

본인에게만 보이는 privateData와는 달리 memberInfo는 타인에게 노출됩니다.

memberInfo와 privateData의 경우, 최대 5개의 Key-value 형식의 데이터를 넣을 수 있습니다.

  • key, value 둘 다 문자열이어야 합니다.

  • key값의 최대 길이는 128자이고 value값의 최대 길이는 1024자입니다.

// 채널의 멤버 정보 업데이트
TalkPlus.updateChannelMemberInfo(tpChannel, 
    data, 
    new TalkPlus.CallbackListener<TPMember>() {
        @Override
        public void onSuccess(TPMember tpMember) {
            // get memberInfo
            // tpMember.getMemberInfo();
        }
        @Override
        public void onFailure(int errorCode, Exception e) {
        }
    }
);

// Private Data 업데이트
TalkPlus.updateChannelPrivateData(tpChannel, 
    data, 
    new TalkPlus.CallbackListener<TPChannel>() {
        @Override
        public void onSuccess(TPChannel tpChannel) {
        }
        @Override
        public void onFailure(int errorCode, Exception e) {
        }
    }
);

// Private Data 가져오기
tpChannel.getPrivateData();

// Private Tag 업데이트 (검색 목적)
TalkPlus.updateChannelPrivateTag(tpChannel, 
    privateTag, 
    new TalkPlus.CallbackListener<TPChannel>() {
        @Override
        public void onSuccess(TPChannel tpChannel) {    
        }
        @Override
        public void onFailure(int errorCode, Exception e) {
        }
    }
);

// Private Tag 가져오기
tpChannel.getPrivateTag();

채널별 Private Tag 설정

채널 검색을 용이하게 하기 위해 각 채널에 private Tag 값을 설정할 수 있습니다.

private Tag 데이터는 사용자 개인에게만 노출되는 태그로써 개인적인 채널 필터링 용도로만 사용 가능합니다. (예: 본인이 찜한 채널 목록 등)

  • TPChannelQueryParams 클래스는 TalkPlus Android SDK v0.5.6 이상에서 지원됩니다.

// 채널에 Private Tag 설정
TalkPlus.updateChannelPrivateTag(tpChannel, 
    privateTag, 
    new TalkPlus.CallbackListener<TPChannel>() {
        @Override
        public void onSuccess(TPChannel tpChannel) {    
        }
        @Override
        public void onFailure(int errorCode, Exception e) {
        }
    }
);

// Private Tag에 매칭되는 채널 목록 가져오기
TPChannelQueryParams tpChannelQueryParams =
    new TPChannelQueryParams.Builder()
    	.setLastChannel(lastChannel)
    	.setChannelName(channelName)
	.setPrivateTag(privateTag)
	.setSubCategory(subCategory)
	.setMemberIds(memberIds)
	.setCategory(category)
	.setFrozenType(TPChannelQueryParams.TPChannelFrozenType.NONE)
	.build();
	
    TalkPlus.searchChannels(tpChannelQueryParams, new TalkPlus.TPCallbackListener<List<TPChannel>, Boolean>() {
	@Override
	public void onSuccess(List<TPChannel> tpChannels, Boolean hasNext) {
	
	}
			
	@Override
	public void onFailure(int errorCode, Exception exception) {
			
	}
    });

Last updated