Я разрабатываю расширение iMessage, в котором мне нужно открыть контроллер подробного представления, когда пользователь нажимает на сообщение получателя. Но на данный момент не получается отличить это прослушиваемое сообщение от получателя или отправителя (собственное сообщение пользователя).
Как определить, что сообщение в расширении iMessage отправлено отправителем или получателем?
Ответы (2)
MSMessage
содержит senderParticipantIdentifier
.
Вы можете сравнить его с MSConversation
s localParticipantIdentifier
и remoteParticipantIdentifiers
.
Чуть более подробное описание можно найти в видео WWDC 21016.
Существует также альтернатива идентификатора. Вам нужно реализовать некоторую логическую связь:
Мы можем сделать следующие шаги:
i) All the user must have UNIQUE-ID in your application like Passport-No,Bank Account Number.
ii)When send is tap on iMessage in compact mode then Unique-ID must be send to Server along with data like price,game move or so on . Server Fill the entry of Unique ID along with data in there Table.
iii)When User(sender or receiver) Taps the iMessage:- Unique-id on iMessage must be send to server along with the URL which we parse from the iMessage.
Логика начинается на стороне сервера: -
Таким образом, сервер получает уникальный идентификатор после нажатия на iMessage. Таким образом, таблица, в которой мы сохранили данные ранее при создании сообщения, помогает сравнить сохраненный уникальный идентификатор в таблице и получить уникальный идентификатор после нажатия на iMessage . Если оба одинаковы, то мы можем четко сказать, что это сам отправитель, иначе получатель должен нажать на iMessage.
iv)On the response of above third steps :- Server will send the status 0 or 1 : If the server send the status 0 then it means it is sender itself else it is receiver have tap the iMessage .
Если основное приложение состоит из UNIQUE-ID, то мы должны сначала перейти к основному приложению, и мы можем легко поделиться UNIQUE-ID, включив возможности группы и поделившись UNIQUE- Идентификатор группы в расширении iMessage в первый раз, и он будет сохраняться до тех пор, пока приложение не будет существовать.