В MSStickerBrowserViewController на iOS 10, как я могу узнать, какую наклейку выбрал пользователь?

У меня есть подкласс MSStickerBrowserViewController, который содержит MSStickerBrowserView с парой десятков MSStickers. Для аналитики мы пытаемся отследить, какие стикеры наиболее популярны в приложении стикеров. Есть ли способ сказать, какой MSSticker был выбран пользователем?

1 ответ

Решение

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

Удостоверьтесь, что метод mustRecognizeSimralleluallyWith жеста возвращает true, чтобы они не мешали.

Чтобы отследить, действительно ли стикер отправлен или выбранный, требуется немного больше работы. Нажатие и отправка стикера довольно просто отследить - методы MSMessagesAppViewController didStartSending и didCancelSending могут сказать вам, было ли сообщение отправлено или отклонено из представления ввода.

Отслеживать очищенные и нанесенные стикеры аналитики сложнее. Применение стикера к предыдущему сообщению в беседе не запускает ни один из этих методов. Лучшее, что я придумала до сих пор, - это отслеживаю, где закончилось долгое нажатие, и сделаю обоснованное предположение о том, была ли отправлена ​​или отменена наклейка.

Другие вопросы по тегам