Unreal

Quick Start

最新バージョンダウンロード

NAVERゲームSDKのサンプルプロジェクトをUnreal Engineで実行する方法は以下のとおりです。

  1. sample/unreal-sample-4.23.1フォルダ内のプロジェクトをUnreal Editorで実行する。

  2. コンテント -> NewMap.umapファイルを開く。

  3. ワールドセット -> ゲームモードにNNGUnrealSampleGameModeがセットされているか確認する。

  4. テスト機器に実行し、StartHomeボタンをクリックしてSDKが正常に実行されるかを確認する。

既存のプロジェクトにNaverGameSDKを適用

1. プログインのインストール

本ガイドは、Unreal 4.23.1バージョンを基準として作成されています。

  • プロジェクトがない場合は新しいプロジェクトを作成してください。

  • プロジェクトが実行されたら、packageフォルダのNaverGameSdk_xxx.zipファイルの圧縮を解いてPlugInsフォルダに貼り付けてください。PlugInsフォルダがない場合は新しく作成してください。フォルダ名はNaverGameSdkにしてください。

  • Unreal Engineをもう一度実行し、セットのプログインを実行してothersセクションにNaverGameSDKが正しく適用されたか確認してください。

2. NaverGameSdkの適用

プログインが設定されたら、ブループリントを使用してUnreal EngineのプロジェクトにNaverGameSdkを適用する方法をガイドします。

  • 現在のレベルのレベルブループリントを編集してください。

  • レベルブループリントが開いたら、ゲーム開始時に予め作成されたメインメニューが表示されるよう設定してください。

  • BeginPlayイベントの矢印をドラッグしてウィジェット作成を選択してください。

  • ウィジェットを作成したら、ClassのDropboxを選択してmainMenuのブループリントに接続してください。

  • ウィジェット作成の次のフローを引き出してAdd to Viewportの命令を実行してください。ターゲットはReturn Valueに接続します。

  • コンテンツブラウザのソースパネルを開き、NaverGameSdkコンテンツフォルダを選択してmainMenuのブループリントを編集してください。

  • グラフ編集画面に入ってInit関数の引数をクライアントに合わせて修正してください。

  • コールバック関数(Delegate)は以下の方法で登録することができます。

void foo() {

    // 네이버 게임 SDK 시작
    FNaverGameSdkModule::OnSdkStarted.AddUObject(this, &YourModule::OnSdkStarted);
        
    // 네이버 게임 SDK 종료
    FNaverGameSdkModule::OnSdkStopped.AddUObject(this, &YourModule::OnSdkStopped);
        
    // 인게임 메뉴 코드 수신
    FNaverGameSdkModule::OnReceiveInGameMenuCode.AddUObject(this, &YourModule::OnReceiveInGameMenuCode);
}

void YourModule::OnSdkStarted()
{
    UE_LOG(LogTemp, Warning, TEXT("OnSdkStarted"));
}

void YourModule::OnSdkStopped()
{
    UE_LOG(LogTemp, Warning, TEXT("OnSdkStopped"));
}

void YourModule::OnReceiveInGameMenuCode(const FString& InGameMenuCode)
{
    UE_LOG(LogTemp, Warning, TEXT("OnReceiveInGameMenuCode, %s"), *InGameMenuCode );
}
  • プラグインエンジンの共通設定が完了しました。

  • つづけてAndroid、iOSの詳細環境を設定します。

3. Androidの環境設定

  • AndroidバージョンはGradleビルドにのみ対応しています。Enable Gradle Instead of AntをチェックしてGradleビルドに変換してください。

  • ApkPackagingセクションを開き、applicationノードにElement追加ボタンを押してandroid.requestLegacyExternalStorage="true"項目を追加してください。

  • (Target SDK Version -> 30以上はandroid.requestLegacyExternalStorageを追加する必要がありません。)

4. iOSの環境設定

NAVERゲームのiOS SDKはiOS 12.0以降のバージョンに対応しています。

  • プロジェクト設定を開いてプラットフォームのうちiOSを選択します。

  • 画面右に表示された設定値のうちBuild下位のAdditional Non-Shipping Linker Flags項目とAdditional Shipping Linker Flags項目に下の図のように-ObjCと-lc++の値を追加してください。

Init()メソッド

init()メソッドはNaverGameSDKを設定するメソッドです。

void UGLink::Init(FString ClientId, FString ClientSecret, FString LoungeId)

TerminateSdk()メソッド

Terminate()メソッドはNaverGameSDKを終了させるメソッドです。特定の状況でsdkを終了させる必要がある場合に呼び出します。例えば、OnReceiveInGameMenuCode Delegateコールバックを通じて送信されるインゲームメニューコードを実行するときには、必ずTerminateSdk()メソッドを呼び出してsdkを閉じなければなりません。

void UGLink::TerminateSdk()

ExecuteHomeBanner()メソッド

登録したバナーウィンドウを表示させるメソッドです。

void UGLink::ExecuteHomeBanner()

ExecuteSorryBanner()メソッド

登録した点検用ページまたは特定のお知らせページを表示させるメソッドです。

void UGLink::ExecuteSorryBanner()

ExecuteBoard(int BoardId)メソッド

公式ラウンジ管理ページ > SDK管理 > 掲示板管理ページで登録した特定の掲示板を直接実行させるメソッドです。

void UGLink::ExecuteBoard(int BoardId)

ExecuteFeed(int FeedId, bool IsTempFeedId)メソッド

登録されたFeedIdの投稿を直接実行するメソッドです。予約機能によって登録された予約投稿の場合は、予約投稿の番号をFeedIdに入力してIsTempFeedIdをTrueと入力してください。

予約投稿が掲示されるまではメソッドを実行しても投稿は表示されません。

  • FeedId: 投稿または予約投稿の番号

  • IsTempFeedId: FeedIdが投稿の場合はfalse、FeedIdが予約投稿の場合はtrue

void UGLink::ExecuteFeed(int FeedId, bool IsTempFeedId)

getCountryCode()メソッド

Android機器のcountryCodeを取得します。

FString UGLink::GetCountryCode()

countryCodeは2文字のアルファベットで構成された国コード(ISO 3166-1 alpha-2)です。これを活用すると、コード内で国別に分岐処理することができます。主な国コードは以下のとおりです。その他の国コードはリンクをご参考にしてください。

Sdk内部で特定のイベントが発生したときにdelegateを通してこれをGameEngineに知らせます。

OnSdkStarted()デリゲート

NaverGameSdkが実行されたときに発生します。

DECLARE_MULTICAST_DELEGATE(FOnSdkStarted);

登録方法は以下のとおりです。

// 네이버 게임 SDK 시작
FNaverGameSdkModule::OnSdkStarted.AddUObject
    (this, &ANNGUnrealSampleGameMode::OnSdkStarted);​

OnSdkStopped()デリゲート

NaverGameSdkが終了したときに発生します。

DECLARE_MULTICAST_DELEGATE(FOnSdkStopped);

登録方法は以下のとおりです。

// 네이버 게임 SDK 종료
FNaverGameSdkModule::OnSdkStopped.AddUObject
    (this, &ANNGUnrealSampleGameMode::OnSdkStopped);

OnReceiveInGameMenuCode(const FString&)デリゲート

NaverGameSdkでインゲームメニューコードを実行する必要があるときに発生します。公式ラウンジの管理ページ > SDK管理 > バナー管理ページでバナーに「インゲームメニュー」を登録したときに使用します。AndroidとiOSの各プラットフォームによって登録した値が各自伝達されるため、他の値を入力した場合は各自処理しなければなりません。

DECLARE_MULTICAST_DELEGATE_OneParam(
    FOnReceiveInGameMenuCode, const FString& /* In-Game Menu Code */);

登録方法は以下のとおりです。

// 인게임 메뉴 코드 수신
FNaverGameSdkModule::OnReceiveInGameMenuCode.AddUObject
    (this, &ANNGUnrealSampleGameMode::OnReceiveInGameMenuCode);

Last updated