There are no delegate methods to tell us this information, unfortunately. I got around this by creating my own UICollectionView from MSStickerViews, and then add a tap and long gesture recognizers when I click on the stickers.
Make sure the gesture should RecognizeSimultaneousWith the delegate method returns true so that they do not interfere.
To track whether a sticker is actually sent against the selected one, a bit more work is required. Clicking and sending stickers is pretty easy to track - the MSMessagesAppViewController didStartSending and didCancelSending methods can tell you if a message was sent or dropped from the input view.
Tracking analyzed and applied sticker analytics is more complicated. Applying a sticker to a previous message in a conversation does not call either of these methods. So far, the best I've come up with is to keep track of where the long press ended and give a reasonable guess as to whether the sticker was sent or canceled.
source share