iOS

Quick Start

下载最新版本

1. 示例项目构成

文件夹及文件名称

说明

Sample/NNG SDK Sample

有Xcode用示例项目的文件夹

sample/NNG SDK Sample/Libraries

有iOS用Naver游戏SDK库文件的文件夹

README.md

自述文件

CHANGELOG.md

说明各版本主要变更项的文件

2. 环境设置

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

要使用Naver游戏SDK,可如下所示,在XCode设置开发环境。

  • 选择TARGETS项目中要运行的应用程序。(以示例项目为准,NNG SDK Sample目标)

  • 选择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值可在相应TARGET的General标签确认。

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

3. 初始化

  • 把在NAVER账号登录开发者中心登记、获取应用程序的客户账号、客户密钥和开设大厅的账号登记到NNGSDKManager。

  • 指定提高Naver游戏SDK的视图的家长视图监控器。

    [NNGSDKManager.shared setClientId:@"UKvNABLDsyEJusJGsXL2"
                         clientSecret:@"rK4suc_Qd0"
                             loungeId:@"naver_game_4developer"];
                             
    [NNGSDKManager.shared setParentViewController:self];

NNGSDKManager 类 NNGSDKManager类是控制Naver游戏SDK的类。对于可使用NNGSDKManager类进行控制的功能,具体请参考如下内容:

1. countryCode property

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

国家代码

国家

CN

中国

JP

日本

KR

韩国

TH

泰国

US

美国

2.resentBannerViewController: method

presentBannerViewController:method是显示横幅页面的方法。下面是具体运行presentBannerViewController: method的示例。

[NNGSDKManager.shared presentBannerViewController];

3. presentSorryViewController: method

presentSorryViewController:method是显示紧急通知页面的方法。游戏API通信失败时,建议使用该方法隐藏或停用成为SDK接入点的其他UI,确保用户无法使用SDK。下面是具体运行presentSorryViewController: method的示例。

[NNGSDKManager.shared presentSorryViewController];

4. presentBoardViewControllerWith: method

presentBoardViewControllerWith:method是显示公告栏的方法。在管理页指定公告栏,创建的公告栏ID为参数。下面是具体运行presentBoardViewControllerWith: method的示例。

[NNGSDKManager.shared presentBoardViewControllerWith:@1];

5. presentFeedViewControllerWith:scheduled: method

presentFeedViewControllerWith:scheduled:method是显示留言具体内容的方法。留言的ID为参数。下面是使用presentFeedViewControllerWith:scheduled: 使用method打开ID是12345的留言详情页的代码。

[NNGSDKManager.shared presentFeedViewControllerWith:@12345 scheduled:NO];

scheduled参数代表是否是预留言。上传预留言后,有别于一般留言,签发预留言的ID。预留言ID打开123留言详情页的代码如下所示:

[NNGSDKManager.shared presentFeedViewControllerWith:@123 scheduled:YES];

对于使用预留言ID打开留言详情页的代码,即使已经登记留言且获得留言ID,但因尚未正常启动,日后无需修改代码。

对于已登记预留言,但因未到预约时间而尚未公开的留言,即使点击与其相连的横幅,也不会发生任何操作。

6. dismiss method

dismiss method是关闭SDK页面的方法。下面是具体运行dismiss method的方法。

[NNGSDKManager.shared dismiss];

回调委托

可设置回调委托,处理在插件发生的事件。

回调委托登记

在NNGSDKManager类登记要处理回调委托的对象

@interface ViewController () <NNGSDKManagerDelegate>
...
NNGSDKManager.shared.delegate = self;
...

具体运行回调委托

1. nngSDKDidLoad method

该委托在每次运行SDK时调用。下面是具体运行nngSDKDidLoad method的示例。

- (void)nngSDKDidLoad {
    NSLog(@"SDK is loaded.");
}

2. nngSDKDidUnload method

该委托在每次终止SDK时调用。下面是具体运行nngSDKDidUnload method的示例。

- (void)nngSDKDidUnload {
    NSLog(@"SDK is unloaded.");
}

3. nngSDKDidReceiveInGameMenuCode: method

该委托在每次为在SDK获取游戏内菜单代码而指定事件时调用。可指定在管理页点击横幅时获取游戏内菜单代码,还可输入在同一页使用何种字符串编写菜单代码。

会如实传达在管理页输入的字符串,因此确认后,可在发生事件时处理想要的操作。下面是具体运行nngSDKDidReceiveInGameMenuCode: method的示例。

- (void)nngSDKDidReceiveInGameMenuCode:(NSString *)inGameMenuCode{
    [NNGSDKManager.shared dismiss];

    if ([inGameMenuCode isEqualToString:@"myMenuCode1"]) {
        // Do somthing for the in-game menu code "myMenuCode1"
    } else if ([inGameMenuCode isEqualToString:@"myMenuCode2"]) {
        // Do somthing for the in-game menu code "myMenuCode2"    
    }
}

nngSDKReceiveInGameMenuCode:method不会关闭SDK页面。如需要,可模仿上述示例代码的第二行记述,添加关闭SDK页面的代码。

Last updated

Was this helpful?