Обновление до версии 3.0.0
Обратите внимание, что при переходе на версию 3.0.0 были внесены некоторые важные изменения в способ взаимодействия с библиотекой.
Авторизация
Если у вас есть авторизация пользователей необходимо вызывать ее при старте приложения. Наилучшим местом для этого является successHandler у метода setup:
swift
import CarrotSDK
Carrot.shared.setup(
withApiKey: apiKey,
successHandler: {
if let userId = userId {
Carrot.shared.auth(
withUserId: userId,
withUserAuthKey: userAuthKey, // or withHash: hash,
successHandler: { carrotId in
print("Carrot quest SDK user auth succeeded, CarrotId = \(carrotId)")
},
errorHandler: { error in
print("Carrot quest SDK user auth error: " + error)
})
}
},
errorHandler: { error in
print("Failed to connect Carrot quest SDK, reason: \(error)")
}
)objective-c
#import <CarrotSDK/CarrotSDK.h>
Carrot *carrot = [Carrot shared];
[carrot setupWithApiKey:apiKey
successHandler:^() {
if (userId != nil) {
[carrot authWithUserId:userId
userAuthKey:userAuthKey // or hash:hash
successHandler:^(NSString * _Nonnull carrotId) {
NSLog(@"Carrot quest SDK user auth succeeded, CarrotId = %@", carrotId);
}
errorHandler:^(NSString * _Nonnull error) {
NSLog(@"Carrot quest SDK user auth error: %@", error);
}];
}
}
errorHandler:^(NSString * _Nonnull error) {
NSLog(@"Failed to connect Carrot quest SDK, reason: %@", error);
}];Таким образом это предотвратит лишнее возникновение анонимных пользователей.
Установка темы
Так же, для унификации кода с AndroidSDK аргумент withTheme был вынесен из метода setup в отдельный метод:
swift
import CarrotSDK
Carrot.shared.setTheme(.dark)
// Допустимые варианты:
// "light" - светлая тема чата в SDK
// "dark" - темная тема чата в SDK
// "fromMobile" - тема, подстраиваемая под тему устройства
// "fromWeb" - тема, такая же, как включенная в настройках админ панелиobjective-c
Carrot *carrot = [Carrot shared];
[carrot setTheme:ThemeDark];
// Допустимые варианты:
// "ThemeLight" - светлая тема чата в SDK
// "ThemeDark" - темная тема чата в SDK
// "ThemeFromMobile" - тема, подстраиваемая под тему устройства
// "ThemeFromWeb" - тема, такая же, как включенная в настройках админ панелиВажно! Пока что тема меняется только при полном перезапуске приложения