diff --git a/Classes/BITFeedbackComposeViewController.h b/Classes/BITFeedbackComposeViewController.h index b30c357cd5..b39ef5d0a7 100644 --- a/Classes/BITFeedbackComposeViewController.h +++ b/Classes/BITFeedbackComposeViewController.h @@ -31,13 +31,42 @@ #import "BITFeedbackComposeViewControllerDelegate.h" +/** + View controller allowing the user to write and send new feedback + */ @interface BITFeedbackComposeViewController : UIViewController + +///----------------------------------------------------------------------------- +/// @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 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 \ No newline at end of file diff --git a/Classes/BITFeedbackComposeViewControllerDelegate.h b/Classes/BITFeedbackComposeViewControllerDelegate.h index eebf8118ca..aa0c7c9061 100644 --- a/Classes/BITFeedbackComposeViewControllerDelegate.h +++ b/Classes/BITFeedbackComposeViewControllerDelegate.h @@ -10,6 +10,11 @@ @class BITFeedbackComposeViewController; +/** + The `BITFeedbackComposeViewControllerDelegate` formal protocol defines methods further configuring + the behaviour of `BITFeedbackComposeViewController`. + */ + @protocol BITFeedbackComposeViewControllerDelegate @optional diff --git a/Classes/BITFeedbackListViewController.h b/Classes/BITFeedbackListViewController.h index 6e39fa1662..0af01569ab 100644 --- a/Classes/BITFeedbackListViewController.h +++ b/Classes/BITFeedbackListViewController.h @@ -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 { } diff --git a/Classes/BITFeedbackManager.h b/Classes/BITFeedbackManager.h index 5228115be1..8cd1c050ee 100644 --- a/Classes/BITFeedbackManager.h +++ b/Classes/BITFeedbackManager.h @@ -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 ///----------------------------------------------------------------------------- @@ -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; /**