Je développe une application de chat en ce sens que j'ai besoin de montrer l'état du message comme application WhatsApp pour que j'ai essayé XEP-0333 (Chat Marker), mais face à un problème comme.Comment implémenter XEP-0333 dans une application iOS?
1) Après avoir reçu le marqueur reçu de l'autre extrémité XMPPMessage Archive Message non mis à jour avec le marqueur Reçu (Dans les données de base, l'état du marqueur de chat de message n'est pas mis à jour).
2) Comment implémenter la logique Marker affichée? (Ce qui signifie pour chaque message que nous devons envoyer marqueur affiché ou pour une seule boîte de dialogue à la fois.)
XEP Lien: XEP-0333
code:
//(Sender Part)
let completeMessage = DDXMLElement.element(withName: "message") as! DDXMLElement //(In that i have set id,body,to and type as chat)
let msgObj = XMPPMessage(from: completeMessage)
msgObj?.addMarkableChatMarker()
xmppStream?.send(msgObj)
//(Receiver Part)
didReceivedMessage - Method
//*Check One condition*
if message.isChatMessageWithBody() && message.isErrorMessage() == false {
if (message.hasChatMarker() == true){
printLog("Message ID\(message.elementID())")
let msgElement = XMPPMessageMng.getChatMessageElement(recipient: message.from().bare(), thread: "")
let threadElement = DDXMLElement.element(withName: "thread") as! DDXMLElement
threadElement.stringValue = "Thread"
msgElement.addChild(threadElement)
let msgReceived = XMPPMessage(from: msgElement)
msgReceived?.addReceivedChatMarker(withID: message.elementID())
xmppStream.send(msgReceived)
}
}
else{
if (message.hasMarkableChatMarker() == true){
printLog("Chat Marker ID\(message.chatMarkerID())")
}else if (message.hasReceivedChatMarker() == true){
printLog("Chat Marker ID\(message.chatMarkerID())")
}
}
// Pour Marker Display I ont fait ci-dessous les choses. - Lorsque vous chargez un message à partir d'une archive de messages avec JID. loadArchivedMessagesFromJID - Méthode
//message as XMPPMessageArchiving_Message_CoreDataObject
let msgReceived = XMPPMessage(from: msgElement)
msgReceived?.addDisplayedChatMarker(withID: message.message.elementID())
xmppStream.send(msgReceived)
Permettez-moi de savoir de quelle manière nous pouvons mettre en œuvre le droit protocole marqueur chat.
Dev Tools: Xcode 8.3 (Swift 3.0), serveur: ejabberd
Donc atteindre la fonctionnalité ci-dessus que XEP je dois implémenter? –