我正在为iOS开发一个消息传递应用程序,我希望在应用程序上显示由用户状态传递和读取的消息。同一个就像whatsapp。当交付给服务器时,应用程序将显示一个刻度标记,当消息从服务器发送到目标时,应用程序将显示两个刻度标记。
我是多么惊讶该应用程序:当应用程序未激活时,不会调用didReceiveRemoteNotification!
当应用未激活时,是否真的无法在没有用户交互的情况下跟踪消息传递?其他人建议在服务器上保留消息日志并在应用程序打开时发送消息,但这仍然需要用户交互。
使用枚举来显示消息状态。 enum msg_status {已发送案例,已收到案例,案例已见}
要获取消息的可访问性状态,您可以使用服务器响应。如果消息发送成功,请显示一个勾选。将状态变量设置为.sent
要获得两个滴答,请使用通知成功响应。如果服务器成功传递通知,请将状态变量设置为.received。
要获得类似于WhatsApp的蓝色标记,请使用诸如msg_seen(userId:Int)之类的函数。在Message ViewController的viewDidAppear()方法上调用该函数,并在msg_seen()方法的主体中将状态更新为.seen