Hipmob works with Jabber compatible IM clients such as iChat.

Log into iChat in 4 easy steps: 1. Go to the "iChat" menu, select "Preferences", and select the "Accounts" tab2. In the bottom-left of the window, select the "+" sign ("Add New Accounts") 3. For "Account Type", select "Jabber" 4. For "Username", enter your Hipmob login credentials:
[Your Username]@hipmob.com
For "Password", enter the same password you use, to log into Hipmob.com
Select "Done"

You'll be logged in to iChat with your hipmob account. From here, all users who are currently in the chat section of your app, will appear in your buddy list, and you can initiate chats from there. When they start a chat with you, your iChat should just open a chat window.

Hipmob works with XMPP compatible IM clients such as Instantbird.

Log into InstantBird in 4 easy steps: 1. Open Instant bird, and select "New Account". It should take you to the wizard - select "Continue".2. When prompted to enter a protocol, select "XMPP" or scroll to the bottom and select "Show All Protocols", then hit "Continue". In the subsequent screen, select "XMPP" and hit "Continue" 3. For "Username", enter your Hipmob User name with which you log in. 4. For "Domain", enter "Hipmob.com.
Then select "Continue"
For "Password", enter the same password you use to log into your account at Hipmob.com. Then select "Continue"

You'll be logged in to Instantbird with your Hipmob account. From here, all users who are currently in the chat section of your app, will appear in your buddy list, and you can initiate chats from there. When they start a chat with you, your Instantbird should just open a chat window.

Hipmob works with Jabber compatible IM clients such as Adium.

Log into Adium in 4 easy steps: 1. Go to the "Adium" menu, select "Preferences", and select the "Accounts" tab2. In the bottom-left of the window, select the "+" sign ("Add New Accounts") 3. For "Account Type", select "XMPP" 4. For "Username", enter your Hipmob login credentials:
[Your Username]@hipmob.com
For "Password", enter the same password you use, to log into Hipmob.com
Select "Done"

You'll be logged in to Adium with your Hipmob account. From here, all users who are currently in the chat section of your app, will appear in your buddy list, and you can initiate chats from there. When they start a chat with you, an Adium chat window will just pop open.

You'll be logged in to imo with your Hipmob account. From here, all users who are currently in the chat section of your app, will appear in your buddy list, and you can initiate chats from there. When they start a chat with you, you'll be alerted like any other chat.

Hipmob works with Pidgin.

Log into Pidgin in 5 easy steps (these instructions are for Windows): 1. Go to the Pidgin main window, and then select the Accounts menu, then select Manage Accounts2. Click the Add button to add a new account.3. Select XMPP in the Protocol dropdown.4. For Username, use your Hipmob username.
For Domain, enter hipmob.com
For Resource, enter any value you'd like (for example, Home).
For Password, enter your Hipmob password. For convenience, check the Remember Password box.5. Click the Add button.

You'll be logged in to Pidgin with your Hipmob account. From here, all users who are currently in the chat section of your app, will appear in your buddy list, and you can initiate chats from there. When they start a chat with you, you'll be alerted like any other chat.

Details

User Interface

Thousands of businesses rely on Hipmob to keep their customers happy. See some here.

Hipmob For iPhone & iPad

Overview

Hipmob provides cloud-hosted live chat for iPhone & iPad (and Android) apps. You get an app key, integrate the Hipmob library into your app, and then you can chat with your users in real time to solve their problems and make them happy. No server setup, no extra steps or code to write, wherever the users are, you get to focus on what you do well. This document covers integrating the Hipmob experience into your iOS app.

15-minute integration on iPhone

To dive right into using Hipmob, take a look at the Hipmob iOS experience sample on Github. This is a fully functional Xcode project that integrates the Hipmob iOS framework. Clone the repository, open the project and explore the various classes to see how to use the Hipmob SDK to open a chat. You can stick your own Hipmob application ID in, then launch it in the debugger and start chatting away!

Add a new app in your Hipmob account. Once this is done, we'll generate a Hipmob application ID for your app. Remember this - you'll be using it shortly.

In the Link Binary with Libraries section of your project's Build Phases you'll need to add the following Framework Dependencies:

SystemConfiguration.framework

CoreTelephony.framework

CoreGraphics.framework

Foundation.framework

UIKit.framework

CFNetwork.framework

CoreData.framework

libicucore.dylib

Security.framework

QuartzCore.framework

Download the Hipmob iOS Framework
. This includes all the dependencies required (see the Framework Options section for more details).Note The Hipmob iOS framework currently only supports iOS 4.3 or higher (the armv7/armv7s architectures). We provide a universal library with support for running the Hipmob code in the simulator as well.

Expand the downloaded archive, and then copy the Hipmob framework folder into your project by dragging the hipmob.framework directory into your Xcode project. Make sure you select the "Copy items into destination group's folder (if needed)" option. Once you have done this, open your build phases (under your project's Build Settings screen) and add the resources from inside the framework into the Copy Bundle Resources section: click the Add Other option at the bottom, then add all the Hipmob image resources (from inside the hipmob.framework folder).

Include the HMService.h header file in your application delegate, then initialize the service inside your didFinishLaunchingWithOptions method.

If your XMPP client is not listed above, you can login using the username and password with a domain set to hipmob.com.

Once you are logged in, ensure that your status is set to Available (we don't send any messages to administrators marked as Away).

Now open the chat window in the app, and type something. It should pop up in your XMPP client! Go ahead and reply in your XMPP client. It should show up in the app!

15-minute integration on iPad

To see a prepackaged version, look at the Hipmob iOS experience sample on Github. This has support for both the iPhone and the iPad. You can clone the repository, open the project, open the HMiPhoneConfig.h file and stick your own key in, and you're all set! Launch it in the debugger and start chatting away.

Note As before, if you see build errors complaining about CFHTTP or Security then you didn't add the appropriate libraries: just add in the dependencies in the Link Binary with Libraries section of your project's Build Phases.

To chat with a user, you will need to log into your Hipmob XMPP account using your username and password from step 1 above: set the domain to hipmob.com.

Once you are logged in, ensure that your status is set to
Available
(we don't send any messages to agents marked as Away
).

Requirements

Familiarity with iOS development. The embedded framework comes with all the prebuilt includes so you only have to include the Framework Dependencies listed above as you would normally in Xcode.

SocketRocket: this library is built into our embedded framework. If you're not already using SocketRocket for Websocket support in your app then you don't need to do anything special. If you ARE using it already then you can use our bare framework which does not include SocketRocket.

Hipmob is compatible with apps developed for iOS 4.3 or higher.

As an administrator, you have to have an XMPP compatible client to connect to our servers (there are a ton of free ones: on Windows we recommend Pidgin, on OSX Adium, on Linux Empathy, on Android Xabber, and on iOS Monal or IMO. If you don't see your platform here we still love you: just reach out to us if you can't find one and we'll work with you to find one that works). Any other standards-compliant XMPP client should just work. We're also working on integration with federated XMPP servers (such as Google Talk and Facebook), and once that is ready you'll be able to use your existing messaging accounts.

Details

Framework Options

Hipmob's iOS framework depends on a WebSocket library (the excellent SocketRocket Websocket library, to be exact). If you're already using this library in your app, you should make sure you use the bare Hipmob iOS library.

Both frameworks include all the required images, so you dont need to add other files, or adjust search paths in XCode. Simply include the framework and include the appropriate header file and you are ready to go.

Framework Settings

Hipmob's iOS framework extends the standard iOS UIView, UIViewController, UIPopoverController and UINavigationController classes: you can customize the Hipmob classes the same ways you would customize any of those other classes. To learn more, read the full class documentation.

The HMChatViewController extends the UINavigationController class and provides a full navigation bar that can be styled and can have the title changed.

The HMContentChatViewController extends the UIViewController class and provides a content view controller that can be embedded in container view controllers such as the split view controller (or your own UINavigationController).

For advanced usage, the HMChatView provides a UIView that can be added to an existing controller's layout programmatically, and sized accordingly. Properties on the class allow for custom styling.

Framework Delegates

Each of the The Hipmob iOS framework classes has a delegate protocol that can be used to keep track of changes to the class, and allow performing custom actions (for example, when URLs are sent).

Chat Sessions

Once the Hipmob framework class is launched (either the full screen or the chat view) it will automatically connect to the Hipmob communication network. The user name that will appear for the device is based on the device's name: you can customize the user name and email address using the updateName and updateEmail methods on the chat view. The Hipmob chat view handles all chat session setup and communication: it connects and identifies itself to the Hipmob communication network. This requires that the device's network connection be online and available.

Figure 1: Connecting to the Hipmob communication network

Once it successfully connects to the communication network, it checks to see if any admins are available (i.e. online and with status not Away). If it finds any, it displays the following text. This will be customizable in our next version.

Figure 2: Admins are available

If no admins are available, a different notice is displayed. This will be customizable in our next version:

Figure 3: No admins are available

User Interaction

Once the connection is established, the user can immediately start chatting: all messages will be routed to all available admins. When the first admin responds, all subsequent messages are then routed to that admin.

Customization: View

The appearance of the default Hipmob view controller can be modified in any of the standard iOS UIView and UIViewController ways. On the HMChatViewController the chatView and body properties will retrieve the actual chat UIView and the internal content view controller used inside the HMChatViewController instance. Similar properties exist for the HMContentChatViewController and HMChatPopoverController. If even more extensive customization is required a user interface source license can be obtained that will grant access to all the Hipmob UI source code and will allow complete customization to match your unique requirements: contact team@hipmob.com for more information about purchasing a user interface source license.

Localization

The Hipmob iOS Framework currently is still US English-only: future releases will support additional languages.

Push Notifications

Hipmob can be configured to send push notifications to the user's iOS device whenever a message is sent to them while they are offline. Read more in our iOS Push Notification guide: the setPushToken method on the HMChatView can be passed the application's push notification token (as an NSData instance) to enable push notifications.

Check Operator Availability

To only show the live chat button when an operator is available, implement the HMChatViewAvailabilityCheck protocol and then call the checkOperatorAvailabilityForApp class method of HMChatView. For example, here we call the method in the viewDidAppear function of our view controller.