Документация - iOS

SDK под iOS предоставляется в виде static библиотеки.

Добавьте библиотеку в проект

Библиотека Taifuno сделана в виде static library. Для ее интеграции достаточно добавить TaifunoLibrary.a в Link Binary with Libraries, которые находятся во вкладке Build Phases настроек вашего проекта.

Далее необходимо добавить в Headers вашего проекта следующий файл:

include/TFTaifuno.h

Так же в папке include/Resources лежат необходимые реурсы для библиотеки, их надо включить в Copy Bundle Resources вашего проекта.

Для работы библиотеки необходимо добавить фрэймворк

libicucore.tbd

Так же, для корректной сборки проекта необходимо добавить флаг компилятора в настройках таргета:

Other Linker Flags -ObjC

Пример работы с библиотекой находится на GitHub.

Инициализируйте библиотеку в приложении

Инициализация библиотеки осуществляется с помощью следующего метода:

[[TFTaifuno sharedInstance] setApiKey:@"apikey"];

В этот метод передается параметр(NSString *) apikey (API ключ) — уникальный числовой идентификатор приложения, который выдается на странице управления в Taifuno.

Рекомендуется инициализировать библиотеку в методе application:didFinishLaunchingWithOptions: делегата приложения:

- (BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[TFTaifuno sharedInstance] setApiKey:@"apikey"];
}

Вызвать экран поддержки

Вызов экрана поддержки осуществляется посредством следующего метода:

[[TFTaifuno sharedInstance] startChatOnViewController:vc];

В этот метод передается два параметра:

  • (UIViewController *) vc ViewController, поверх которого будет вызван View Taifuno.

Существует вариация этого метода:

[[TFTaifuno sharedInstance] startChatOnViewController:vc WithInfo:info];

В этот метод добавляется параметр info - строка, которая будет отправленная в начале диалога с оператором. На стороне оператора это сообщение будет выделенно цветом.

Если вы хотите добавить контроллер Taifuno как childViewController и самостоятельно управлять его демонстрацией - воспользуйтесь следующим методом:

[[TFTaifuno sharedInstance] chatViewController];

Зарегистрируйте device-token устройства

Регистрация device-token производится вызовом следующего метода:

[[TFTaifuno sharedInstance] registerDeviceToken:newToken];

В этот метод передается параметр(NSString *) devicetoken уникальный идентификатор, получаемый от APNS.

Пример получения device token:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[TFTaifuno sharedInstance] setApiKey:@"apikey"];
    if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
    {
    // iOS 8 Notifications
    [application registerUserNotificationSettings:
    [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound |
    UIUserNotificationTypeAlert) categories:nil]];
    [application registerForRemoteNotifications];
    } else {
    // iOS < 8 Notifications
    [application registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
    UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
    }
    // Override point for customization after application launch.
    return YES;
}
- (void)application:(UIApplication*)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSString *newToken = [deviceToken description];
    newToken = [newToken stringByTrimmingCharactersInSet:[NSCharacterSet
    characterSetWithCharactersInString:@"<>"]];
    newToken = [newToken stringByReplacingOccurrencesOfString:@" " withString:@""];
    [[TFTaifuno sharedInstance] registerDeviceToken:newToken];
}

Получение notification

Библиотека предоставляет возможность показывать пользователю новые уведомления внутри приложения. Для этого, когда вам пришел новый notification, вызываете следующий метод:

[[TFTaifuno sharedInstance] recievedNewNotification:userInfo];

В этот метод передается параметр(NSDictionary *) userInfo который содержит в себе словарь с данными сообщения.

- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfo
{
    [[TFTaifuno sharedInstance] recievedNewNotification:userInfo];
}                                

Добавочные параметры пользователя

Вы можете задать из приложения пользователю ID и email. Это сделанно для упрощения идентификации конечных пользователей, обратившихся в поддержку. Задаются эти параметры при помощи следующих двух методов:

[[TFTaifuno sharedInstance] setUserId:userId];
[[TFTaifuno sharedInstance] setUserEmail:userEmail];

В этих методах используется два параметра:

  • (NSString *) userId Ваш идентификатор пользователя, благодаря которому оператор быстро найдет его в базе данных.
  • (NSString *) userEmail Email пользователя, благодаря которому оператор быстро найдет его в базе данных.

Сохранение данных

Когда приложение закрывается, вызываете следующий метод:

[[TFTaifuno sharedInstance] saveTaifuno];

В этот метод не передается параметров. Как правило это необходимо если ваш AppDelegate получает сообщение, что приложение будет закрыто:

- (void) applicationWillTerminate:(UIApplication *)application
{
    [[TFTaifuno sharedInstance] saveTaifuno];
}

Выход пользователя

При необходимости произвести логаут пользователя вызывается следующий метод:

[[TFTaifuno sharedInstance] signOut];

В этот метод не передается параметров. После выхода необходимо произвести переинициализацию бибилиотеки:

    [[TFTaifuno sharedInstance] signOut];
    [[TFTaifuno sharedInstance] setApiKey:@"YOUR_API_KEY"];

Звезды

Для использования функции рейтинга приложения по умолчанию не требуется ничего, кроме активации функции в лк. Ниже идет описание способов настройки выпадающего окна.


Цвет

Вы можете задать из приложения цвет выпадающей сверху плашки выбора, чтобы он соответствовал цветовой схеме вашего приложения. Это делается следующими методами:

[[TFTaifuno sharedInstance] setRateBackgroundColor:(UIColor *) color];
[[TFTaifuno sharedInstance] setRateFontColor:(UIColor *) color];

В этих методах используется один параметр:

  • (UIColor *) color Данный параметр определяет цвет, используемый для отображения элементов выпадающего окна. По умолчанию цвет текста является 0xFFFFFF, цвет фона 0x007AFF.

Текст

Вы можете задать из приложения текста, которые будут отображаться на элементах запроса оценки:

[[TFTaifuno sharedInstance] setHeaderRateString:(NSString *) header];
[[TFTaifuno sharedInstance] setBodyRateString:(NSString *) body];
[[TFTaifuno sharedInstance] setHeaderStarsString:(NSString *) header];
[[TFTaifuno sharedInstance] setBodyStarsString:(NSString *) body];

В этих методах используется один параметр:

  • (NSString *) string Данный параметр определяет текст, который будет использоваться при запросе оценки. По умолчанию текст заголовка является "Оцени приложение!", текст тела - "Оцените качество нашего приложения, это займет у вас не больше пяти минут.".

Документация - Android

SDK под Android предоставляется в виде aar библиотеки или Maven артефакта.

Добавьте библиотеку в проект

При помощи Maven артифакта

Самый простой способ добавить Taifuno в ваше приложение - добавить следующий артефакт в зависимости проекта:

compile 'me.taifuno:me.taifuno:1.1.7'
                                

При помощи AAR библиотеки

Библиотека Taifuno сделана в виде aar файлa. Для ее интеграции достаточно добавить taifunoLibrary.aar в папку libs вашего проекта и прописать в build.gradle следующие зависимости:

dependencies {
    compile(name:'TaifunoLibrary', ext:'aar')
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.loopj.android:android-async-http:1.4.6'
    compile 'org.java-websocket:Java-WebSocket:1.3.0'
    compile 'com.android.support:support-v4:21.0.3'
}
                                

А так же добавить папку libs в репозитории. Для этого надо прописать в build.gradle следующее:

repositories {
    jcenter()
    flatDir {
        dirs 'libs'
    }
}
                                

Пример работы с библиотекой

Пример работы с библиотекой находится на GitHub.

Инициализируйте библиотеку в приложении

Инициализация библиотеки осуществляется с помощью следующего кода:

Taifuno.getInstance().setApikey("apikey");
Taifuno.getInstance().setContext(getApplicationContext());

В метод setApiKey передается параметр String apikey (API ключ) — уникальный числовой идентификатор приложения, который выдается на странице управления в Taifuno.

В метод setContext передается параметрContext context (Context) — Контекст вашего приложения.

Рекомендуется инициализировать библиотеку при каждом запуске приложения и ка можно раньше.

Вызвать экран поддержки

Вызов экрана поддержки осуществляется посредством следующего метода:

Taifuno.getInstance().showChat();

Либо, вы можете запросить Тайфуно фрагмент и встроить в свою активити:

Fragment tf = Taifuno.getInstance().getTaifunoFragment();

В этот метод не передается параметров

Существует вариация этих методов:

Taifuno.getInstance().showChat(String info);

И

Fragment tf = Taifuno.getInstance().getTaifunoFragment(String info);

В этот метод добавляется параметр info - строка, которая будет отправленная в начале диалога с оператором. На стороне оператора это сообщение будет выделенно цветом.

Зарегистрируйте device-token устройства

Регистрация device-token производится вызовом следующего метода:

Taifuno.getInstance().registerDeviceId(deviceId);

В этот метод передается параметрString deviceId уникальный идентификатор, получаемый от GCM. Пример испольтзования можно найти на гитхабе по ссылке выше.

Получение уведомления

Когда вам пришел новое уведомление, вызываете следующий метод:

Taifuno.getInstance().recievedNotification(Bundle extras, IntentService is, int appIcon);

В этот метод передается параметрBundle extras который содержит в себе словарь с данными сообщения и параметр appIcon, содержащий в себе иконку вашего приложения.

Добавочные параметры пользователя

Вы можете задать из приложения пользователю ID и email. Это сделанно для упрощения идентификации конечных пользователей, обратившихся в поддержку. Задаются эти параметры при помощи следующих двух методов:

Taifuno.getInstance().setUserId(userId);
Taifuno.getInstance().setUserEmail(userEmail);

В этих методах используется два параметра:

  • String userId Ваш идентификатор пользователя, благодаря которому оператор быстро найдет его в базе данных.
  • String userEmail Email пользователя, благодаря которому оператор быстро найдет его в базе данных.

Звезды

Для использования функции рейтинга приложения по умолчанию не требуется ничего, кроме активации функции в лк. Ниже идет описание способов настройки выпадающего окна.


Цвет

Вы можете задать из приложения цвет выпадающей сверху плашки выбора, чтобы он соответствовал цветовой схеме вашего приложения. Это делается следующими методами:

Taifuno.getInstance().setRateTextColor(int color);
Taifuno.getInstance().setRateBackgroundColor(int color);

В этих методах используется один параметр:

  • int color Данный параметр определяет цвет, используемый для отображения элементов выпадающего окна. По умолчанию цвет текста является 0xFFFFFFFF, цвет фона 0xff007AFF.

Текст

Вы можете задать из приложения текста, которые будут отображаться на элементах запроса оценки:

Taifuno.getInstance().setRateHeaderText(String header);
Taifuno.getInstance().setRateBodyText(String body);
Taifuno.getInstance().setStarsHeaderText(String header);
Taifuno.getInstance().setStarsBodyText(String body);

В этих методах используется один параметр:

  • String string Данный параметр определяет текст, который будет использоваться при запросе оценки. По умолчанию текст заголовка является "Оцени приложение!", текст тела - "Оцените качество нашего приложения, это займет у вас не больше пяти минут.".