我使用socket.io在ionic3中创建了一个聊天应用程序。我被困在一个情况下,当用户没有网络时发送消息。像WhatsApp一样,它应该在网络可用时自动发送。有什么方法可以在Ionic3中做到吗?
我已经安装了插件ionic cordova plugin add cordova-plugin-background-mode
。您能帮我如何在ionic3中做到吗?
请按照解决步骤
- 从Ionic-Native导入网络和背景模式插件
- 创建听众以观看应用网络连接(在线和离线(。
- 还创建听众以观看应用程序背景模式(开/关(。
- 如果应用程序离线启用背景模式。
- 事件上的背景模式内的内部模式进行逻辑,以将数据保存在LocalStorage或IndexDB中,无论您喜欢什么。例如:将带有消息有效载荷的新消息推向您定义的数组。然后将数组保存到indexDB。
- 如果应用程序在线,请检查任何数据以在侦听器上的网络内与不同步。将数据背景同步到服务器并从本地清除数据。
- 还启用了背景模式,如果已经启用了它,请禁用它。
您可以使用文档中的此插件安装背景模式。
您可以按以下方式使用它:
import { Network } from '@ionic-native/network';
....
constructor(private network: Network) { }
....
let connectSubscription = this.network.onConnect().subscribe(() => {
console.log('network connected!');
// YOUR LOGIC HERE
});