在iOS 10的MSStickerBrowserViewController中,我如何知道用户选择了哪个贴纸



我有一个MSStickerBrowserViewController的子类,它包含一个MSStickerBrowserView和几个mssticker。对于分析,我们试图跟踪哪些贴纸是最受欢迎的贴纸应用程序。有没有办法告诉哪个MSSticker是由用户选择的?

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

确保手势的shouldrecognizesimultanouslywith委托方法返回true,这样它们就不会碍事了。

跟踪标签是实际发送还是选择需要更多的工作。点击和发送贴纸是非常简单的跟踪- MSMessagesAppViewController方法didStartSending和didCancelSending可以告诉你消息是从输入视图发送或丢弃的。

跟踪剥离和应用的标签分析是棘手的。将标签应用于对话中的前一条消息不会触发任何这些方法。到目前为止,我能想到的最好的办法就是追踪长新闻在哪里结束,并对贴纸是否被发送或取消做出有根据的猜测。