# 좋아요 카운트

채팅방에 대한 좋아요 카운트를 가져오고, 카운트를 올리는 요청을 간편하게 구현할 수 있습니다.

# 라이브러리 사용 방법

해당 라이브러리는 따로 API KEY를 발급받거나 CMS에서 설정해야하는 사전 설정이 없습니다.
아래 내용을 읽고 진행하시면 됩니다.


  1. 좋아요 카운트 전송하기

좋아요 카운트를 전송하는 예제입니다.
본 API 는 카운트 집계만 하도록 되어있어서, 사용자별로 한번만 전송하기 원하는 경우는 내부적으로 상태를 관리해야 합니다.

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
  1. 좋아요 카운트 가져오기

좋아요 카운트는 상대방이 눌러도 동적으로 메시지를 전송해주지 않기 때문에,
채팅서버로 주기적으로 요청을 하거나, 커스텀 메시지로 다시 불러오도록 구현이 필요합니다.
아래는 채팅서버로부터 카운트를 가져오는 예제입니다.

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) 짤라서 제공되어진 숫자와 데이터를(단위 문자) 표현해주는 유틸입니다.
            $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
JSONObject 리턴 데이터
식별자 설명
result_cd int 성공 (1), 실패(0)
like_cnt long 좋아요 카운트
Copyright 2022. E7Works Inc. & JOYTUNE Corp. All Rights Reserved.