Unreal
Quick Start
最新バージョンダウンロード
NAVERゲームSDKのサンプルプロジェクトをUnreal Engineで実行する方法は以下のとおりです。
sample/unreal-sample-4.23.1フォルダ内のプロジェクトをUnreal Editorで実行する。
コンテント -> NewMap.umapファイルを開く。
ワールドセット -> ゲームモードにNNGUnrealSampleGameModeがセットされているか確認する。
テスト機器に実行し、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関数の引数をクライアントに合わせて修正してください。
Client Id: NAVER IDでログイン開発者センターでアプリケーションを登録時に受け取ったクライアントID
Client Secret: NAVER IDでログイン開発者センターでアプリケーションを登録時に受け取ったクライアントシークレット
Lounge Id: 公式ラウンジを申請時に受け取ったLoungeId

コールバック関数(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の環境設定
プロジェクト設定を開いてプラットフォームのうちiOSを選択します。
画面右に表示された設定値のうちBuild下位のAdditional Non-Shipping Linker Flags項目とAdditional Shipping Linker Flags項目に下の図のように-ObjCと-lc++の値を追加してください。

NaverGameSdk Interface
Init()メソッド
init()メソッドはNaverGameSDKを設定するメソッドです。
ClientId: NAVER IDでログイン開発者センターにアプリケーションを登録時に受け取ったクライアントID
ClientSecret: NAVER IDでログイン開発者センターにアプリケーションを登録時に受け取ったクライアントシークレット
LoungeId: 公式ラウンジを申請時に受け取ったLoungeId
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)です。これを活用すると、コード内で国別に分岐処理することができます。主な国コードは以下のとおりです。その他の国コードはリンクをご参考にしてください。
国コード
国
CN
中国
JP
日本
KR
韓国
TH
タイ
US
米国
NaverGameSdk Delegate
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
Was this helpful?