SurveyMonkey Feedback SDK for iOS
想提高您的产品和应用商店评分吗?SurveyMonkey 移动反馈 SDK 提供了所有收集用户对您的应用体验反馈所需的工具。
它是如何工作的
- 登录到 SurveyMonkey 并创建一个调查,询问用户他们想看到哪些改进以及他们如何评价您的应用
- 使用我们的移动 SDK将调查集成到您的移动应用中
- 实时获取产品反馈并提醒满意的客户为您评分
集成步骤
步骤 1:下载移动 SDK
下载最新发行版或克隆 SDK。
git clone https://github.com/SurveyMonkey/surveymonkey-ios-sdk.git
或者
使用CocoaPods安装SDK
CocoaPods 是一个 Objective-C 的依赖管理器,它自动化并简化了在项目中使用类似于我们的 SDK 等第三方库的过程。您可以使用以下命令来安装它:
$ gem install cocoapods
Podfile
要将 SDK 集成到您的 Xcode 项目中并使用 CocoaPods,请在您的 Podfile
中指定它。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.1'
pod 'surveymonkey-ios-sdk', '~> 2.0'
然后,运行以下命令:
$ pod install
第2步:设置您的 SDK 收集器
您必须在 www.surveymonkey.com 创建调查并设置 SDK 收集器。
- 创建调查后,转到 收集 选项卡,然后在右侧菜单中选择 +新建收集器 > SDK
- 点击 生成。您生成的代码是您的 调查哈希,您将 复制 它并使用它来在下面的步骤中将 SDK 指向您的调查
第3步:导入到 XCode
- 在项目导航侧边栏中,右键单击 框架 组,然后选择 "将文件添加到 [项目名称]"
- 导航到包含在您的克隆版本中的 surveymonkey-ios-sdk 目录,并选择 SurveyMonkeyiOSSDK.framework 文件
- 确保选中了 "如需必要则复制项目",并且选择所有将使用 SDK 的目标
第4步:将 SurveyMonkey SDK 集成到您的应用中
- 导入SDK
#import <SurveyMonkeyiOSSDK/SurveyMonkeyiOSSDK.h>
- 根据您的使用情况,向您的接口中添加一个属性
@property (nonatomic, strong) SMFeedbackViewController * feedbackController;
- 初始化SDK并设置其代理
_feedbackController = [[SMFeedbackViewController alloc] initWithSurvey:{SAMPLE_SURVEY_HASH}];
_feedbackController.delegate = self;
- 如果您是白金用户,并希望在每个调查响应中包含自定义变量,请创建一个包含自定义变量的扁平NSMutableDictionary并使用
_feedbackController = [[SMFeedbackViewController alloc] initWithSurvey:{SAMPLE_SURVEY_HASH} andCustomVariables:{SAMPLE_CUSTOM_VARIABLES_DICTIONARY}];
重要注意事项
使用SurveyMonkey反馈SDK返回的受访者数据需要您拥有优势账户或更高等级,并且您的类实现了其中的SMFeedbackDelegate和-respondentDidEndSurvey:error:
方法。
调查者数据作为SMResponse返回。以下是一个示例:
- (void)respondentDidEndSurvey:(SMRespondent *)respondent error:(NSError *) error {
if (respondent != nil) {
SMQuestionResponse * questionResponse = respondent.questionResponses[0];
NSString * questionID = questionResponse.questionID;
if ([questionID isEqualToString:FEEDBACK_QUESTION_ID]) {
SMAnswerResponse * answerResponse = questionResponse.answers[0];
NSString * rowID = answerResponse.rowID;
if ([rowID isEqualToString:FEEDBACK_FIVE_STARS_ROW_ID] || [rowID isEqualToString:FEEDBACK_FOUR_STARS_ROW_ID]) {
[_statusLabel setText:@"Thanks! Please rate us in the app store!"];
}
else {
[_statusLabel setText:@"Thanks for taking our survey. We'll address the issues you encountered as quickly as possible!"];
}
}
}
else {
NSLog(@"%@", error.description);
}
}
请查看我们GitHub仓库中的简单调查示例项目,以获取更详细的示例。
拦截模式
要启动SurveyMonkey反馈SDK拦截过程,请从主活动调用以下代码
[_feedbackController scheduleInterceptFromViewController:self withAppTitle:{SAMPLE_APP_NAME}];
这将检查是否应该提示用户进行您的调查(即如果(timeSinceLastSurveyPrompt > maxTimeIntervalBetweenSurveyPrompts))。
您可以自定义提示的副本以及时间间隔。有关特定功能和类别的更多信息,请参阅我们的文档。
向用户展示调查
要向用户展示调查,请调用
[_feedbackController presentFromViewController:self animated:YES completion:nil];
问题和错误
请通过GitHub问题向我们提交有关SDK的任何问题。我们努力尽快修复错误。我们计划在未来几个月内添加cocoapods集成。关注我们的GitHub仓库,以便更新新功能。
常见问题解答(FAQ)
我可以使用移动SDK做什么?
测量整体满意度
一个简单的多项选择题可以帮助你了解用户对你的应用有多满意。根据他们的满意程度,你可以调整他们在应用中的剩余体验。例如,如果一个用户报告了中等的满意度,你可以通过后续问题来识别问题和优先考虑由开发团队解决的问题。
进行实时产品研究
执行用户研究的最有效方法是倾听。产品经理可以快速查明用户渴望哪些功能,哪些功能不符合预期。基于发现的情况,产品团队可以调整路线图以更好地应对不断增长的手机用户群体,而无需被动等待应用商店的评论来了解哪些地方效果良好,哪些地方不成功。
我如何促使用户提供反馈?
随机调查
您可以为用户随机抽取样本预设时间间隔以提示在应用内反馈。这被称为开发者文档中的“定期拦截”。例如,您可以将应用内反馈设置为在用户安装或更新应用程序后3天内提示用户。如果用户选择“提供反馈”,则3个月内不再显示提示。如果用户选择“现在不行”,则3周后再次提示他们。时间间隔可以由开发人员进行完全自定义。
基于事件的触发器
当用户访问应用程序的某个特定部分或点击某个特定按钮时,您可以提醒他们提供应用程序内反馈。例如,如果您发现用户在结账界面流失,您可以实时询问他们原因。这些信息可以引导关键的产品洞察,例如将某些字段转移到更符合客户优先顺序的位置。
被动反馈
许多应用程序都有一个滑动菜单,允许用户访问各种项目,如账户、关于我们或帮助。在SurveyMonkey中,我们已经将反馈纳入我们的滑动菜单中,以被动地提醒用户反馈。您可以将此功能集成到您自己的应用程序中,以便用户随时提供反馈。
我如何根据用户的调查响应将应用程序用户路由到不同的流程?
如果您有ADVENTAGE计划或更高水平,您可以编程应用程序以根据用户对调查的响应将用户引导到不同的流程。例如,如果用户对应用程序内反馈调查做出响应并给予5星评级,则应用程序可以带该用户进入“5星评级流程”,在应用商店评分应用程序。您还可以将用户引导至应用程序内的“需要改进流程”,直至帮助中心。
移动端软件开发工具包免费吗?
是的,移动端软件开发工具包可以与任何SurveyMonkey计划集成。但是,开发人员必须升级到ADVENTAGE或更高水平才能根据调查问题响应采取操作(提醒报告对您的应用程序高度满意的用户进行评分)。
在PLATINUM计划中提供了自定义变量。
我如何设计调查?在移动设备上看起来会是什么样子?
与所有SurveyMonkey调查一样,您有权自定义调查的外观和感觉,使其与您的移动应用程序相匹配。调查页面是响应式的,因此您可以在智能手机和平板设备上使用SDK。
调查一旦发布可以进行编辑吗?
在发送调查后,您可以对调查进行编辑。如果调查没有任何响应,您可以完全编辑调查。如果调查正在进行且已有响应,您的编辑选项是受限。您对调查的编辑将在保存后立即生效,因此请先预览您的工作。您不需要向应用商店提交新版本的应用程序以反映任何更新,并且您的调查哈希值将保持不变。
如果您在SurveyMonkey中关闭或删除收集器,用户将不会看到应用程序内反馈提示。
调查是应用程序本地的吗?
是的,尽管SDK需要网络连接来加载调查,但如果用户的设备离线,他/她不会收到进行调查的提示。
我在Android和iOS上都有一个应用程序。我需要创建多少个移动采集者?
您可以创建一个调查并设置多个采集者来帮助您跟踪响应的来源,例如,一个用于您的Android应用程序,另一个用于您的iOS应用程序。
我如何将调查本地化到各个地点?
我们建议创建多个调查,并将调查翻译成不同的语言。
支持的最低操作系统版本是什么?iOS 7.x