콘텐츠로 이동

웹 콘텐츠 호출

웹 콘텐츠 호출은 게임 내 브라우저 및 웹뷰 또는 외부 브라우저를 호출하여 게임에서 바로 웹 콘텐츠를 확인할 수 있는 기능입니다.

유저는 게임을 이탈하지 않고도 각 게임 환경에 맞추어 게임 내 브라우저 또는 웹뷰를 호출하여 웹 콘텐츠를 확인할 수 있습니다. 뿐만 아니라 게임에서 다양한 웹 콘텐츠를 유연하게 활용할 수 있어 유저 경험을 높일 수 있습니다.

웹 콘텐츠 호출은 게임 환경에 따라 아래와 같은 인터페이스로 구현할 수 있습니다.

Note

'게임 내애서 브라우저 열기'에 대한 자세한 내용은 Android Custom tabs, iOS SFSafariViewController 문서를 참고하세요.

게임 내 브라우저로 열기

별도의 브라우저를 열지 않고도 게임 내 브라우저를 통해 외부 윀 콘텐츠를 호출합니다.

Note

'게임 내 브라우저로 열기'는 현재 모바일 게임 환경에서만 지원합니다.

설정 기능

'게임 내 브라우저 열기'는 'InAppBrowserParam` 파라미터를 사용하여 구현합니다.

InAppBrowserParam 파라미터로 설정할 수 있는 기능 및 기본 설정값은 아래와 같습니다.

기능 내용 기본 설정값
NavigationColor 상단 네비게이션 영역 색상을 지정합니다. os 기본 색상
ButtonColor (iOS 만 지원) 상단 네비게이션 영역 버튼 색상을 지정합니다. os 기본 색상
UrlBarHiding 스크롤 이벤트 발생시, 상단 URL 노출 영역을 숨깁니다. true
AutoRedirectToExternalBrowser (Android만 지원) 단말기 기본 앱에 설정된 브라우저 앱을 지원하지 않는 경우, 자동으로 외부 브라우저 연결을 지원합니다. true

예제 코드

InAppBrowserParam을 사용한 '게임 내 브라우저 열기 구현하기' 예제 코드는 아래와 같습니다.

using hive;

InAppBrowserParam param = new InAppBrowserParam.Builder("https://developers.withhive.com/")
                                                .setNavigationColor("#3891f0")
                                                .setButtonColor("#ffffff")
                                                .setUrlBarHiding(true)
                                                .setAutoRedirectToExternalBrowser(true)
                                                .build();

    PlatformHelper.showInAppBrowser(param, (ResultAPI result) => {
            if (result.isSuccess()) {
                    // API 호출 성공
            }
    });
#include "HivePlatformHelper.h"

FString URL = TEXT("https://developers.withhive.com/");
FHiveInAppBrowserParam Param(URL);
Param.NavigationColor = TEXT("3891f0");
Param.ButtonColor = TEXT("#FFFFFF");
Param.UrlBarHiding = true;
Param.AutoRedirectToExternalBrowser = true;

FHivePlatformHelper::ShowInAppBrowser(Param, FHivePlatformHelperOnShowInAppBrowserDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // API 호출 성공
        }
}));
    #include <HIVE_SDK_Plugin/HIVE_CPP.h>
    using namespace std;
    using namespace hive;

    InAppBrowserParam *param = new InAppBrowserParam("https://developers.withhive.com/");
    param->navigationColor = "3891f0";
    param->buttonColor = "#ffffff";
    param->urlBarHiding = true;
    param->autoRedirectToExternalBrowser = true;

    PlatformHelper::showInAppBrowser(*param, [=](ResultAPI const & result) {
            if (result.isSuccess()) {
                    // API 호출 성공
            }
    });
    import com.hive.PlatformHelper;
    import com.hive.ResultAPI;

    PlatformHelper.InAppBrowserParam param = new PlatformHelper.InAppBrowserParam.Builder("https://developers.withhive.com/")
                                    .setNavigationColor("#3891f0")
                                    .setUrlBarHiding(true)
                                    .setAutoRedirectToExternalBrowser(true)
                                    .build();

    PlatformHelper.showInAppBrowser(param, result -> {
            if (result.isSuccess()) {
                    // API 호출 성공
            }

    });
import com.hive.PlatformHelper;
import com.hive.ResultAPI;

val param = PlatformHelper.InAppBrowserParam.Builder("https://developers.withhive.com/")
                                        .setNavigationColor("#3891f0")
                                        .setUrlBarHiding(true)
                                        .setAutoRedirectToExternalBrowser(true)
                                        .build()

PlatformHelper.showInAppBrowser(param, object : PlatformHelper.InAppBrowserListener {
        override fun onInAppBrowser(result: ResultAPI) {
                if (result.isSuccess) {
                        // API 호출 성공
                }
        }
})
import HIVEService

let inAppBrowserParam = InAppBrowserParam.Builder(url: "https://developers.withhive.com/")
                                                .setNavigationColor("#3891f0")
                                                .setButtonColor("#ffffff")
                                                .setUrlBarHiding(true)
                                                .setAutoRedirectToExternalBrowserbuild(true)
                                                .build()

PlatformHelperInterface.showInAppBrowser(inAppBrowserParam) { resultAPI in
    if result.isSuccess() {
                // API 호출 성공
        }
};
#import <HIVEService/HIVEService-Swift.h>

HiveInAppBrowserParamBuilder *builder = [[HiveInAppBrowserParamBuilder alloc] initWithUrl: @"https://developers.withhive.com/"];
HiveInAppBrowserParam *inAppBrowserParam = [[[[[builder setNavigationColor: @"#3891f0"]
                                                        setButtonColor: @"#ffffff"]
                                                        setUrlBarHiding: @YES]
                                                        setAutoRedirectToExternalBrowser: @YES]
                                                        build];

[HIVEPlatformHelper showInAppBrowser: inAppBrowserParam handler: ^(HIVEResultAPI *result) {
        if ([result isSuccess]) {
                // API 호출 성공
        }
}];


게임 내 웹뷰로 열기

게임에서 웹뷰로 열어서 웹 콘텐츠를 호출합니다.

설정 기능

'게임 내 웹뷰로 열기'는 InAppWebViewParam 파라미터를 사용하여 구현합니다. InAppWebViewParam 객체에서 제공하는 useUserSession 파라미터를 인앱 로그인 세션을 웹뷰에 전송할 수 있으며, postData로 앱 개발사에서 원하는 부가 정보를 전송할 수 있습니다.

InAppWebViewParam 파라미터로 설정할 수 있는 기능 및 기본 설정값은 아래와 같습니다.

기능 내용 기본 설정값 필수 여부
useUserSession 인앱 로그인 세션 정보입니다. player_idplayer_token을 포함한 JSON 데이터입니다. false X
postData 앱 개발사에서 전송할 부가 정보를 담은 데이터입니다. 웹뷰에서 보여주기 원하는 부가적인 정보가 있을 때 사용합니다. null X
Warning

useUserSession 사용 시 postData는 반드시 JSON 포맷이어야 합니다.

예제 코드

InAppBrowserParam을 사용한 '웹뷰로 열기' 예제 코드는 아래와 같습니다.

using hive;

InAppWebViewParam param = new InAppWebViewParam.Builder("https://developers.withhive.com/")
                                                .setUseUserSession(true)
                                                .build();

    PlatformHelper.showInAppWebView(param, (ResultAPI result) => {
            if (result.isSuccess()) {
                    // API 호출 성공
            }
    });
#include "HivePlatformHelper.h"

FString URL = TEXT("https://developers.withhive.com/");
FHiveInAppWebViewParam Param(URL);
Param.UseUserSession = true;

FHivePlatformHelper::ShowInAppWebView(Param, FHivePlatformHelperOnShowInAppWebViewDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // API 호출 성공
        }
}));
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;

InAppWebViewParam *param = new InAppWebViewParam("https://developers.withhive.com/");
param->useUserSession = true;

PlatformHelper::showInAppWebView(*param, [=](ResultAPI const & result) {
        if (result.isSuccess()) {
                // API 호출 성공
        }
});
import com.hive.PlatformHelper;
import com.hive.ResultAPI;

PlatformHelper.InAppWebViewParam param = new PlatformHelper.InAppWebViewParam.Builder("https://developers.withhive.com/")
                                .setUseUserSession(true)
                                .build();

PlatformHelper.showInAppWebView(param, result -> {
        if (result.isSuccess()) {
                // API 호출 성공
        }     
});
import com.hive.PlatformHelper;
import com.hive.ResultAPI;

val param = PlatformHelper.InAppWebViewParam.Builder("https://developers.withhive.com/")
                                        .setUseUserSession(true)
                                        .build()

PlatformHelper.showInAppWebView(param, object : PlatformHelper.InAppWebViewListener {
        override fun onInAppWebView(result: ResultAPI) {
                if (result.isSuccess) {
                        // API 호출 성공
                }
        }
})
import HIVEService

let inAppWebViewParam = InAppWebViewParam.Builder(url: "https://developers.withhive.com/")
                                                .setUseUserSession(true)
                                                .build()

PlatformHelperInterface.showInAppWebView(inAppWebViewParam) { resultAPI in
    if result.isSuccess() {
                // API 호출 성공
        }
};
#import <HIVEService/HIVEService-Swift.h>

HiveInAppWebViewParamBuilder *builder = [[HiveInAppWebViewParamBuilder alloc] initWithUrl: @"https://developers.withhive.com/"];
HiveInAppWebViewParam *inAppWebViewParam = [[builder setUseUserSession: @YES]
                                                        build];

[HIVEPlatformHelper showInAppWebView: inAppWebViewParam handler: ^(HIVEResultAPI *result) {
        if ([result isSuccess]) {
                // API 호출 성공
        }
}];


외부 브라우저로 열기

게임에서 별도의 외부 브라우저를 연결하여 웹 콘텐츠를 호출합니다.

Note

'외부 브라우저로 열기'는 PC 게임 환경에서만 지원하며, Hive SDK v4 Windows 25.1.0 이상부터 제굥합니다.

설정 기능

OpenBrowserParam를 사용하여 외부 브라우저를 호출하며, 추가적으로 useIncognitoMode 옵션으로 시크릿 모드를 사용하도록 설정할 수 있습니다.

'외부 브라우저로 열기'는 OpenBrowserParam 파라미터를 사용하여 구현합니다. useIncognitoMode 파라미터로 시크릿 모드 옵션을 설정할 수 있습니다.

OpenBrowserParam 파라미터로 설정할 수 있는 기능 및 기본 설정값은 아래와 같습니다.

기능 내용 필수 여부
url 외부 브라우저 호출에 사용할 URL 정보 O
useIncognitoMode * true: 시크릿 모드 브라우저 호출
* false: 일반 모드 브라우저 호출
O

예제 코드

OpenBrowserParam을 사용한 '외부 브라우저로 열기' 예제 코드는 아래와 같습니다.

using hive;

OpenBrowserParam param = new OpenBrowserParam.Builder("https://developers.withhive.com/")
                                                .setUseIncognito(true)
                                                .build();

PlatformHelper.openBrowser(param);
#include "HivePlatformHelper.h"

FString URL = TEXT("https://developers.withhive.com/");
FHiveOpenBrowserParam Param(URL);
Param.useIncognitoMode = true;

FHivePlatformHelper::openBrowser(Param);
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;

OpenBrowserParam *param = new OpenBrowserParam("https://developers.withhive.com/");
param->useIncognitoMode = true;

PlatformHelper::openBrowser(*param);