좋아요 카운터
VChatCloud API를 사용하여 채팅방의 좋아요 수를 간편하게 관리할 수 있습니다. 사용자는 좋아요 버튼을 눌러 채팅방에 대한 긍정적인 반응을 표현하고, 앱은 API를 통해 좋아요 수를 실시간으로 업데이트하여 사용자들에게 보여줄 수 있습니다.
라이브러리 사용 방법
별도의 API 키 발급이나 CMS 설정 없이 아래 안내에 따라 좋아요 카운트 기능을 구현할 수 있습니다.
좋아요 카운트 전송
사용자가 좋아요 버튼을 클릭했을 때, VChatCloudApi.getInstance().sendLike()
메소드를 호출하여 좋아요 카운트를 서버로 전송합니다.
WARNING
이 API는 단순히 좋아요 수를 증가시키는 역할만 수행합니다. 사용자별로 한 번만 좋아요를 누르도록 제한하려면 앱 내부에서 사용자의 좋아요 상태를 별도로 관리해야 합니다.
java
VChatCloudApi.getInstance().sendLike(room_id, new ApiCallback() {
@Override
public void onFailure(VChatCloudException e) {
}
@Override
public void onSuccess(JSONObject jsonObject) {
getLike(); // 좋아요 카운트를 가져오는 메소드를 호출 ( 2번 항목 )
}
});
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
좋아요 카운트 조회
채팅방의 현재 좋아요 수를 가져오기 위해 VChatCloudApi.getInstance().getLikeCount()
메소드를 호출합니다.
TIP
좋아요 수는 다른 사용자가 좋아요를 눌렀을 때 자동으로 실시간으로 업데이트되지 않습니다. 따라서 주기적으로 API를 호출하여 최신 좋아요 수를 가져오거나, 서버에서 좋아요 발생 시 커스텀 메시지를 통해 업데이트하는 방식을 고려해야 합니다.
java
String room_id = options.channelKey; // 채팅 룸 id
VChatCloudApi.getInstance().getLikeCount(room_id, new ApiCallback() {
@Override
public void onFailure(VChatCloudException e) {
Log.e("getLikeCount", "" + e);
}
@Override
public void onSuccess(JSONObject jsonObject) {
Log.e("getLikeCount", "" + jsonObject);
android.os.Message msg = likeHandler.obtainMessage();
msg.obj = jsonObject;
likeHandler.sendMessage(msg);
}
});
Handler likeHandler = new Handler(Looper.getMainLooper()) {
public void handleMessage(android.os.Message msg) {
JSONObject object = (JSONObject) msg.obj;
if ((long) object.get("like_cnt") == 0) {
$titleLikeCount.setText("0");
} else {
// Util.valueConversion: VChatCloud 라이브러리에서 제공하는 숫자 단위 변환 유틸리티 함수
// (예: 1000 -> 1K, 1000000 -> 1M)
$titleLikeCount.setText(Util.valueConversion(new String[] {"", "K", "M", "G", "T", "P", "E", "Z", "Y"}, (long) object.get("like_cnt"), 1000));
}
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
JSONObject
좋아요 수 API 리턴 데이터
값 | 식별자 | 설명 |
---|---|---|
result_cd | int | 성공 (1), 실패(0) |
like_cnt | long | 좋아요 수 |