
Ни для кого не секрет, что бета-тестирование на смартфонах — довольно трудоемкий процесс, а уж на iPhone — и подавно. Все дело в его многоступенчатости: сперва пользователю нужно найти UDID своего устройства, затем отправить его разработчикам. Только после этих действий со стороны юзера его аппарат вносится в список зарегистрированных девайсов, а уж потом собирается рабочая версия и отсылается ему на почту письмо с просьбой об установке.
Но и это еще не все. Пользователь заходит в iTunes, инсталлирует приложение и только после всех вышеперечисленных операций оно оказывается на его устройстве. Вам не кажется, что вся эта цепочка действий слишком сложна? Далеко не каждый захочет заморачивать себе голову. И уж тем более отсылать вам feedback вручную (автоматизированно это никак нельзя сделать), а если даже и будет, то его качество скорее всего не будет таким же хорошим по нескольким причинам: пользователь просто может забыть где им была найдена ошибка, не понять в каком месте произошло крушение приложения, не запомнить, что именно ему не понравилось на каком-либо из экранов, неверно указать на подтормаживания и лаги, ну и конечно неправильно оценить то, что просто отказывалось работать. Так как же решить эту проблему?
На помощь нам приходит один умный сервис: TestFlightApp.com. Он служит для упрощения процесса бета-тестирования и, как это ни парадоксально, сам недавно находился в стадии тестирования, но сейчас функционирует на полной мощности.
Начать работать с ним очень просто. Регистрируем свой проект и нажимаем на кнопку «пригласить тестеров». Все, что от них требуется — это адрес почтового ящика, на который придет приглашение принять участие в тестировании. Пользователи открывают это письмо на своем iPhone и разработчикам приходит UDID их устройства, а юзер заносится в список. Однако есть одно «но»: привязку UDID к вашему аккаунту в iTunesconnect невозможно автоматизировать, поэтому этот шаг приходится делать вручную. Правда, это совсем не страшно и не требует большого количества времени. Так что поводов для беспокойства нет.
Теперь я хочу немного подробнее рассказать про функционал, который дает SDK, представленное на сайте.
1. Sessions

2. In-App Questions

Тоже интересная вещь. Ставим checkpoints в разных местах и привязываем к каждому определенный вопрос, ответ на который волнует ваши умы. Как только checkpoint пройден пользователем, вылезает окно с вопросом, на который можно быстро ответить. Вообще их существует три типа: ответ да/нет, выбор из множества вариантов и ответ, вписываемый пользователем. Также в новый build можно сделать импорт вопросов из старой версии приложения на случай, если вам лень набирать текст заново.
3. Remote Logging

Польза логов очевидна, так что особых пояснений не требуется. А их удаленное использование еще больше все упрощает: можно легко отследить, что тестер добрался до какого-то момента в сценарии работы приложения, а потом посмотреть где он запнулся. Внедрить в приложение log очень легко, для этого достаточно использовать всем известную директиву #define и использовать стандартный NSLog как и при обычной разработке приложения. Все логи отправляются на сервер асинхронно и не блокируют приложение.
4. Crash report

5. Checkpoints

6. In-App Updates

Все еще не верите в работоспособность этого сервиса? Тогда для сравнения попробуйте провести два отдельных бета-тестирования и сравните результат и КПД, полученный от них. Уверяю вас, вы будете приятно удивлены. Главное преимущество здесь — это минимум операций и затрат времени, а также максимальный выхлоп, который вы получите от ваших действий. Думаю, оно того стоит, ведь качественный и своевременный feedback — гарантия успешного продвижения ваших приложений.