인게임 외부 브라우저 호출
Hive SDK v4 24.0.0 버전부터는 게임 안에서 외부 브라우저를 호출하는 기능을 제공합니다. 즉, 사용자가 게임 중에도 이탈할 필요 없이 외부 브라우저를 이용할 수 있습니다.
인게임 외부 브라우저 호출 기능은 사용자 이탈률 감소 뿐만 아니라, 보다 나은 사용자 경험을 제공합니다.
Note
자세한 내용은 Android Custom tabs, iOS SFSafariViewController 문서를 참고하세요.
사용하기¶
인 게임 외부 브라우저 호출 기능을 사용하는 방법을 안내합니다.
설정 기능¶
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 호출 성공
        }
}];