环境
系统环境 macOS Mojave 版本10.14.4
开发环境 Xcode Version 10.2.1 (10E1001)
一.SDK说明与集成
1.1.获取参数
从平台处,获取以下参数,用于对接,配置到sdk的Player_Install.plist文件中
1.2.SDK的组成,如下图所示
说明:<PlayerFrameWork.framework> 为SDK的静态库和头文件
说明:<Player_Install.plist> 为SDK的配置文件
1.3.SDK集成和配置说明
1.将SDK拖入工程主目录下
1.2.TARGETS->Build Settings->other linker :-ObjC
1.3.工程info.plist添加以下配置
<key>NSAppTransportSecurity</key>
<key>NSAllowsArbitraryLoads</key>
<key>NSPhotoLibraryAddUsageDescription</key>
<key>NSPhotoLibraryUsageDescription</key>
1.4.SDK配置文件Player_Install.plist说明有且只有下面一个参数,这个参数不清楚可以询问工作人员
说明:apple_id:苹果管网注册的应用id
1.5 切换支付需要添加Player_Install.plist的参数,在应用的info.plist配置一个url schemes参数,用于应用的跳转
二.SDK接口说明
使用SDK之前,需要#import <PlayerFrameWork/PlayerFrameWork.h>
appdelegate方法,需要在AppDelegate.m加入SDK的这个方法
如若不添加此处函数实现,那么从浏览器支付之后回到应用会收不到支付结果
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
[Player_Api Player_application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
return YES;
}
//iOS10以上使用
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
[Player_Api Player_application:application openURL:url sourceApplication:nil annotation:NO];
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
[Player_Api Player_application:application openURL:url sourceApplication:nil annotation:NO];
return YES;
}
2.1.登录
只需调用以下代码即可进入SDK的登入流程,当登入成功,SDK会自动关闭SDK页面,并且回调用户信息给游戏
[Player_Api Player_showLoginWithCallBack:^(NSDictionary *responseDic) {
//block激活即是SDK登录成功,这个时候游戏通过block获取用户信息
NSString *sdk_userid = responseDic[@"userid"];//sdk的用户id
NSString *sdk_sessionid = responseDic[@"token"];//sdk的sessionid,用于验证登录是否成功
NSString *uid = responseDic[@"uid"];//客户的id
NSLog(@"userid = %@", sdk_userid);
NSLog(@"token = %@", sdk_sessionid);
NSLog(@"uid = %@", uid);
useridLabel.text = [NSString stringWithFormat:@"userid=%@", sdk_userid];
sessionLabel.text = [NSString stringWithFormat:@"token=%@", sdk_sessionid];
}];
//SDK登录接口,只有在登录成功的时候才会激活回调,登录失败则由sdk处理
+ (void)Player_Api Player_showLoginWithCallBack:(Player_MainBlock)receiverBlock;
2.2.登出
//登出接口,当用户在游戏菜单登出成功的时候请调用该方法
+ (void)Player_Logout;
//登出回调接口,有两种情况会激活该block,1.用户在游戏内进行登出,2.用户在SDK的菜单进行登出成功,假如是从SDK发起登出的,请在block激活的时候对游戏进行登出操作
+ (void)Player_LogoutClickWithCallback:(Player_MainBlock)receiverBlock;
登出成功之后应该调出SDK的登录窗口
2.3. 支付接口
//支付接口
NSDictionary *orderInfo = @{
game_cpOrderid: @"testorderid",
game_serverID: @"1",
game_serverName: @"testserver",
game_productID: @"goods002",
game_productName: @"商品名字"/*product.localizedTitle*/,
game_productdesc: @"goodsdes"/*product.localizedDescription*/,
game_ext: @"testattach",
game_productPrice: amountTF.text,
game_roleID: @"123",
game_roleName: @"iOS测试账号",
game_currencyName : @"123",
};
// NSLog(@"支付信息---------%@",orderInfo);
[Player_Api Player_StoreViewWithDict:orderInfo Success:^(NSDictionary *resultDic) {
NSLog(@"支付成功========%@",resultDic);
} failed:^{
NSLog(@"支付失败---------");
}];
2.4. 设置角色信息接口
该接口在能获取以下信息的时候再进行设置即可,一般是登录成功之后。
参数说明
//设置角色信息
+(void)Player_setRoleInfo:(NSDictionary*)roleInfo;
调用示例
[Player_Api Player_setRoleInfo:@{game_dataType : @"1",
game_serverID : @"s1",
game_serverName : @"testserver",
game_roleID : @"123",
game_roleName : @"iOS测试账号",
game_roleLevel : @1,
game_roleVip : @3,
game_roleBalence : @12.3,
game_partyName : @"testparty",
game_rolelevelCtime : @"1479196021",
game_rolelevelMtime : @"1479196736",
}];
2.5. 设置是否一键登录
说明:默认为不使用一键登录,如果需要此功能,如下调用
[Player_Api Player_LogoutClickWithCallback:^(NSDictionary *responseDic) {
NSLog(@”登录成功”);
//block激活即是SDK登录成功,这个时候游戏通过block获取用户信息
}