UNITY

Quick Start

下载最新版本

1. 项目设置

要使用NaverGame SDK,可如下所示,在Unity设置开发环境。

本指南以Unity2019.4.20f版本为标准编写而成。

  • 在Unity菜单点击Asset > Import package,然后在Custom Package对话窗选择下载的NaverGameSDK-x.x.x.unityPackage文件。

  • Custom Package对话窗点击Import,可创建NGSDK文件夹和Plugins文件夹。

  • NGSDK文件夹的Sample文件夹内的SampleScene文件包含基本运行按钮。Unity版本不同时,无法正常加载SampleScene。这种情况下,请参考如下指南,构建新UI。

在Canvas创建按钮

  • 点击GameObject > UI > Canvas,创建UGUI Canvas

  • 拽入创建NGSDK文件夹的Sample文件夹内SampleButton.Prefab的Canvas的下级。创建NaverGameSDK基本提供的按钮。

  • NaverGame SDK运行按钮由NaverGame SDK基本提供的按钮直接创建,以提高开发便利。SampleBehaviour.cs文件有示例代码。

  • NaverGame SDK的运行按钮以Unity的UGUI为基本编写而成。不使用UGUI或使用其他库时,也可参考SampleBehaviour.cs文件后使用。

关于不同运营体系NaverGame SDK的具体内容请参考GitHub仓库。

2. iOS追加设置

Naver游戏iOS SDK支持iOS 12.0及以上版本。

开发iOS用游戏时,应追加设置如下事项:

2-1 .bundle文件链接

在Unity 5.4.0f3版本以上创建iOS用应用程序时,设置为.bundle文件不链接。应如下所示,在Select for platforms for plugin选择iOS,以确保链接至NNGSDK.bundle文件。

2-2. Xcode设置

如下所示,在Xcode设置开发环境。

  • TARGETS项目中选择框架。

  • 选择Build Setting标签,在Linking项目找到Other Linker Flags

    • BasicCustomized模式下可能不显示Other Linker Flag。这种情况请选择All模式。

    • 在位于右上方的搜索栏输入Other Linker Flag,可轻松找到。

  • Other Linker Flags添加-ObjC选项和-lc++选项。

  • Info.plist添加如下取得用户权限选项。

    • Privacy - Camera Usage Description

    • Privacy - Photo Library Usage Description

  • 选择TARGETS项目中要运行的应用程序,在Info标签的URL Types项目输入Identifier值和URL Schemes值。

  • Identifier值可在相应TARGETGeneral标签确认。

  • 对于URL Schemes值,只需输入在NAVER账号登录开发者中心登记应用程序时输入的URL Scheme 即可。

使用NaverGameSDK

使用NaverGameSDK前,只有调用init method后方可使用。

init() method

init() method是设置NaverGameSDK的方法。所需参数如下所示:

public void init(string loungeId, string clientId, string clientSecret);

下面是具体运行init() method的示例。

GLink.sharedInstance().init(
    "naver_game_4developer", 
    "UKvNABLDsyEJusJGsXL2",
    "rK4suc_Qd0"
    );

terminateSdk() method

Terminate() method是终止NaverGameSDK的方法。在特定情况应终止SDK时调用。例如,运行通过回调GLinkDelegate传达的游戏内菜单代码时,应调用finishSdk() method关闭SDK。

void terminateSdk();

下面是具体运行terminateSdk() method的方法。

Glink.sharedInstance().terminateSdk()

executeHomeBanner() method

弹出登记横幅窗的方法。

public void executeHomeBanner()

下面是具体运行executeHomeBanner() method的示例。

Glink.sharedInstance().executeHomeBanner()

executeSorryBanner() method

弹出维护用或特定通知页。该页限制前往其他页面。

public void executeSorryBanner()

下面是具体运行executeSorryBanner() method的示例。

Glink.sharedInstance().executeSorryBanner();

executeBoard(int boardId) method

直接运行在官方大厅管理页 > SDK管理 > 公告栏管理页登记的特定公告栏的方法。

public void executeBoard(int boardId);

下面是具体运行executeBoard() method的示例。

Glink.sharedInstance().executeBoard(1);

executeFeed(long feedId, bool isTempFeedId) method

通过登记留言的编号直接运行的方法。如果是通过预约显示登记的预约留言,应在FeedId输入预留言的编号,并将IsTempFeedId输入为True

在预留言发布前,即使运行method也不会显示留言。

  • FeedId: 留言或预留言的编号

  • IsTempFeedId: FeedId是留言时,显示false;FeedId是预留言时,显示true

void executeFeed(long feedId, bool isTempFeedId);

下面是具体运行executeFeed() method的示例。

Glink.sharedInstance().executeFeed(50154, true);

getCountryCode() method

获取终端机的countryCode。

public string getCountryCode(Activity activity);

countryCode是由2个字母构成的国家代码(ISO 3166-1 alpha-2)。利用这一代码可在代码内按国家进行分支处理。主要国家代码如下所示,其他国家代码请参考链接

国家代码

国家

CN

中国

JP

日本

KR

韩国

TH

泰国

US

美国

下面是使用getCountryCode() method,仅在韩国初始化SDK调用横幅的示例。

if (GLink.sharedInstance().getCountryCode().Equals("KR"))
{
    GLink.sharedInstance().init("LoungeId","ClientId","ClientSecret");
    GLink.sharedInstance().executeHomeBanner();
}

GLinkDelegate委托

SDK内发生特定事件时,通过event通知GameEngine相关内容。

SdkOpenedDelegate 事件

发生在运行NaverGameSdk时。

public delegate void SdkOpenedDelegate();
public static event SdkOpenedDelegate sdkOpenedEvent;

登记方式如下所示:

private void Awake()
{
    GLinkDelegate.sdkOpenedEvent += SdkOpenedEvent;
}
void SdkOpenedEvent()
{
    Debug.Log("BannerOpenedEvent");
}

SdkClosedDelegate 事件

发生在终止NaverGameSdk时。

public delegate void SdkClosedDelegate();
public static event SdkClosedDelegate sdkClosedEvent;

登记方式如下所示:

private void Awake()
{
    GLinkDelegate.sdkClosedEvent += SdkClosedEvent;
}
void SdkClosedEvent()
{
    Debug.Log("BannerClosedEvent");
}

SdkCallInGameMenuCode 委托

发生在NaverGameSdk运行游戏内菜单代码时。在官方大厅管理页 > SDK管理 > 横幅管理页对横幅登记“游戏内菜单”时使用。视Android和iOS平台分别传达不同登记值,因此如果输入不同值,应分别进行处理。

public delegate void SdkCallInGameMenuCode(string InGameMenuCode);
public static event SdkCallInGameMenuCode sdkCallInGameMenuCode;

登记方式如下所示:

private void Awake()
{
    GLinkDelegate.sdkCallInGameMenuCode += SdkCallInGameMenuCode;
}
void SdkCallInGameMenuCode(string inGameMenuCode)
{
    GLink.sharedInstance().terminateSdk();
    Debug.Log("SdkCallInGameMenuCode " + inGameMenuCode);
}

创建

根据各平台规格正常创建后可使用SDK。

1. 可能发生的创建错误

1-1.安卓创建错误

横屏模式,竖屏模式

Naver游戏SDK支持横屏模式和竖屏模式。 Android、iOS环境下均无需特别设置,可自动随屏幕的横向或竖向状态切换横屏模式或竖屏模式。

Last updated

Was this helpful?