Further improve feedback documentation

This commit is contained in:
Andreas Linde 2012-10-19 21:16:30 +02:00
parent 0fe87cf8c0
commit 5d52d80686
4 changed files with 93 additions and 2 deletions

View File

@ -31,13 +31,42 @@
#import "BITFeedbackComposeViewControllerDelegate.h"
/**
View controller allowing the user to write and send new feedback
*/
@interface BITFeedbackComposeViewController : UIViewController <UITextViewDelegate>
///-----------------------------------------------------------------------------
/// @name Delegate
///-----------------------------------------------------------------------------
/**
Sets the `BITUpdateManagerDelegate` delegate.
When using `BITUpdateManager` to distribute updates of your beta or enterprise
application, it is _REQUIRED_ to set this delegate and implement
`[BITUpdateManagerDelegate customDeviceIdentifierForUpdateManager:]`!
*/
@property (nonatomic, assign) id<BITFeedbackComposeViewControllerDelegate> delegate;
- (id)init;
///-----------------------------------------------------------------------------
/// @name Presetting content
///-----------------------------------------------------------------------------
/**
An array of data objects that should be used to prefill the compose view content
The follwoing data object classes are currently supported:
- NSString
- NSURL
These are automatically concatenated to one text string.
*/
- (void)prepareWithItems:(NSArray *)items;
@end

View File

@ -10,6 +10,11 @@
@class BITFeedbackComposeViewController;
/**
The `BITFeedbackComposeViewControllerDelegate` formal protocol defines methods further configuring
the behaviour of `BITFeedbackComposeViewController`.
*/
@protocol BITFeedbackComposeViewControllerDelegate <NSObject>
@optional

View File

@ -31,6 +31,17 @@
#import "BITHockeyBaseViewController.h"
/**
View controller providing a default interface to manage feedback
The message list interface contains options to locally delete single messages
by swiping over them, or deleting all messages. This will not delete the messages
on the server though!
It is also integrates actions to invoke the user interface to compose a new messages,
reload the list content from the server and changing the users name or email if these
are allowed to be set.
*/
@interface BITFeedbackListViewController : BITHockeyBaseViewController <UITableViewDelegate, UITableViewDataSource, UIActionSheetDelegate, UIAlertViewDelegate> {
}

View File

@ -51,6 +51,49 @@ typedef enum {
@class BITFeedbackMessage;
/**
The feedback module.
This is the HockeySDK module for letting your users to communicate directly with you via
the app and an integrated user interface. It provides to have a single threaded
discussion with a user running your app.
The user interface provides a list view than can be presented modally using
`[BITFeedbackManager showFeedbackListView]` modally or adding
`[BITFeedbackManager feedbackListViewController:]` to push onto a navigation stack.
This list integrates all features to load new messages, write new messages, view message
and ask the user for additional (optional) data like name and email.
If the user provides the email address, all responses from the server will also be send
to the user via email and the user is also able to respond directly via email too.
The message list interface also contains options to locally delete single messages
by swiping over them, or deleting all messages. This will not delete the messages
on the server though!
It is also integrates actions to invoke the user interface to compose a new messages,
reload the list content from the server and changing the users name or email if these
are allowed to be set.
It is also possible to invoke the user interface to compose a new message anywhere in your
own code, by calling `[BITFeedbackManager showFeedbackComposeView]` modally or adding
`[BITFeedackManager feedbackComposeViewController]` to push onto a navigation stack.
If new messages are written while the device is offline, the SDK automatically retries to
send them once the app starts again or gets active again, or if the notification
`BITHockeyNetworkDidBecomeReachableNotification` is fired.
A third option is to include the `BITFeedbackActivity` into an UIActivityViewController.
This can be useful if you present some data that users can not only share but also
report back to the developer because they have some problems, e.g. webcams not working
any more. The activity provide a default title and image that can be also be customized.
New message are automatically loaded on startup, when the app becomes active again
or when the notification `BITHockeyNetworkDidBecomeReachableNotification` is fired. This
only happens if the user ever did initiate a conversation by writing the first
feedback message.
*/
@interface BITFeedbackManager : BITHockeyBaseManager <UIAlertViewDelegate>
///-----------------------------------------------------------------------------
@ -73,13 +116,16 @@ typedef enum {
/**
Define if an email address has to be provided by the user when providing feedback
If the user provides the email address, all responses from the server will also be send
to the user via email and the user is also able to respond directly via email too.
- `BITFeedbackUserDataElementDontShow`: Don't ask for this user data element at all
- `BITFeedbackUserDataElementOptional`: The user may provide it, but does not have to
- `BITFeedbackUserDataElementRequired`: The user has to provide this to continue
The default value is `BITFeedbackUserDataElementOptional`.
*/
@property (nonatomic, readwrite) BITFeedbackUserDataElement requireUserEmail; // default is BITFeedbackUserDataElementOptional
@property (nonatomic, readwrite) BITFeedbackUserDataElement requireUserEmail;
/**