Hive에 가입 시 입력된 유저 정보를 요청할 수 있다.

Hive 메시지 수신 확인 기능 (1.8.0+)

Hive 메시지 이용 가능 대상
  • 게스트 유저는 Hive 메시지 이용 불가(Hive 유저만 지원)
  • 게임 친구가 아니어도 Hive 친구 관계라면 이용 가능
    (단, Hive 계정설정 메시지 수신 옵션에 모두에게 받기인 경우 Hive 친구가 아니어도 전송 가능)
Hive 메시지 아이콘 UI
  • UI 디자인 및 개발은 각 게임에서 직접 제작 후 게임 내 적용 필요
  • 새로 온 메시지 알림 뱃지는 신규 메시지 있으면 N, 없으면 뱃지 비노출 처리 필요
  • New 뱃지 노출 시점은 게임 내 Hive 메시지 아이콘이 노출되는 시점에만 체크
Hive 메시지 New 뱃지 노출기준
  • 노출: Hive 메시지에 새로 온 메시지가 있는 경우 (N으로만 노출 되고 숫자 노출 없음)
  • 비 노출: 새로 온 Hive 메시지 모두 메시지 상세 페이지에서 읽어야지만 New 뱃지 비 노출
    (C2SModuleSns_Show에서 type:message일 때 메시지 페이지로 이동하여 확인가능)

C2SModuleSns_User

Hive 로그인한 사용자의 정보를 요청한다. 또는 페이스북 관련된 정보를 요청한다.
본인이 받은 Hive 새 메시지의 개수 정보를 요청한다. 해당 정보로 뱃지 정보 구성이 가능하다. ( 1.8.0+) 
( type == “facebook” 일 때 페이스북 로그인이 안 되었을 경우 페이스북 로그인 창이 뜨게된다.)

Request
argument name type desc platform 비고
vid string,
string array
vid 대상의 정보를 요청
N/A : 자신의 정보를 요청 (게스트 로그인일 땐 사용불가)
all
type string facebook“: 페이스북 본인의 정보 요청
message“: 본인의 받은 새 메시지 개수 요청 (1.8.0+)
all
facebookId string  페이스북 AppScopeId 입력할 경우 해당 id의 페이스북 유저 프로필 이미지 요청 all 1.3.0+
Result

요청한 Hive 로그인 혹은 페이스북 관련 유저 정보를 전달 받는다.

argument name type desc platform 비고
Hive 유저 정보 요청 (service = null)
list Dictionary vid로 요청 했을때 유저들의 정보를 저장한 배열 all
자신의 페이스북 유저 정보 요청 (service = “facebook”)
service string “facebook”: 페이스북 본인의 정보를 요청과
페이스북 프로필 이미지를 얻을 경우
all 1.3.0+
uid string facebook App Scope ID all 1.3.0+
e-mail string 이메일 all 1.3.0+
gender string 성별 all 1.3.0+
language string 언어 all 1.3.0+
country string 국가코드 all 1.3.0+
username string 유저 이름 all 1.3.0+
second_email string 보조 이메일 all 1.3.0+
about string null all 1.8.10+
페이스북 프로필 이미지 URL 요청 (service = “facebook” 이고 facebookId = facebook App Scope ID)
service string “facebook”: 페이스북 본인의 정보를 요청과
페이스북 프로필 이미지를 얻을 경우
all 1.3.0+
url string 페이스북 프로필 이미지 url all 1.3.0+
자신의 Hive 계정 새 메시지 개수 요청 (service = “message”)
messageCount string 받은 새 메시지의 개수  all 1.8.0+

array type for list

argument name type desc platform 비고
vid string 로그인 센터 고유 ID all
uid string 게스트가 아닌 유저의 플랫폼 ID all
nickName string 닉네임 (Hive ID) all
profileImageURL string 프로필 이미지의 링크 all
alias string (선택 사용) 개별 사용자가 설정한 이름 all
country string (선택 사용) 유저의 국가 정보 withhive
birthday string (선택 사용) 생년월일 withhive
gender string (선택 사용) 성별 withhive
comment string (선택 사용) 오늘의 한마디 withhive
e-mail string (선택 사용) 이메일
이메일이 없는 경우는 아래와 같다
1. 페이스북으로 가입했으나 이메일 인증을 하지 않은 계정일 경우
2. 시나웨이보로 가입했을 경우
3. 최근 구글로 가입했으나 퍼미션이 없을 경우
withhive
facebookId string (선택 사용) 페이스북 ID withhive
newMessageCount 32bit
signed
(선택 사용) 자신의 정보일때만 데이터가 존재함,
받은 메시지의 개수
withhive
newFriendCount 32bit
signed
(선택 사용) 자신의 정보일때만 데이터가 존재함,
새로 수락된 친구의 카운트
withhive
newRequestCount 32bit
signed
(선택 사용) 자신의 정보일때만 데이터가 존재함,
받은 친구 요청 카운트
withhive
샘플 코드
Unity®

API Reference: C2SModule.Sns.User

  • public static bool C2SModule.Sns.User(C2SModule.Parameter arg, out C2SModule.Error error);
  • public static bool C2SModule.Sns.User(C2SModule.Parameter arg, out C2SModule.Error error,
    C2SModule.CompletionHandler completionHandler);

Unreal

API Reference: HiveSDKUESns_User

  • void HiveSDKUESns_User(FString fstrJson);

Cocos2d-x

API Reference: C2SModuleSns_User

  • bool C2SModuleSns_User(const char* pstrJson, C2SModule_Cocos2dx::C2SModuleError* pkError,
    C2SModule_Cocos2dx::C2SModuleCompletionHandler* completionHandler = NULL);

iOS

API Reference: C2SModuleSns User

  • +(BOOL)User:(id)arg error:(NSError**)error;
  • +(BOOL)User:(id)arg error:(NSError**)error completionHandler:(void(^)(NSDictionary *, NSError*))
    completionHandler;

 

타임존 API

Public API

getTimezone

요청 데이터 중 IP 필드가 존재하면 해당 데이터를 이용하여 타임존 정보를 반환하고, 존재하지 않을 경우엔 요청자의 IP를 타임존 서비스에서 직접 판단한여 해당 IP의 타임존 정보를 반환함

Request 정보
상용 URL https://timezone.qpyou.cn/public/api/getTimezone
Sandbox URL https://sandbox-timezone.qpyou.cn/public/api/getTimezone
Method POST
Request Parameter
Key Type Value 비고
ip String 아이피 선택 사용
Response
Key Type Value
zone_id String 타임존디비에서 제공하는 지역의 고유 식별자값
country_code String 국가 코드
zone_name String 지역 이름
country_name String 국가명
abbreviation String 표준시 약어
gmt_offset String 시차(초)
dst String summer time 적용 여부
Sample
Request {
“ip”: “127.0.0.1”
}
Response {
“result_code” : 0,
“result_message”:  “Success”,
“timezone” : {
“zone_id”:”212″,
“country_code”:”KR”,
“zone_name”:”Asia/Seoul”,
“country_name”:”South Korea”,
“abbreviation”:”KST”,
“gmt_offset”:”32400″,
“dst”: “0”
}
}

 

getTimezoneByCountryCode

국가 코드를 이용하여 관련 타임존 정보를 반환

Request 정보
Request Parameter
Key Type Value 비고
country_code String 국가 코드 Required
Response
Key Type Value
zone_id String 타임존 DB에서 제공하는 지역의 고유 식별자값
country_code String 국가 코드
zone_name String 지역 이름
country_name String 국가명
abbreviation String 표준시 약어
gmt_offset String 시차(초)
dst String summer time 적용 여부
Sample
Request {
“country_code”: “KR”
}
Response {
“result_code” : 0,
“result_message”:  “Success”,
“timezone” : {
“zone_id”:”212″,
“country_code”:”KR”,
“zone_name”:”Asia/Seoul”,
“country_name”:”South Korea”,
“abbreviation”:”KST”,
“gmt_offset”:”32400″,
“dst”: “0”
}
}

 

Private API

getAllTimezone

모든 타임존 정보를 반환

Request 정보
Request Parameter
Key Type Value 비고
client_key String 클라이언트 키 필수 사용
Response
Key Type Value
zone_id String 타임존디비에서 제공하는 지역의 고유 식별자값
country_code String 국가 코드
zone_name String 지역 이름
country_name String 국가명
abbreviation String 표준시 약어
gmt_offset String 시차(초)
dst String summer time 적용 여부
Sample
Request {
“client_key”: “0ab687c6a138022a66174d53273e3d41717e”
}
Response {
“result_code” : 0,
“result_message”:  “Success”,
“timezone” : [{
“zone_id”:”406″,
“country_code”:”US”,
“zone_name”:”America/Adak”,
“country_name”:”United States”,
“abbreviation”:”HST”,
“gmt_offset”:”-36000″,
“dst”: “0”
},
{
“zone_id”:”407″,
“country_code”:”US”,
“zone_name”:”Pacific/Honolulu”,
“country_name”:”United States”,
“abbreviation”:”HST”,
“gmt_offset”:”-36000″,
“dst”: “0”
},
{
“zone_id”:”408″,
“country_code”:”UY”,
“zone_name”:”America/Montevideo”,
“country_name”:”Uruguay”,
“abbreviation”:”UYT”,
“gmt_offset”:”-10800″,
“dst”: “0”
},
{
“zone_id”:”409″,
“country_code”:”UZ”,
“zone_name”:”Asia/Samarkand”,
“country_name”:”Uzbekistan”,
“abbreviation”:”+05″,
“gmt_offset”:”18000″,
“dst”: “0”
},
{
“zone_id”:”410″,
“country_code”:”UZ”,
“zone_name”:”Asia/Tashkent”,
“country_name”:”Uzbekistan”,
“abbreviation”:”+05″,
“gmt_offset”:”18000″,
“dst”: “0”
},
{
“zone_id”:”411″,
“country_code”:”VA”,
“zone_name”:”Europe/Vatican”,
“country_name”:”Vatican”,
“abbreviation”:”CET”,
“gmt_offset”:”3600″,
“dst”: “0”
},

] }

 


 

Result Code

API 호출 시 Return 되는 코드와 Message

Code Message Comment HTTP Status code
0 Success 성공 200
1 MissingPostData 요청 데이터가 누락됨 200
2 InvalidPostData 요청 데이터가 Json String이 아님 200
3 MissingGetData 요청 데이터가 누락됨 200
11 MissingDomain email 또는 receiver의 도메인이 누락됨 200
12 InvalidDomain email 또는 receiver의 도메인이 유효하지 않음 200
13 DomainOnBlackList email 또는 receiver의 도메인이 블랙리스트에 포함되어 있음 200
21 MissingEmail email 또는 receiver 필드가 누락됨 200
22 InvalidEmail email 또는 receiver 형식이 올바르지 않음 200
23 EmailOnBlackList email 또는 receiver가 블랙 리스트에 포함되어 있음 200
24 EmailNotFoundFromBlackList email이 블랙 리스트에 포함되어 있지 않음 200
25 EmailOnBouceList email 또는 receiver가 바운스 리스트에 포함되어 있음 200
26 EmailNotFoundFromBounceList email이 바운스 리스트에 포함되어 있지 않음 200
31 MissingEmailSender sender 필드가 누락됨 200
32 MissingEmailReceiver receiver 필드가 누락됨 200
33 MissingEmailSubject subject 필드가 누락됨 200
34 MissingEmailBody body 필드가 누락됨 200
41 MissingClientName client_name 필드가 누락됨 200
42 MissingLimitTime limit_time 필드가 누락됨 200
43 MissingLimitCount limit_count 필드가 누락됨 200
44 ExceedUsageLimit 제한횟수 초과 200
101 MissingClientKey client_key 필드가 누락됨 401
102 InvalidClientKey client_key가 등록되어 있지 않음 401
103 AlreadyExsistClient client_name이 이미 등록 되어 있음 401
401 FailGetClientId client_id 데이터 가져오기 실패 500
402 FailGetCurCount cur_count 데이터 가져오기 실패 500
403 FailGetLimitCount limit_count 데이터 가져오기 실패 500
404 FailGetLimitTime limit_time 데이터 가져오기 실패 500
405 FailGetLimitDate limit_date 데이터 가져오기 실패 500
406 FailGetCurDate cur_date 데이터 가져오기 실패 500
501 DBConnectionError 데이터베이스 서버 연결 실패 500
502 DBQueryError 데이터베이스 쿼리 실행 오류 500
601 MQConnectionError 메시지 큐 서버 연결 실패 500
602 MQPublishError 메시지 큐로 메시지 전송 실패 500
603 MQConsumeError 메시지 큐에서 메시지 수신 실패 500
999 UnknownServerError 알 수 없는 서버 오류 500