在iOS 10上的MSStickerBrowserViewController中,如何判断用户选择了哪个贴纸?

Dav*_*d M 6 ios imessage ios10 msstickerview

我有一个MSStickerBrowserViewController的子类,它包含一个带有几十个MSStickers的MSStickerBrowserView.对于分析,我们试图跟踪贴纸应用程序中最受欢迎的贴纸.有没有办法告诉用户选择了哪个MSSticker?

BJH*_*ios 5

遗憾的是,没有委托方法告诉我们这些信息.我通过制作自己的MSStickerViews的UICollectionView,然后在贴纸视图中添加点击和长按手势识别器来解决这个问题.

确保手势的shouldRecognizeSimultaneouslyWith委托方法返回true,这样他们就不会妨碍.

要跟踪贴纸是否实际发送而非选择,需要更多的工作.点击并发送贴纸非常简单 - MSMessagesAppViewController方法didStartSending和didCancelSending可以告诉您是否从输入视图发送或丢弃了消息.

跟踪去皮和应用贴纸分析比较棘手.将贴纸应用于对话中的先前消息不会触发任何这些方法.到目前为止,我想出的最好的方法是跟踪长按结束的位置,并对是否已发送或取消贴纸做出有根据的猜测.