Ініціалізація
Старий підхід:
+ (void)initForOrganization:(NSString *)organizationDomain
withAttributes:(NSDictionary *)attributes
completionHandler:(HCCompletionHandler)completionHandler;
Новий підхід:
Замість словника з ключами ми перейшли до об’єктів. Перш за все, вам потрібно ініціалізувати об’єкт HCSConfiguration з вашою організацією, ApplicationId і applicationSecret.
+ (HCSConfiguration *)configurationForOrganization:(NSString *)organization
applicationId:(NSString *)applicationId
applicationSecret:(NSString *)applicationSecret;
Крім того, у HCSConfiguration ви можете налаштувати різні налаштування SDK, як-от залогування або налаштування обов’язкових/необов’язкових атрибутів користувача. Якщо ви хочете вказати поточного користувача, скористайтеся об’єктом HCSUser .
+ (void)initWithConfiguration:(HCSConfiguration *)configuration
user:(HCSUser * _Nullable)user
completion:(HCSCompletionHandler _Nullable)completion;
Старий підхід:
+ (void)customerNameRequired:(BOOL)required;
Новий підхід:
Ви можете додати будь-яку кількість атрибутів користувача, які відображатимуться на екрані привітання для нових користувачів. Для цього вам слід використовувати HCSUserAttribute, де у вас є 4 попередньо визначені атрибути та метод для додавання власних атрибутів.
+ (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;
Створіть масив атрибутів і передайте їх у властивість userAttributes в HCSConfiguration перед ініціалізацією 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]];
Переіменування
Старий:
+ (BOOL)isShowing;
Новий:
+ (BOOL)isVisible;
Старий:
+ (BOOL)closeChatIfVisible;
Новий:
+ (void)closeChatWithCompletion:(HCSCompletionHandler _Nullable)completionHandler;
Старий:
+ (void)logout:(HCCompletionHandler)completionHandler;
Новий:
+ (void)logoutWithCompletion:(HCSCompletionHandler _Nullable)completion;
Старий:
HC_SDKVersion
Новий:
HCSSDKVersion
Застарілі методи
+ (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
Наступні методи були замінені на події NSNotification.
Старий:
+ (void)checkUnreadMessages:(void (^)(NSUInteger unread))callbackBlock;
Новий:
HCSUnreadMessagesNotification
Не забудьте перевірити userInfo[@”data”] для NSNumber.
Старий:
HelpCrunchPresenterDelegate
Увесь делегат не підтримується. Також HC_UserClosedChatNotification було перейменовано.
Новий:
HCSUserClosedChatNotification
Старий:
HC_OpenLinkNotification
Новий:
HCSURLNotification
Не забудьте перевірити userInfo[@”data”] для URL-адреси.