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