# KingReaderSDK **Repository Path**: kingreader/KingReaderSDK ## Basic Information - **Project Name**: KingReaderSDK - **Description**: 开卷有益iOS 客户端 SDK - **Primary Language**: Objective-C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2016-03-31 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开卷有益 # iOS SDK2.0新版接入说明 ## 最近更新说明 - 2016-12-20 KingReaderSDK 2.3.0 添加内购功能,用于帮助审核(API请查看DEMO与.h说明) 注:提交审核时setHiddenPayEntrance:YES; 审核完毕时发布线上时:setHiddenPayEntrance:NO; - 2016-12-16 KingReaderSDK 2.2.0 添加分享功能, 此部分功能请查看demo - 2016-12-13 KingReaderSDK 2.1.0 添加广点通广告 - 2016-12-08 修复部分bug,增加对iPad的支持 - 2016-12-06 1. 小米推送功能(书籍更新推送通知) 2. 部分API变更(需要重新改变方法名) 3. 横屏bug解决(见demo中appdelegate.m) 4. 添加关于Unid的错误示例,以及建议方案 - 2016-11-14 KingReaderSDK2.0新版发布 ## 概述 本文档面向iOS开发者。 开卷有益iOS平台的SDK是为了让第三方更方便调用API接口而服务的产品。第三方不再需要复杂的验证,通过SDK的对接后直接调用API就可实现图书信息的浏览及图书阅读等功能。 **为了方便使用SDK,我们在 KingReaderSDK.h 中进行详细的API使用说明,使用前请仔细阅读!** Tips: 关于SDK的大小,因为KingReaderSDK是全项目打包的SDK,所以包的体积一般会在28M左右,其中支持debug和release。 如果觉得包体积过大,打包IPA的时候可以提取出release版本(大约15M)使用! ## SDK下载地址 https://git.oschina.net/kingreader/KingReaderSDK.git SDK2.0新版特性说明: 新版本基于开卷有益线上版本2.6.9,用户可以自行下载开卷有益App查看新版本的功能与UI,SDK2.0新版特性融合了开卷有益线上2.6.5到最新版本的几乎所有特性,具体情况用户可自行上iTunes查看此部分更新说明[开卷有益iTunes]( https://itunes.apple.com/us/app/kai-juan-you-yi-xiao-shuo/id513822899?mt=8 ). 主要的更新有: 1. UI界面 重新设计(书架和阅读器) 2. 全新的签到风格 3. 优化epub支持,优化阅读体验,修复bug ## KingReaderSDK [KingReaderSDK效果图](https://git.oschina.net/kingreader/KingReaderSDK/blob/master/SDKPics) ![KBookCity](http://oh1tik0zg.bkt.clouddn.com/kCity.png) ![KBookShelf](http://oh1tik0zg.bkt.clouddn.com/kShelf.png) ![KReader](http://oh1tik0zg.bkt.clouddn.com/kReader.png) ![KUser](http://oh1tik0zg.bkt.clouddn.com/kUSer.png) ## KingReaderSDKDemo运行说明 为了避免Demo过大造成的一些更新问题,demo里面没有包含pod文件,在运行demo前请先用命令行切换到KingReaderSDKDemo目录安装pod。 - 请使用前查看KingReaderSDK.h的注释 ## 集成SDK 由于SDK依赖的第三方库很多,所以推荐使用cocoapods来集成开卷有益SDK pod 'KingReaderSDK', :git => 'https://git.oschina.net/kingreader/KingReaderSDK.git' pod 'SDWebImage' pod 'UnrarKit' pod 'AFNetworking', '~> 3.1.0' pod 'VBFPopFlatButton' pod 'SSZipArchive' pod 'COTools', :git => 'https://git.oschina.net/kingreader/COTools.git' pod 'LZMASDK', :git => 'https://git.oschina.net/kingreader/LZMASDK.git' pod 'SVProgressForKR', :git => 'https://git.oschina.net/kingreader/SVProgressForKR.git' pod 'TJJRefresh', :git => 'https://git.oschina.net/kingreader/TJJRefresh.git' pod 'GCDWebServer', :git => 'https://git.oschina.net/kingreader/GCDWebServer.git' pod 'TalkingDataSDK', :git => 'https://git.oschina.net/kingreader/TalkingDataSDK.git' pod 'MJRefresh', :git => 'https://github.com/CoderMJLee/MJRefresh.git' > 以下为可选项目: pod 'MiPushSDK', :git => 'https://git.oschina.net/kingreader/MiPushSDK.git' pod 'GDTSDK_KR', :git => 'https://git.oschina.net/kingreader/GDTSDK_KR.git' ## SDK使用 1. 导入头文件 #import "KingReaderSDK.h" 2. SDK2.0版本:Link Binary With Library中添加 AddressBook.framework 否则会出现报错。 3. 用户自定义相关设置(此处代码不完整,请运行demo查看) ``` //AppDelegate.m中添加横屏适配代码: - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return UIInterfaceOrientationMaskAll; } //设置navigation bar的背景颜色 + (void)setNavigationBackgroundColor:(UIColor *)color; //设置navigation 按钮颜色、navigation title颜色 + (void)setNavigationForgroundColor:(UIColor *)color; //设置tabbar背景颜色 + (void)setTabbarBackgroundColor:(UIColor *)color; //设置tabbar选中状态颜色 + (void)setTabbarSelectedColor:(UIColor *)color; //设置tabbar正常状态颜色 + (void)setTabbarNormalColor:(UIColor *)color; //开启广点通原生广告 + (void)usingGDTNativeAdWithAppKey:(NSString *)appkey placementId:(NSString *)placementId; //设置是否隐藏用户付费接口 //一旦选择YES, 书城将会显示免费书频道,建议审核期间打开该接口。尽量减少审核期间出现一系列对收费的质疑。 + (void)setHiddenPayEntrance:(BOOL)hidden; //是否隐藏返回按钮 + (void)setHiddenMainInterfaceBackButton:(BOOL)hidden; //新增 1个 tabBarItem + (void)addTabButton:(NSString *)title imageName:(NSString *)imageName vc:(UIViewController *)newVC atIndex:(NSInteger)index; //新增 2个 tabBarItem + (void)addTabButtons:(NSArray *)titles imageNames:(NSArray *)imageNames vcs:(NSArray *)newVCs; //提供免费频道的VC + (UIViewController *)freeBooksChannelWithViewControllerHeight:(CGFloat)height; //使用小米推送书籍更新的配置 + (void)bindDeviceTokenForMiPush:(NSData *)token; ``` 4. 判断是否处于登陆状态,如果未登录,则先登陆,成功后获取根视图控制器,push到NavigationController中,代码如下: ``` //隐藏收费相关内容 [KingReaderSDK setHiddenPayEntrance:YES]; //隐藏书架导航栏左侧返回按钮 [KingReaderSDK setHiddenMainInterfaceBackButton:YES]; //新建一个tabBar item KRSDKDemoViewController *sdkVC = [[KRSDKDemoViewController alloc] initWithNibName:@"KRSDKDemoViewController" bundle:nil]; sdkVC.titleName = @"砖石"; if (![KingReaderSDK isLogined]) { //用第三方账号登陆 [KingReaderSDK loginWithUniqueId:@"ef2daaafae2f333fq23fqdafsdf3f2" channelId:99 completeBlock:^(NSString *error, BOOL succeed) { if (succeed) { [KingReaderSDK addTabButton:@"砖石" imageName:@"diamond" vc:sdkVC atIndex:3]; UIViewController *vc = [KingReaderSDK rootViewController]; [self.navigationController pushViewController:vc animated:YES]; } }]; } else { [KingReaderSDK addTabButton:@"砖石" imageName:@"diamond" vc:sdkVC atIndex:3]; UIViewController *vc = [KingReaderSDK rootViewController]; [self.navigationController pushViewController:vc animated:YES]; } ``` 4. 添加书城免费频道的接口 ``` @param height 展示高度:根据是否有nav 和 tab自行配置 UIViewController *free = [KingReaderSDK freeBooksChannelWithViewControllerHeight:kBaseHeight]; ``` ### 小米推送配置使用 使用KingReaderSDK接入MIPush推送使用说明: - 使用者需要下载更新最新的SDK版本; 并提供APNs证书p12文件(develop和distribution)和密码 - 使用者需自行添加集成 小米推送的SDK,下载地址:[小米推送客户端SDK](http://dev.xiaomi.com/mipush/downpage/); 也可以使用开卷处理过的SDK,在podfile中添加: `pod 'MiPushSDK', :git => 'https://git.oschina.net/kingreader/MiPushSDK.git'` - KingReaderSDK封装了小米推送绑定devicetoken的方法, 请在AppDelegate中调用 ``` - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [KingReaderSDK bindDeviceTokenForMiPush:deviceToken]; } ``` - SDK内部处理了推送的处理, 使用者需要在自己的App配置中按照小米的要求进行配置[小米推送服务iOS客户端SDK使用指南](http://dev.xiaomi.com/doc/?p=2995) ## 支持 商务&产品支持联系qq:286905729(刘) 技术支持开发人员qq:328768132(王)