开发者学堂课程【阿里云移动用户反馈系统使用教程:移动用户反馈-iOS接入指南】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/421/detail/5323
移动用户反馈-iOS接入指南
内容介绍:
一、 IOS 接入流程
二、 IOS SDK 手册
一、 IOS 接入流程
1. 在控制台能够看到 APP 的所有详细信息:包括 AppKey 以及 AppSeecret ;在 SDK 下载中勾选所需下载的 SDK 进行对应的下载。
2. 打开 IOS SDK 手册
二、 IOS SDK 手册
1. 前置准备
在这个集成教程中,我们使用已创建的Demo应用,向您展示如何快速地集成用户反馈组件功能。
一般地,您需要入驻成为开发者并且创建应用后,才能集成反馈功能并且发布您的 App。
注意:
您完全可以先跳过前置准备,使用我们预先申请的 Demo 应用,来完成快速集成。
但是在您正式发布应用之前,您务必将一些内容替换为您所申请应用的特定内容。对于这些需要替换的内容,会在教程中以注意点的形式标识出。
用户反馈 SDK 支持的系统最低版本为 IOS 7
用户反馈 SDK 支持 bitcode(bitcode 仅在 Xcode7 及以上显示并默认开启)。
从 2.0.3 版本开始,用户反馈 SDK 及其依赖库均使用 HTTPS 协议进行加密传输。
(1)下载 SDK 包
SDK 下载地址: hitps://mhub.console.aliyun.com/#/downioad
如果您已经获得 Demo 包,则可以跳过这一步。
Demo 地址,打开 Demo 下载页面(注意,请使用实名认证过的淘宝账号进行登录下载)。下载 iOS Demo 并解压缩。
(2)集成 SDK。
①下载 SDK 并集成
将 YWFeedbackDemo 中的 BCFeedback 目录直接拖入你的 Xcode 工程中。在弹出的对话框中勾选 Copyitemsifneeded 后,点击 Finish。
注意:请确保你 Copy 过去的目录中包含 YWFeedbackBundle.bundle,以免造成返回箭头丢失的问题。
②使用 Cocoapods 安装 SDK
CocoaPods 安装完成后,还需要在你的项目根目录创建一个 Podfile 文件,添加如下内容:
#指定 Master 仓库和阿里云仓库
source"https://github.com/CocoaPods/Specs.git'
source"https://github.com/aliyun/aliyun-specs.git
# 添加依赖
target'YourTargetName'do
pod 'AlicloudFeedback', '~> 3.0.1
end
(~>为模糊指定版本号方式,~>3.0.1表明引用版本位于3.0.1<=version<40.0之间的最新版本 SDK,用户可参考 Podfile Syntax Refererice,根据项目需要指定 SDK版本。)
在 terminal 下运行命令如下:
1.pod install
已安装旧版的,请运行(不要用 -no-repo-update 选项):
1. pod update
如果安装时发现无法找到对应的库,请首先尝试到 CocoaPods 上搜索,如果能够搜索到对应的版本,那就是本地环境的问题,可以尝试运行如下命令:
1. pod repo update
然后再尝试安装。
命令执行完成后即可完成用户反馈 SDK 的下载安装。
注意:运行 demo 前请在 YWLoginControllerm 文件中填入您的账号信息:
1. static NSString*constkAppKey=@’’******’’;
2. static NSString*constkAppSecret=@’’******’’;
(3)添加依赖系统库
YWFeedbackKit 依赖于这些系统库,您需要将他们添加到工程中:
系统公共库:
① libz.tbd
② libresolv.tbd
③ libsalite3.tbd
④ CoreMotion.framework
⑤ CoreTelephonyframework
⑥ SystemConfigurationframework·AMS
组件包:
① UTDID.framework
② AlicloudUtils.tramework
注意:Cocoapods 集成方式不需要手动添加依赖系统库
注意:在 Xcode7 之前的版本,没有 .tbd 的库,而是 .dylib
(4)修改编译选项
在 Target->Linking->Other Linker Flags 中添加 -Objc 选项。
(5)IOS 10 中隐私权限设置
iOS10 对隐私权限更加严格,需要添加权限说明 (privacydescription)。如果不做设置,可能会导致崩渍,审核不通过等情况。
设置如下:
在 infoplist 中增加字段:
1. <key>NSCameraUsageDescription</key>
2. <string>
访问相机</string>
3. <key>NSPhotoLibraryUsageDescription</key>
4. <string>
访问相册<atring>
完成配置后如图所示
注意:上面的访问相机、访问相册可修改。注意:如果出现点击拍照、相册闪退的问题,请您检查一下,是否添加了权限说明。
(6)初始化 SDK
① 引入头文件:
#import<YWFeedbackFMWK/YWFeedbackkit.h
#import<YWFeedbackFMWK/YWFeedbackViewController.h>
② 调用初始化方法:
/// @brief
初始化方法
/// @params anAppKey AppKey
/// params anAppSecret AppSec
ret
/// @return YWFeedbackkit
实例
-(instancetype)initwithAppKey:(NSString)anAppKeyappSecret:(NSString*)anAppSecret;
③ 设置业务方扩展的反馈数据:
1. ///业务方扩展反馈数据,可设置任意字段,在创建反馈页面前设置,可在后台扩展信息中查看
2. @property(nonatomicstrongreadwrite)NSDictionaryextInfo:
注意:请不要将 YWFeedbackKit 实例设置为局部变量,请持有 YWFeedback 实例,以免被提前释放。
注意:由于 YWFeedbackKit 是个宏,实际上是 BCFeedbackKit,所以在 Swift 中,请使用 BCFeedbackKit。
(7)打开反馈页面
调用 YWFeedbackKit 实例如下接口创建反馈界面:
1. /// @brief
创建反馈页面回调 Block
2. /// @params viewController
反馈页面
3. /// @return error
调用失败返回错误
4. typedefvoid^YWMakeFeedbackViewControllerCompletionBlock)(YWFeedbackViewControllerviewController. NSError
*error);
5. /// @brief
创建反馈页面,默认为不显示弹出错误信息
6. -(void)makeFeedbackViewControllerWithCompletionBlock:(YWMakeFeedbackViewControllerCompletionBlock)completionBlock;
创建成功后将会返回 YWFeedbackViewController 你可以根据你 App 的实际结构,使用 Present 等不同的方式将其展示。
如果不使用系统默认 alert 展示错误提示,或者想自行进行错误提示的多语言化,可以自定义提示方式,只需要实现这个 block 即可,具体可参考 Demo.
1. /// @brief
反馈页面对外抛出 Error 的回调 block。不设置此属性时,将使用默认 Alert 方式进行错误提示
2. /// @params viewController
反馈页面
3. /// @return error
失败error
4. @property(nonatomic,copy)void(^YWFeedbackViewControllerErrorBlock)(YWFeedbackViewController *viewController,
NSError *error);