コンテンツにスキップ

インゲームブラウザ

この機能により、アプリ内でウェブコンテンツを呼び出すことができます。言い換えれば、ユーザーはアプリを離れることなく外部ブラウザやウェブビューにアクセスできます。アプリ内でウェブコンテンツを呼び出す能力は、ユーザーの離脱を減少させるだけでなく、より良いユーザー体験を提供します。

Note

外部ブラウザに関する詳細については、Androidのカスタムタブおよび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 call successful
            }
    });
#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 call successful
        }
};
#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 call successful
        }
}];


アプリ内でWebviewを呼び出す

このセクションでは、アプリ内でウェブビューを呼び出す方法について説明します。useUserSessionを使用してアプリ内ログインセッションを送信でき、アプリ開発者が望む追加情報はpostDataを使用して送信できます。

設定可能な機能

InAppWebViewParamで設定できる機能は次のとおりです:

機能 説明 デフォルト値 必須
useUserSession アプリ内ログインセッション情報。player_idplayer_tokenを含むJSONデータ。 false X
postData アプリ開発者によって送信される追加情報を含むデータ。ウェブビューに表示する追加情報がある場合に使用されます。 null X
Warning

useUserSessionを使用する際は、postDataはJSON形式である必要があります。

例のコード

ここにInAppWebViewParamを使用して機能を設定するための例のコードがあります。

using hive;

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

    PlatformHelper.showInAppWebView(param, (ResultAPI result) => {
            if (result.isSuccess()) {
                    // API call successful
            }
    });
#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 call successful
        }
}));
#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 call successful
        }
});
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 call successful
        }     
});
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 call successful
        }
};
#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 call successful
        }
}];