Hive는 Hive 친구의 목록을 제공하고, 친구 사이에 Hive 메시지를 보내고, 친구를 초대하는 기능을 제공합니다. 아래에도 나열된 이 기능들은 유저가 Hive 홈페이지에서 수행할 수도 있지만, 여러분이 Hive API를 이용하여 게임 내에서 제공할 수 있습니다.
Hive 친구 목록 조회하기
유저의 Hive 친구 목록을 조회할 때는 친구 분류를 명시해야 합니다. 아래 안내된 친구 분류에 해당하는 열거형을 파라미터로 설정하여 SocialHive 클래스의 getFriends()
메서드를 호출하고 그 결과로 조회된 친구 목록을 받으세요.
- 유저가 이용 중인 게임과 동일한 게임을 설치한 Hive 친구:
FriendType.IN_GAME
- 유저가 이용 중인 게임을 설치하지 않은 Hive 친구:
FriendType.OUT_GAME
- 유저가 이용 중인 게임으로 유저를 초대한 Hive 친구:
FriendType.INVITED
- 모든 Hive 친구:
FriendType.ALL_GAME
다음은 유저가 이용 중인 게임을 같이 하고 있는 유저의 친구 목록을 조회하는 예제 코드입니다.
API Reference: hive.SocialHive.getFriends
1 2 3 4 5 6 7 8 9 |
using hive; FriendType friendType = FriendType.IN_GAME; SocialHive.getFriends(friendType, (ResultAPI result, List<ProfileHive> profileList) => { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive::getFriends
1 2 3 4 5 6 7 8 9 10 11 |
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std; using namespace hive; FriendType friendType = FriendType::IN_GAME; SocialHive::getFriends(friendType, [=](ResultAPI result, vector<ProfileHive> profileList) { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive.getFriends
1 2 3 4 5 6 7 8 9 10 11 12 |
import com.hive.SocialHive import com.hive.ResultAPI val friendType = SocialHive.FriendType.IN_GAME SocialHive.getFriends(friendType, object : SocialHive.ProfileListener { override fun onProfile(result: ResultAPI, profileList: ArrayList<SocialHive.ProfileHive>?) { if (result.isSuccess) { // 호출 성공 } } }) |
API Reference: com.hive.SocialHive.getFriends
1 2 3 4 5 6 7 8 9 10 |
import com.hive.SocialHive; import com.hive.ResultAPI; SocialHive.FriendType friendType = SocialHive.FriendType.IN_GAME; SocialHive.INSTANCE.getFriends(friendType, (result, profileList) -> { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHiveInterface.getFriends
1 2 3 4 5 6 7 8 9 |
import HIVEService let friendType = FirendType.inGame SocialHiveInterface.getFriends(friendType) { result, profileList in if result.isSuccess() { // 호출 성공 } } |
API Reference: HIVESocialHive:getFriends
1 2 3 4 5 6 7 8 9 |
#import <HIVEService/HIVEService-Swift.h> HIVEFriendType friendType = HIVEFriendTypeInGame; [HIVESocialHive getFriends: friendType handler: ^(HIVEResultAPI *result, NSArray<HIVEProfileHive *> *profileList) { if ([result isSuccess]) { // 호출 성공 } }]; |
Hive 친구 초대하기
Hive 친구는 유저의 주소록이나 Facebook 연동 혹은 Hive 내에서 친구 요청, 수락을 통해서 맺어지는 관계입니다.
친구에게 초대 메시지를 보내기 위해 친구 목록을 띄우려면 Hive 친구 목록 조회하기 섹션을 참고하세요.
Hive 친구에게 유저가 이용하는 게임으로의 초대 메시지를 보내려면 SocialHive 클래스의 sendInvitationMessage()
메서드를 호출하세요. 함수의 첫 번째 파라미터로는 MessageContent 오브젝트를 넘겨 주세요.
API Reference: hive.SocialHive.sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 |
using hive; MessageContent content = new MessageContent(); content.vid = "12345"; content.message = "초대 메시지"; SocialHive.sendInvitationMessage(content, (ResultAPI result) => { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive::sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std; using namespace hive; MessageContent content = new MessageContent(); content.vid = "12345"; content.message = "초대 메시지"; // Hive 초대 메시지 전송하기 SocialHive::sendInvitationMessage(content, [=](ResultAPI result) { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive.sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import com.hive.SocialHive import com.hive.ResultAPI val content = SocialHive.MessageContent().apply { vid = "12345" message = "초대 메시지" } // Hive 초대 메시지 전송하기 SocialHive.sendInvitationMessage(content, object : SocialHive.SendMessageListener { override fun onSendMessage(result: ResultAPI) { if (result.isSuccess) { // 호출 성공 } } }) |
API Reference: com.hive.SocialHive.sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import com.hive.SocialHive; import com.hive.ResultAPI; SocialHive.MessageContent content = new SocialHive.MessageContent(); content.setVid("12345"); content.setMessage("초대 메시지"); // Hive 초대 메시지 전송하기 SocialHive.INSTANCE.sendInvitationMessage(content, result -> { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHiveInterface.sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 |
import HIVEService let content = MessageContent() content.vid = "12345" content.message = "초대 메세지" SocialHiveInterface.sendInvitationMessage(content) { result in if result.isSuccess() { // 호출 성공 } } |
API Reference: SocialHive:sendInvitationMessage
1 2 3 4 5 6 7 8 9 10 11 |
#import <HIVEService/HIVEService-Swift.h> HIVEMessageContent *content = [[HIVEMessageContent alloc] init]; content.vid = @"12345"; content.message = @"초대 메시지"; [HIVESocialHive sendInvitationMessage: content handler: ^(HIVEResultAPI *result) { if ([result isSuccess]) { // 호출 성공 } }]; |
Hive 친구에게 메시지 보내기
유저가 Hive 친구에게 메시지를 발송하면 Hive는 메시지 수신자에게 푸시 알림을 발송합니다. 수신자의 단말기에서 푸시 알림을 띄우는 매체 앱은 다음 중 하나가 됩니다:
- 발신자가 메시지를 발송한 매체 게임과 동일한 게임
- 수신자가 최근에 이용한 Hive가 탑재된 게임
수신자가 매체 앱이 되는 게임을 이용하고 있지 않는 순간에도, 유저의 단말기에 매체 앱들에 대한 푸시 알림이 허용되어 있다면, Hive는 수신자에게 푸시 알림을 전달합니다. 수신자가 푸시 알림을 받고 메시지를 누르면 푸시 알림을 띄운 매체 게임 앱이 실행되므로 수신자가 메시지를 볼 수 있도록 게임 내에 푸시 알림을 Hive 메시지 페이지로 연결하는 UI를 제공하세요.
Hive 메시지를 발송하려면, SocialHive 클래스의 sendMessage()
메서드를 호출하세요. 함수의 첫 번째 파라미터로 전달하는 MessageContent 오브젝트에는 메시지 뿐만 아니라, 부가 정보를 함께 담아 보내야 합니다. sendMessage()
메서드 수행 결과는 onSendMessageHiveCB()
콜백 함수로 확인하세요.
다음은 Hive 친구에게 메시지를 보내는 예제 코드입니다.
API Reference: hive.SocialHive.sendMessage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Hive 메시지 설정하기 MessageContent messageContent = new MessageContent(); messageContent.vid = "VID"; messageContent.message = "메시지 내용"; // Hive 메시지 전송 결과 콜백 핸들러 public void onSendMessageHiveCB(ResultAPI result) { if(result.isSuccess()){ // API 호출 성공 } } // Hive 메시지 전송하기 hive.SocialHive.sendMessage(messageContent, onSendMessageHiveCB); |
API Reference: SocialHive::sendMessage
1 2 3 4 5 6 7 8 9 10 11 12 |
// Hive 메시지 설정하기 MessageContent content = new MessageContent(); content.vid = "VID"; content.message = "메시지 내용"; // Hive 메시지 전송하기 SocialHive::sendMessage(content, [=](ResultAPI result){ // Hive 메시지 전송 결과 콜백 함수 if(result.isSuccess()){ // API 호출 성공 } }); |
API Reference: com.hive.SocialHive.sendMessage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Hive 메시지 설정하기 MessageContent content = new MessageContent(); content.vid = "VID"; content.message = "메시지 내용"; // Hive 메시지 전송하기 SocialHive.sendMessage(content, new SocialHive.SendMessageListener() { // Hive 메시지 전송 결과 콜백 리스너 @Override public void onSendMessage(ResultAPI result) { if(result.isSuccess()){ // API 호출 성공 } } }); |
API Reference: SocialHive:sendMessage
1 2 3 4 5 6 7 8 9 10 11 12 |
// Hive 메시지 설정하기 HIVEMessageContent content = [[HIVEMessageContent alloc] init]; content.vid = @"VID"; content.message = @"메시지 내용"; // Hive 메시지 전송하기 [HIVESocialHive sendMessage:content handler:^(HIVEResultAPI *result) { // Hive 메시지 전송 결과 콜백 핸들러 if([result isSuccess]){ // API 호출 성공 } }]; |
Hive 친구에게 받은 메시지 배지 띄우기
‘New’ 배지가 표시되는 메시지 아이콘은 여러분이 원하는 디자인으로 제작하여 게임에 적용해 주세요. ‘New’ 배지를 띄워야 하는지를 확인하는 작업은 Hive 메시지 아이콘을 띄우는 시점에만 진행하세요.
배지 정책
다음은 배지를 띄우고 내릴 때 여러분이 준수해야 하는 사항입니다.
- 배지를 띄우는 시점: 읽지 않은 신규 메시지가 있다면 배지를 띄워 주세요.
- 배지를 내리는 시점: 읽지 않은 신규 메시지가 없다면 배지를 띄우지 마세요. 메시지를 읽는다는 것은 유저가 메시지 상세 페이지에서 메시지를 읽는 것을 의미합니다. 즉 단순히 메시지 목록을 확인하는 것만으로 읽음 처리가 되지 않습니다.
- 배지 표기: 배지는 N으로 표시하세요. 배지에 메시지 개수를 띄우지 마세요.
신규 메시지 존재 여부 확인하기
‘New’ 배지를 띄우려면 신규 메시지가 있는지 확인해야 합니다. 신규 메시지가 있는지 확인하려면 SocialHive 클래스의 getBadgeInfo()
메서드를 호출하세요. 함수 수행 결과 값은 onSocialBadge()
콜백 함수를 통해 확인하세요.
다음은 유저에게 신규 메시지가 있는지 확인하는 예제 코드입니다.
API Reference: hive.SocialHive.getBadgeInfo
1 2 3 4 5 6 7 |
using hive; SocialHive.getBadgeInfo((ResultAPI result, SocialBadge socialBadge) => { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive::getBadgeInfo
1 2 3 4 5 6 7 8 9 |
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std; using namespace hive; SocialHive::getBadgeInfo([=](ResultAPI result, SocialBadge socialBadge) { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHive.getBadgeInfo
1 2 3 4 5 6 7 8 9 10 |
import com.hive.SocialHive import com.hive.ResultAPI SocialHive.getBadgeInfo(object : SocialHive.SocialBadgeListener { override fun onSocialBadge(result: ResultAPI, badge: SocialHive.SocialBadge?) { if (result.isSuccess) { // 호출 성공 } } }) |
API Reference: com.hive.SocialHive.getBadgeInfo
1 2 3 4 5 6 7 8 |
import com.hive.SocialHive; import com.hive.ResultAPI; SocialHive.INSTANCE.getBadgeInfo((result, badge) -> { if (result.isSuccess()) { // 호출 성공 } }); |
API Reference: SocialHiveInterface.getBadgeInfo
1 2 3 4 5 6 7 |
import HIVEService SocialHiveInterface.getBadgeInfo() { result, socialBadge in if result.isSuccess() { // 호출 성공 } } |
API Reference: SocialHive:getBadgeInfo
1 2 3 4 5 6 7 |
#import <HIVEService/HIVEService-Swift.h> [HIVESocialHive getBadgeInfo: ^(HIVEResultAPI *result, HIVESocialBadge *socialBadge) { if ([result isSuccess]) { // 호출 성공 } }]; |
참고: MessageContent 클래스
Name | Type | Description | Required |
vid | String | Hive 메시지 수신자의 vid.
|
선택 |
uid | String | Hive 메시지 수신자의 uid. | 선택 |
message | String(512) | 메시지 내용. 언어 제한 없음. | 필수 |
imageUrl | String | 메시지에 첨부하는 이미지의 URL | 선택 |
thumbnailUrl | String | 메시지에 첨부하는 이미지의 썸네일 이미지 URL.imageUrl 필드가 입력되었을 시에는 필수임 |
선택 |
usePush | Boolean | 수신자의 단말기에 본 메시지를 단말기 OS 푸시 형태로 보여줄 것인지를 나타냄.
|
선택 |