HelpStack provides you with a simple way of adding a great in-App support for your iOS App users. You can integrate any of your favorite HelpDesk solution at ease.
HelpStack currently supports the following helpdesk solutions:
- HappyFox
- Zendesk
- Desk.com
- Email - If you don't have a helpdesk solution, you can still configure HelpStack for users to raise requests via email.
The UI is also customizable so that it can go along with your app's theme.
Checkout this wiki page if you want a clear idea on how you can progress with HelpStack: Wiki - How to progress with HelpStack
Have you made something awesome with HelpStack? Add yourself here: App Showcase
Integrating HelpStack into your app is an easy 3-step process:
- Install HelpStack and its dependencies
- Configure your desired Help desk solution
- Customize the UI of HelpStack with a simple plist file
Use CocoaPods to install HelpStack and its dependencies. HelpStack dependencies include AFNetworking 2.0.
pod 'HelpStack'
HelpStack requires Xcode 5.0 targeting iOS 7 and above.
The general structure of a gear is as follows:
<GearType> *<gearObject> = [[<GearType> alloc]
parameter1 : value1
parameter2 : value2
parameterN : valueN ];
HSHelpStack *helpStack = [HSHelpStack instance];
helpStack.gear = <gearObject>;
HelpStack currently provides 4 different Gears. Follow the instructions below to configure the gear of your choice:
You must note that since the FAQs/KB articles are being fetched from the server, it requires a network connection, in the absence of which your app may not be able to display the FAQs. With HelpStack, you can either configure your gear to fetch KB articles from server or you may provide them locally with a pList file. You will have to specify the pList file name when you configure the help desk solution as shown below:
yourGear.localArticlePath = @"<FAQs file name>";
Once you have integrated your helpStack, use the 'showHelp' API call to open up HelpStack to show up the FAQs or to report an Issue.
@implementation MyViewController
- (IBAction) onHelpPressed: (id)sender {
[[HSHelpStack instance] showHelp:self];
}
Using Swift, show HelpStack using the following invocation:
let helpStack = HSHelpStack.instance() as HSHelpStack
helpStack.showHelp(self)
HelpStack comes with built in screens with a default theme. It also comes with a set of pre configured themes, which you can download from the link below:
You can start with one of these themes as your base. Download any of these pList files, include it in your project and rename it as required. In order to apply the themes for the HelpStack screens, include the following line of code when you configure HelpStack.
[[HSHelpStack instance] setThemeFrompList:@"MyCustomThemeForHelpStack"];
Certain pList properties must be provided in a pre-defined format as listed below:
-
Color - Specify colors by providing its R,G,B,alpha value separated by commas. e.g: 255,255,255,1.0 is white.
-
Font - The font name and font size are to be provided as two separate properties in the pList file. Fonts are to be specified by its font family name and font style. e.g: Helvetica-Bold The specified font size will be taken as 'pts' by default. Refer to iosfonts.com for the fonts supported by iOS.
-
Image - Images which are included in your project must be specified with their filenames. e.g: example.png
The following is a list of UI items you can customize, along with the instructions in the wiki:
Navigation Bar:
Table View:
Chat Screen:
For more information about HelpStack, visit helpstack.io.
HelpStack is maintained by the folks at HappyFox. Being an open source project, it also contains work from the HelpStack community.
Reach out to us on Twitter at @HelpStackSDK.
HelpStack is available under the MIT license. See the LICENSE file for more info.