채널별 개인 데이터 설정
채널별 개인 데이터 설정
채널별 개인 데이터 정보를 다르게 설정할 수 있습니다.
설정 가능한 정보는 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 exception) {
}
}
);
// Private Data 업데이트
TalkPlus.updateChannelPrivateData(tpChannel,
data,
new TalkPlus.CallbackListener<TPChannel>() {
@Override
public void onSuccess(TPChannel tpChannel) {
}
@Override
public void onFailure(int errorCode, Exception exception) {
}
}
);
// 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 exception) {
}
}
);
// Private Tag 가져오기
tpChannel.getPrivateTag();
// 채널의 멤버 정보 업데이트
TalkPlus.updateChannelMemberInfo(tpChannel,
data,
object : TalkPlus.CallbackListener<TPMember>() {
override fun onSuccess(tpMember: TPMember) {
// get memberInfo
// tpMember.getMemberInfo();
}
override fun onFailure(errorCode: Int, exception: Exception) { }
})
// Private Data 업데이트
TalkPlus.updateChannelPrivateData(tpChannel,
data,
object : TalkPlus.CallbackListener<TPChannel>() {
override fun onSuccess(tpChannel: TPChannel) { }
override fun onFailure(errorCode: Int, exception: Exception) { }
})
// Private Data 가져오기
tpChannel.privateData
// Private Tag 업데이트 (검색 목적)
TalkPlus.updateChannelPrivateTag(tpChannel,
privateTag,
object : TalkPlus.CallbackListener<TPChannel>() {
override fun onSuccess(tpChannel: TPChannel) { }
override fun onFailure(errorCode: Int, exception: Exception) { }
})
// Private Tag 가져오기
tpChannel.privateTag
채널별 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 exception) {
}
}
);
// 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) {
}
});
// 채널에 Private Tag 설정
TalkPlus.updateChannelPrivateTag(tpChannel,
privateTag,
object : TalkPlus.CallbackListener<TPChannel>() {
override fun onSuccess(tpChannel: TPChannel) { }
override fun onFailure(errorCode: Int, exception: Exception) { }
})
// Private Tag에 매칭되는 채널 목록 가져오기
val tpChannelQueryParams: TPChannelQueryParams =
TPChannelQueryParams.Builder()
.setLastChannel(lastChannel)
.setChannelName(channelName)
.setPrivateTag(privateTag)
.setSubCategory(subCategory)
.setMemberIds(memberIds)
.setCategory(category)
.setFrozenType(TPChannelQueryParams.TPChannelFrozenType.NONE)
.build()
TalkPlus.searchChannels(tpChannelQueryParams, object : TalkPlus.TPCallbackListener<List<TPChannel>, Boolean>() {
override fun onSuccess(tpChannels: List<TPChannel>, hasNext: Boolean) { }
override fun onFailure(errorCode: Int, exception: Exception) { }
})
Last updated