Curso App restaurant con pedidos en Flutter
Cómo Enviar Pedidos de Restaurante a WhatsApp en Flutter: Implementación de un Servicio Eficiente
Aprende a integrar la funcionalidad de enviar pedidos de un restaurante a través de WhatsApp en tu aplicación Flutter. En esta lección, exploramos la clase WhatsAppService, que utiliza el paquete url_launcher para generar un mensaje detallado con los artículos del carrito de compras
Implementar un servicio en Flutter para enviar un pedido de un restaurante a través de WhatsApp.
Aprende a integrar la funcionalidad de enviar pedidos de un restaurante a través de WhatsApp en tu aplicación Flutter. En esta lección, exploramos la clase WhatsAppService
, que utiliza el paquete url_launcher
para generar un mensaje detallado con los artículos del carrito de compras. Descubre cómo construir la URL adecuada y enviar el pedido de manera sencilla y eficiente. Ideal para desarrolladores que buscan mejorar la experiencia del usuario en aplicaciones de comercio electrónico.
dart
import 'package:apprestaurant/providers/cart_provider.dart';
import 'package:url_launcher/url_launcher.dart';
cart_provider.dart
: Proveedor para gestionar los datos del carrito de compras.url_launcher.dart
: Paquete que permite abrir enlaces en aplicaciones externas, como WhatsApp.WhatsAppService
dart
class WhatsAppService {
static const String numero = "51xxxxxxxxxx"; // Número de teléfono para enviar el pedido
numero
: Almacena el número de teléfono con el código de país.sendOrderToWhatsApp
dart
static Future<void> sendOrderToWhatsApp(CartProvider cart) async {
cart
de tipo CartProvider
, que contiene los detalles del pedido.dart
String message = _generateOrderMessage(cart);
_generateOrderMessage
para crear un mensaje que incluya todos los detalles del pedido.dart
String url = "https://wa.me/$numero?text=${Uri.encodeComponent(message)}";
dart
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'No se puedo abrir WhatsApp. no esta instalado';
}
_generateOrderMessage
dart
static String _generateOrderMessage(CartProvider cart) {
StringBuffer buffer = StringBuffer();
buffer.write("NUEVO PEDIDO\n");
buffer.writeln("Detalles del Pedido\n");
StringBuffer
para construir el mensaje.dart
for(var item in cart.items) {
buffer.writeln(
"${item.qty} * ${item.name} - \$${(item.price * item.qty).toStringAsFixed(2)}"
);
}
dart
buffer.writeln("\n SubTotal: \$${cart.subTotal.toStringAsFixed(2)}");
buffer.writeln("\n TAX (18%): \$${cart.tax.toStringAsFixed(2)}");
buffer.writeln("\n Total: \$${cart.total.toStringAsFixed(2)}");
dart
return buffer.toString();
}
StringBuffer
en un String
y lo devuelve.La clase WhatsAppService
permite enviar un pedido a través de WhatsApp, construyendo un mensaje detallado a partir de los elementos en el carrito. Utiliza el paquete url_launcher
para abrir WhatsApp y enviar el mensaje al número especificado.
2321 visitas
« Capítulo 14 – Carrito de Compra: Cálculo totales
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024