# zhuiTest **Repository Path**: zhuishu/zhuiTest ## Basic Information - **Project Name**: zhuiTest - **Description**: No description available - **Primary Language**: Objective-C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-05-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 追书神器SDK iOS 说明文档 ## 概述 本文档面向iOS开发者。 追书神器SDK是为了让接入方更方便调用API接口而服务的产品。第三方不再需要复杂的验证,通过SDK的对接后直接调用SDK中API就可实现书籍阅读和书籍浏览等功能。 ## SDK安装 ### 支持Cocoapods 安装 需要指定SDK 的Pods地址,不要指定SDK的版本号 ``` pod ``` ## SDK对应Demo地址 ``` https://gitee.com/kingreader/ZhuiShuReaderSDKDemo ``` ## SDK更新信息 - 2018-05-04 - ZhuiShuReaderSDK 1.0新版发布 ## 集成SDK - SDK兼容最低系统版本为iOS8.0 - 接入SDK之前需要向我方商务或产品申请渠道ID和渠道名称,以便区分用户及充值分成 - 由于SDK依赖的第三方库很多,所以推荐使用Cocoapods来集成追书神器SDK - 项目中使用需导入头文件 #import - SDK1.0版本需要在"Link Binary With Library"中添加 "AddressBook.framework" 否则会出现报错。 - 用户自定义相关设置(此处代码不完整,请运行demo查看) - 本SDK对应一个Demo,用户可以自行参照Demo进行开发,但Demo不保证非SDK业务代码或设置的正确性,开发者请自行处理相关内容。 - SDK中可以设置使用QQ和微信登录功能,SDK中有预设一组QQ和微信的Key,如果使用默认的会出现用户安装多个接入追书神器SDK的APP会乱跳APP问题,也可以自己申请对应的AppId,请参照对应开放平台的文档接入 - 运行SDK需要把Build Setttings中Enable Bitcode设置为NO - 需要在Info.plst中设置相关信息,具体请参考Demo中设置 - - 为了支持http请添加ATS配置 - - 为了能正常跳转QQ和微信需要设置LSApplicationQueriesSchemes - - 如果加入QQ和微信SDK需要加入对应URL types字段 - - 状态栏能隐藏需要加入View controller-based status bar appearance设置为NO > 请参考SDK Demo进行设置 ## 重要API详解 ### 关于Apple审核相关配置 本SDK中加入苹果审核开关,以便在送审期间审核 ``` // 设置苹果审核模式,注意:送审时会被拒绝,请开启审核开关,接入方可以根据审核情况来控制SDK审核展示内容 - (void)setupAppleReviewMode:(BOOL)isReviewMode; ``` ### 设置渠道ID和渠道名称 需要在进入SDK前设置申请的渠道ID和渠道名称,方便区分用户和收入分成,请找商务或产品确认相应的渠道ID和渠道名称 ``` //设置SDK的渠道ID和渠道名称channelId和channelName - (void)setupSDKChannelId:(NSString *)channelId withChannelName:(NSString *)channelName; ``` ### SDK中横竖屏处理(必须加入) 追书神器SDK的阅读器中有横屏看书功能,为能正常使用,需要在AppDelegate.m中加入下面方法 ``` - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return UIInterfaceOrientationMaskAll; } ``` ### 获取SDK的根视图UIViewController 获取追书神器SDK根视图,此根视图只能放到Navigation Controller中,可以把获取的根视图Push或者Present出来 ``` /** 获取追书SDK阅读器根视图,此跟视图只能放到navigation controller中 @param isModalStyle 是否是模态弹出SDK @return 返回UIViewController */ - (UIViewController *)rootViewControllerWithIsModalStyle:(BOOL)isModalStyle; ``` ### 设置追书神器主题样式和模板 1、追书神器SDK中,ZSSDKThemeColorManager.h 预设了十五套主题颜色模板、三套书籍详情页模板、三套书架模块模板和五套个人中心模板,方便接入方根据自身需求来配置,调用下方方法传入相应枚举类型。 2、颜色模板可以进行自定义,SDK中提供了ZSSDKThemeColorModel.h和ZSSDKThemeNavColorModel.h两个颜色模型来个性化设置SDK颜色样式,通过调用setupSDKThemeWithCustomThemeColorModel方法。 - 下方举例书籍详情页模板对应的枚举类型,其他具体查看SDK中ZSSDKThemeColorManager.h文件 ``` typedef enum : NSUInteger { ZSSDKBookDetailCenter, // 书封居中 ZSSDKBookDetailLeftWhole, // 书封居左,整体的头视图 ZSSDKBookDetailLeftSeperator, // 书封居左,分隔的头视图 } ZSSDKBookDetailType typedef enum : NSUInteger { ZSSDKProfileRightWhite, ZSSDKProfileRightTheme, ZSSDKProfileCenterTheme, ZSSDKProfileCenterWhite, ZSSDKProfileCenterBlur } ZSSDKProfileType; ``` - 快速设置SDK模板主题:详情页方案、书架方案、个人中心方案 ``` + (void)setupSDKThemeWithBookDetailType:(ZSSDKBookDetailType)bookDetailType withBookShelfType:(ZSSDKBookShelfType)bookShelfType withProfileType:(ZSSDKProfileType)profileType; ``` - 设置SDK模板主题:SDK颜色模板、详情页方案、书架方案、个人中心方案 ``` + (void)setupSDKThemeWithColor:(ZSSDKColorTemplateType)colorTemplateType withBookDetailType:(ZSSDKBookDetailType)bookDetailType withBookShelfType:(ZSSDKBookShelfType)bookShelfType withProfileType:(ZSSDKProfileType)profileType; ``` - 自定义设置SDK颜色和导航栏颜色、详情页方案、书架方案、个人中心方案 ``` + (void)setupSDKThemeWithCustomThemeColorModel:(ZSSDKThemeColorModel *)customThemeColorModel withCustomNavColorPlan:(ZSSDKThemeNavColorModel *)customNavColorModel withBookDetailType:(ZSSDKBookDetailType)bookDetailType withBookShelfType:(ZSSDKBookShelfType)bookShelfType withProfileType:(ZSSDKProfileType)profileType; ``` ### 设置第三方微信和QQ登录分享 接入SDK中需要有微信和QQ第三方登录功能,可以使用SDK中预设的,也可以接入方自己申请,如果使用默认的会出现用户安装多个接入追书神器SDK的APP会乱跳APP问题,接入时请参照对应开放平台的文档。 接入微信和QQ时,需要在AppDelegate.m中的 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中添加处理微信和QQ通过URL启动App时传递的数据。 ``` - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { [ZhuiShuReaderSDK.sharedInstance setupHandleOpenURL:url]; return YES; } - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { [ZhuiShuReaderSDK.sharedInstance setupHandleOpenURL:url]; return YES; } ``` - 设置SDK默认的微信和QQ登录APPID,需要进入SDK前调用 - 同时请复制Demo中info.plist中的URL types字段 ``` /** 注意:此方法和setupCustomThirdLoginIDWithQQAppId方法只能调用其中一个 注意:SDK申请通用的微信和QQ登录APPID,需要在URL Types设置README.md中提到的默认URL Schemes */ - (void)setupCommonThirdLoginSDK; ``` - 使用自己申请的微信和QQ AppId和AppSecret,需要进入SDK前调用 ``` /** 注意:此方法和setupCommonThirdLoginSDK方法只能使用其中一个 注意:使用自己申请的APPID,请参照对应开放平台文档加入相关配置 @param qqAppId QQ AppId @param weChatAppId 微信 AppId @param weChatAppSecret 微信 AppSecret */ - (void)setupCustomThirdLoginIDWithQQAppId:(NSString *)qqAppId withWeChatAppId:(NSString *)weChatAppId withWeChatAppSecret:(NSString *)weChatAppSecret; ``` - 处理微信和QQ通过URL启动App时传递的数据 ``` /** 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。 @param url 启动第三方应用时传递过来的URL */ - (void)setupHandleOpenURL:(NSURL *)url; ``` - 可以设置登录界面中不展示微信和QQ登录 ``` //是否需要展示微信和QQ登录,默认非审核下展示QQ和微信登录 - (void)setupNotNeedQQAndWeChatLogin:(BOOL)isNotNeedQQAndWeChatLogin; ``` ### 添加从追书神器SDK返回按钮 增加SDK中书架和个人中心顶部导航栏左侧的的返回按钮,以便从追书神器SDK返回到接入方的应用,也可以自定义返回按钮图片 ``` /** 设置添加书架和个人中心顶部导航栏左侧的返回按钮 @param isNeedAdd 判读是否需要添加左侧返回按钮 @param backBtnImage 返回的UIImage,可以为nil */ - (void)setupAddMainViewBackButton:(BOOL)isNeedAdd withBackBtnImage:(UIImage *)backBtnImage ``` ### 设置登录界面顶部的logo图片 接入方可以根据自身APP特色,设置SDK登录界面上方的Icon,样式和大小可以参考Demo中的图片 ``` // loginTopLogoImage 登录界面顶部的logo图片 - (void)setupLoginTopLogoImage:(UIImage *)loginTopLogoImage; ``` ### 获取用户登录状态 ``` - (BOOL)isUserLogined; ``` ### 退出追书神器SDK用户登录 接入方可以调用下面方法让追书神器SDK中已经登录的账号退出 ``` - (void)userLogoutSDK; ``` ## 注意事项 - CocoaPods详细介绍及安装,请进入下方地址 https://www.jianshu.com/p/9e4e36ba8574 - 运行demo前,请先用cocoapods的pod install命令安装依赖库。(为了避免demo文件太大,pod文件没放倒demo中,需要自己更新) - 如果使用SDK中预设的QQ和微信APPID,登录不能正常跳转提示“配置错误”,请检查info.plist中是否加入了Demo中的URL types字段,关于微信和QQ的配置 - 注意如果使用QQ和微信,需要复制Demo中的info.plist的LSApplicationQueriesSchemes整个字典 - 为了支持http,请在info.plist中添加ATS配置 - 本Demo实现大部分功能, 请仔细查看Demo中AppDelegate和ViewController - 如果运行报错关于Bitcode,需要把Build Setttings中Enable Bitcode设置为NO - 微信功能接入参考文档: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417694084&token=&lang=zh_CN - QQ功能接入参考文档 ## 快速问答 - Q:怎样快速接入提高开发效率? - A:请仔细查看ZhuiShuReaderSDK.h, ZhuiShuReaderSDKDemo,以及相关文档,如有疑问请联系技术支持人员。 - - Q:审核被拒怎么办? - A:请根据实际情况确定是否为SDK内部的问题,如果是SDK处理未达到审核要求请及时联系技术人员【QQ:593551744】 - - Q:SDK团队的工作时间 - A:SDK团队工作时间为:周一至周五 9:00 ~ 20:00,周末时间理论上不进行技术支持。 ## 技术支持 商务&产品支持联系QQ: 技术支持开发人员QQ:593551744(袁绪成-iOS开发) ## 申明 App名字请避免使用“开卷有益”、“开卷小说”、“追书神器”、“追书小说”等追书神器团队的相关或相似App名称。另外请不要侵犯其他小说类App的相关权益,请各位接入方注意。