文档中心  >  游众SDK  >  客户端接入说明  >  Objective-C接口(IOS)

果安SDK-Objective-C(IOS)接入文档

一、简介

1.SDK功能简介

统一SDK是为了快速接入IOS个渠道所使用的中间件,需要配合IOS统一打包工具一同使用。其目的是一次接入,快速生成各个渠道的游戏安装包。

2.兼容性

支持iOS7.0 以上的真机环境。其他系统需要进行测试。(支持arm64、armv7)

3.开发环境兼容性

硬件:macbook 或者苹果一体机 10.10系统以上。苹果移动设备iphone,ipad,ipod。
软件:安装XCode6.0 以上版本。

4.基本流程

登录流程图

支付流程图

二、接入流程

STEP 1 为游戏申请APP ID APPKEY

为每款游戏申请一个APP ID APPKEY

STEP 2 添加SDK

YZUniteSDK_FW.framework 拷贝到开放目录下,然后将YZUniteSDK_FW.framework 拖拽到工程导航视图的Frameworks 目录下。完成后SDK 就被加入到了工程中,依赖库添加如图

STEP 3设置APP ID APPKEY

在工程中的plist中添加GuoAnAppIdGuoAnAppKey两个字段并填写游戏的appIdappKey,如图:

STEP 4设置Other Linker Flags -ObjC

STEP 5设置屏幕方向

         请支持全部方向

 

STEP 6 添加SDK初始化代码(必须)

1.appId

用来唯一标识您的游戏

2.appkey

游戏密钥

3.初始化代码

开发者可以通过[[YZUniteSDKPlatform sharePlatform] setUniteSDKDelegate:]方法手工初始化SDK和设置SDK的代理;只有在SDK正常初始化以后,SDK的其他API才可以正常调用。

注意:初始化是使SDK开始工作的关键,不进行初始化就对其他接口进行调用,会引发程序崩溃的严重危险。请开发者一定要注意。

STEP 5 添加调用方法

参考“三、统一SDK调用方法”

STEP 6 进行数据测试

调用方法添加完毕后,需要使用IOS打包工具进行打包,以确保打包的正确。

三、果安SDK调用方法

1. 设置SDK的代理(必须设置)

用途和用法

用于设置代理监听渠道SDK的登录和登出事件

接口说明

 -(void) setUniteSDKDelegate:(id) delegate; 

参数说明

delegate : 遵守YZUniteSDKDelegateProtocol协议的代理对象

示例代码

 [[YZUniteSDKPlatform sharePlatform] setUniteSDKDelegate:self]; 

2. 实现代理方法

用途和用法

用于监听渠道SDK的登录和登出。登录代理方法当渠道SDK登录成功后进行调用并返回相应的渠道参数。登出代理方法当用户点击渠道SDK的注销操作时调用,通知游戏退出登录

登录代理方法说明

 -(void)loginWithSessionId:(NSString *)sid userId:(NSString *)uid account:(NSString *)acc ext:(NSString *)ext; 

登录代理参数说明

sid                渠道返回的token

uid               渠道返回的id

acc               渠道返回的acc

ext               扩展参数

注意:cp需要把以上参数通过post请求发给服务端进行校验,详情请看服务端接入文档。

登出代理方法说明

 -(void)LogoutNotification; 

3. 显示登录界面

用途和用法

用于弹出渠道的登录界面

接口说明

 -(void)showSDKLoginPage; 

示例代码

 [[YZUniteSDKPlatform sharePlatform] showSDKLoginPage]; 

4. 注销接口/切换账号

用途和用法

用于注销/切换渠道的当前用户。

接口说明(GALoginSDKProtocol协议)

 -(void) logoff; 

示例代码

 [[YZUniteSDKPlatform sharePlatform] logoff]; 

5. 显示用户中心

用途和用法

用于显示渠道SDK的用户中心。

接口说明(GALoginSDK类)

 -(BOOL) enterSNSCenter; 

示例代码

 [[YZUniteSDKPlatform sharePlatform] enterSNSCenter] 

6. 支付接口

用途和用法

用于调出渠道的支付界面,并实现支付。

接口说明

 -(void)paymentWithProductName:(NSString *)name Money:(int)money CoinRate:(int)rate OrderId:(NSString *)orderId RoleId:(NSString *)roleId Account:(NSString*) acc ServerId:(int)serverId ; 

参数说明

name           商品名称

money         商品价格,单位RMB

rate             游戏币和RMB的兑换比率,如1元兑换10游戏币,则填写10

orderId        订单ID

roleId           角色IDCP自定义

Account       账号,由登录校验后台,服务器返回的accout字段

serverId       服务器ID

示例代码

 [[[YZUniteSDKPlatform sharePlatform]] paymentWithProductName:"月卡" Money:25 CoinRate:10 OrderId:@"123456789" RoleId:@"123456789" Account:@"123456789" ServerId:@"1"]; 

7. 进程间跳转(必须调用)

用途和用法

用于调用第三方app使用,不调用该方法,游戏会闪退。需要在IOS的生命周期函数中调用

接口说明

 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; 

参数说明

application  应用application对象

url                跳转的url

sourceApplication     跳转的sourceApplication

annotation   跳转动画对象

 

示例代码

 -(BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation //IOS的生命周期函数
{
	……

	return [[YZUniteSDKPlatform sharePlatform] application: application openURL:  url sourceApplication:  sourceApplication annotation:  annotation]; } 

8. 应用回到前台(必须调用)

用途和用法

用于监听应用由后台重新回到前台,在IOS生命周期函数中调用

接口说明

 -(void)applicationWillEnterForeground:(UIApplication *)application; 

参数说明

application  应用application对象

 

 

示例代码

 -(void)applicationWillEnterForeground:(UIApplication *)application
{
	……
	[[YZUniteSDKPlatform sharePlatform] applicationWillEnterForeground: application];
	……
} 

9. 获取渠道ID

用途和用法

用于获取在在后台配置的渠道id

接口说明(GALoginSDK类)

 -(NSString*)getOpId; 

示例代码

 [[YZUniteSDKPlatform sharePlatform] getOpId] 

10. 获取sdkID

用途和用法

用于获取sdkID

接口说明(GALoginSDK类)

 -(NSString*)getSDKId; 

示例代码

 [[YZUniteSDKPlatform sharePlatform] getSDKId] 




四、统一SDK选择调用方法

1.游戏版本检测

用途和用法

用于检测游戏版本

接口说明

 -(NSString*)versionUpdateWithAppVersion:(int)appVersion resVersion:(int)resVersion; 

参数说明

appVersion : 游戏的版本号
resVersion : 资源的版本号

示例代码

 [[YZUniteSDKPlatform sharePlatform] versionUpdateWithAppVersion:1000 appVersion resVersion:1000]; 

2. 获取服务器列表

用途和用法

用于获取游戏服务器的列表

接口说明

 -(NSString*)getServerListWithUid:(NSString*) uid resVersion:(NSString*) version; 

参数说明

uid : 登录回调时返回的uid
resVersion : 游戏资源版本号

示例代码

 [[YZUniteSDKPlatform sharePlatform] getServerListWithUid:@”1234” resVersion:@”100”]; 

3. 上报进入游戏服务器ID

用途和用法

用于上报玩家进入的游戏区服

接口说明

 -(void)enterServerWithSid:(NSString*) sid uid:(NSString*)uid; 

参数说明

sid : 服务器ID
uid : 登录回调时返回的uid

示例代码

 [[YZUniteSDKPlatform sharePlatform] enterServerWithSid:@”1”uid resVersion: @”1234”]; 

4. 获取游戏公告

用途和用法

用于获取游戏公告

接口说明

 -(NSString*)updateGameNoticeWithMD5:(NSString*) md5; 

参数说明

md5 : 游戏公告的md5码

返回说明

返回获取游戏公告的文件url地址

示例代码

 [[YZUniteSDKPlatform sharePlatform] updateGameNoticeWithMD5:@”md5”]; 

Copyright © 2012-2018 www.uzone8.com All right reserved.

广州游众网络有限公司版权所有

Return Top