【发布时间】:2017-01-28 21:39:30
【问题描述】:
我有一个 MSStickerBrowserViewController 的子类,它包含一个带有几十个 MSStickers 的 MSStickerBrowserView。对于分析,我们正在尝试跟踪哪些贴纸在贴纸应用中最受欢迎。有什么方法可以判断用户选择了哪个 MSSticker?
【问题讨论】:
标签: ios ios10 imessage msstickerview
我有一个 MSStickerBrowserViewController 的子类,它包含一个带有几十个 MSStickers 的 MSStickerBrowserView。对于分析,我们正在尝试跟踪哪些贴纸在贴纸应用中最受欢迎。有什么方法可以判断用户选择了哪个 MSSticker?
【问题讨论】:
标签: ios ios10 imessage msstickerview
不幸的是,没有委托方法可以告诉我们这些信息。我通过制作自己的 MSStickerView 的 UICollectionView 来解决这个问题,然后将点击和长按手势识别器添加到贴纸视图中。
确保手势的 shouldRecognizeSimultaneouslyWith 委托方法返回 true,以免妨碍手势。
要跟踪贴纸是否实际发送与选择需要更多工作。点击和发送贴纸非常容易跟踪 - MSMessagesAppViewController 方法 didStartSending 和 didCancelSending 可以告诉您消息是从输入视图发送还是丢弃。
跟踪已剥离和应用的贴纸分析比较棘手。将标签应用到对话中的前一条消息不会触发任何这些方法。到目前为止,我想出的最好办法是跟踪长按结束的位置,并对贴纸是否已发送或取消做出有根据的猜测。
【讨论】: