Voice Polls 是让您的受众发声的好方法。本文档是为希望将投票集成到他们的网站或原生应用程序中的开发者准备的。
您可以选择嵌入单个投票或一系列投票(“调查”)。两者在您的网站上都将显示相同的样式。不同之处在于调查会显示一系列的投票,一次只显示一个投票,观众投票后将自动切换到下一个投票。
http://thenextweb.com/dd/2013/06/11/poll-what-do-you-think-of-the-new-ios-7-design/
http://voiceapp.tumblr.com/post/102617249934/voice-surveys
我们有几种方法将投票嵌入到您的网站或应用程序中,我们为您处理响应式尺寸和用户交互。
首选方法。我们为您提供要嵌入到您的网页中的JavaScript或HTML代码。该代码将插入一个包含投票的iframe。
您可以在iOS项目中包含的Cocoa Touch类。这些类将在UIWebView中创建嵌入的投票。
嵌入式解决方案很棒,因为您甚至可以自定义嵌入投票的颜色以匹配您的网站。(查看自定义)。
Voice HTTPS/JSON基于的API
如果您想在网站上更改嵌入的投票或投票集,但不想更改用来集成语音投票的代码,那么这项服务就是为您准备的。在网站上,您可以让嵌入始终检索最新的投票或调查。
通过嵌入代码或iOS SDK嵌入您的投票时,只需确保它包含用户ID,而不是投票或调查ID。
您应该做的第一件事是创建一个Voice Polls账户:https://voicepolls.com/publisher
现在您可以开始创建一些令人印象深刻的投票或调查了。您可以创建自己的内容,也可以从我们的社区借用现有内容:https://voicepolls.com/publisher/sets/
选择内容后,您就可以开始在您的网站上嵌入一些投票了。
需要帮助入门?我们很乐意帮助:[email protected]
Voice Polls iOS SDK 允许您在自己的iOS应用程序中使用Voice Polls。(了解更多有关集成Voice Polls的信息)。
当你初始化VPQuestionView的一个实例时,它会创建一个加载嵌入式Voice投票的UIWebView。您可以通过webView属性访问这个UIWebView。只需以任何您喜欢的 şekilde 将此UIWebView添加到您的应用程序中即可。请注意,pollView UIWebView的最大尺寸为320*480。
您还可以按照示例添加库。
要运行示例项目,克隆仓库。然后,通过打开文件VoiceSDK.xcworkspace打开项目。在scheme列表中选择VoiceSDKSample,然后运行。
初始化
// Put these lines in your AppDelegate.m in the didFinishLaunchingWithOption method to get your publisher id just open this url (https://voicepolls.com/developers/api#!/account/accountindex) in your browser and click on try it out. You will get a JSon containing an id key.
NSString *publisherId = @"";
[VoicePollsSDK sharedInstance].publisherId = publisherId;
VPQuestionView使用
// You can add the VPQuestionView wherever you want like this
VPQuestionView *questionView = [[VPQuestionView alloc] initWithFrame:self.view.bounds];
//here we load a Set with the id 56 you can also load a single question by using
// [questionView loadQuestion:@"3" completion:^{}];
[questView loadSet:@“56” completion:^{}];
[self.view addSubview:questionView];
为了使用VPQuestionView,您需要按照本说明文档中的用法部分初始化VoicePollsSdk。
加载单个投票
加载一组投票
- (void)loadQuestion:(NSString *)questionId completion:(void(^)())completion
参数 | 描述 |
---|---|
questionId | 要加载的问题ID。 |
- (void)loadSet:(NSString *)setId completion:(void(^)())completion
参数 | 描述 |
---|---|
setId | 要加载的问题集ID。 |
初始化
加载并显示单个投票
加载并显示投票集
加载所有问题
加载标签下的所有问题
VoicePollsSDK类是一个单例,这意味着您不应该创建自己的实例。您只需使用[VoicePollsSDK sharedInstance]并将您的发布者ID设置为初始化它。
所有加载方法都是异步的。有两个completion block,第一个block是在请求成功时,在这个block中您有权访问一个字典(或字典数组),代表您加载的问题。第二个block是失败块。
- (void)getQuestionWithId:(NSString *)questionId success:(void(^)(NSDictionary *question))success failure:(void(^)(NSError *error))failure
参数 | 描述 |
---|---|
questionId | 要加载的问题ID。 |
- (void)getQuestionsInSet:(NSString *)setId success:(void(^)(NSArray *questions))success failure:(void(^)(NSError *error))failure
参数 | 描述 |
---|---|
setId | 要加载的问题集ID。 |
- (void)getMyQuestions:(void(^)(NSArray *questions))success failure:(void(^)(NSError *error))failure
- (void)getQuestionsInTag:(NSString *)tagName success:(void(^)(NSDictionary *question))success failure:(void(^)(NSError *error))failure
参数 | 描述 |
---|---|
tagName | 要加载的标签的名称。 |
Voice-iOS-SDK 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。