If you're currently using the older version of the HelpCrunch iOS SDK, you can find its documentation here. We recommend you to switch to the newer version as soon as possible, though.
Initialization
Old approach:
+ (void)initForOrganization:(NSString *)organizationDomain
withAttributes:(NSDictionary *)attributes
completionHandler:(HCCompletionHandler)completionHandler;
New approach:
Instead of a dictionary with keys, we moved to objects. First of all, you need to initialize the HCSConfiguration object with your organization, applicationId and applicationSecret.
+ (HCSConfiguration *)configurationForOrganization:(NSString *)organization
applicationId:(NSString *)applicationId
applicationSecret:(NSString *)applicationSecret;
Also, in HCSConfiguration you can configure different SDK settings like logging or setting required/optional user attributes. If you want to specify a current user, please use the HCSUser object.
+ (void)initWithConfiguration:(HCSConfiguration *)configuration
user:(HCSUser * _Nullable)user
completion:(HCSCompletionHandler _Nullable)completion;
Old approach:
+ (void)customerNameRequired:(BOOL)required;
New approach:
You can add any amount of user attributes that will be shown on a Welcome screen for new users. To do that, you should use HCSUserAttribute, where you have 4 predefined attributes and a method for adding custom attributes.
+ (HCSUserAttribute *)nameAttributeAsRequired:(BOOL)required;
+ (HCSUserAttribute *)emailAttributeAsRequired:(BOOL)required;
+ (HCSUserAttribute *)companyAttributeAsRequired:(BOOL)required;
+ (HCSUserAttribute *)phoneAttributeAsRequired:(BOOL)required;
- (HCSUserAttribute *)initWithAttributeName:(NSString *)attributeName
placeholder:(NSString *)placeholder
required:(BOOL)required;
Create the array of attributes and pass them to HCSConfiguration’s userAttributes property before initializing the SDK.
configuration.userAttributes =
@[[HCSUserAttribute nameAttributeAsRequired:true],
[HCSUserAttribute companyAttributeAsRequired:true],
[HCSUserAttribute phoneAttributeAsRequired:false],
[[HCSUserAttribute alloc] initWithAttributeName:@"Custom required attribute"
placeholder:@"My custom"
required:true],
[[HCSUserAttribute alloc] initWithAttributeName:@"Optional attribute"
placeholder:@"Please enter something"
required:false]];
Renaming
Old:
+ (BOOL)isShowing;
New:
+ (BOOL)isVisible;
Old:
+ (BOOL)closeChatIfVisible;
New:
+ (void)closeChatWithCompletion:(HCSCompletionHandler _Nullable)completionHandler;
Old:
+ (void)logout:(HCCompletionHandler)completionHandler;
New:
+ (void)logoutWithCompletion:(HCSCompletionHandler _Nullable)completion;
Old:
HC_SDKVersion
New:
HCSSDKVersion
Deprecated methods
+ (void)restoreFromBackground;
+ (void)useDefaultAlertForRemoteNotification:(BOOL)useDefaultAlert;
+ (void)customerNameRequired:(BOOL)required;
+ (void)enableNetworkActivityIndicator:(BOOL)enable;
+ (NSString *)appVersion;
+ (void)showFromController:(UIViewController *)controller delegate:(id)delegate;
NSNotification events
The following methods were replaced with NSNotification events.
Old:
+ (void)checkUnreadMessages:(void (^)(NSUInteger unread))callbackBlock;
New:
HCSUnreadMessagesNotification
Don't forget to check userInfo[@”data”] for NSNumber.
Old:
HelpCrunchPresenterDelegate
The whole delegate is deprecated. Also, HC_UserClosedChatNotification was renamed.
New:
HCSUserClosedChatNotification
Old:
HC_OpenLinkNotification
New:
HCSURLNotification
Don't forget to check userInfo[@”data”] for URL.