Inicio
Documentación
Recursos
Certificaciones
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Comunidad

Recibe las últimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Framework Flutter - Integración Cross-Platform - Mercado Pago Developers

Búsqueda inteligente powered by OpenAI 

Framework Flutter

Para comenzar a operar localmente con Redelcom utilizando una App Flutter, sigue los pasos debajo.

Instalar y configurar plugins

Para poder establecer la comunicación con el sistema RDCPass, deberás instalar los plugins agregando el siguiente bloque a pub.dev:

flutter


Package_info 0.4.3+4 => (https:// pub.dev/packages/package_info) 

android_intent 0.3.7+7 => (https:// pub.dev/packages/android_intent)
 

Una vez instalados, deberás iniciar la configuración importando los paquetes al main.dart :

flutter


import 'package:package_info/package_info.dart'; 
import 'package:android_intent/android_intent.dart';  

Enviar y recibir intent desde una App nativa en Android

Para procesar pagos, deberás primero implementar el método que te permitirá enviar un intent a una App nativa en Android:

flutter


Future<void> _intentSend() async { 
 		PackageInfo packageInfo = await PackageInfo.fromPlatform();  setState(() { 
 			String packageName = packageInfo.packageName; 
 			final AndroidIntent intent = AndroidIntent( 
 			action: 'android.intent.action.SEND', 
 			package: 'redelcom.cl.rdcpass ', 
 			arguments: <String, dynamic>{ 
 				'packageName': packageName, 
 				'className': '$packageName.MainActivity', 
 				'monto': '200', //pasar la cantidad del envío 
 			}, 
 			componentName: 'redelcom.cl.rdcpass.MainActivity', 
 			); 
 			intent.launch(); 
 		}); 
 }

Para poder obtener la respuesta a ese intent deberás, primero, agregar el siguiente bloque al main.dart:

flutter


static const platform = const MethodChannel('app.channel.shared.data'); String data = "No hay datos"; 

@Override 
void initState() { 
	super.initState(); 
	getSharedIntent(); 
} 
 getSharedIntent() async { 
 		var sharedData = await platform.invokeMethod("getSharedText"); 
 		if (sharedData != null) { 
			setState(() { 
				data = sharedData; 
				// Do something… 
 			}); 
 		} 
 } 
 

Luego, agrega el siguiente bloque en MainActivity.java:

flutter


private String sharedIntent; 
private static final String CHANNEL = "app.channel.shared.data"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
 	super.onCreate(savedInstanceState); 
 	try { 
 			Intent intent = getIntent(); 
 			String action = intent.getAction(); 
 			if (action != null && Intent.ACTION_SEND.equals(action)) {  
					handleSend(intent); 
 			} 
 	} catch (Exception e) { 
 			e.printStackTrace(); 
 	} 
}
@Override 
 public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {  
		GeneratedPluginRegistrant.registerWith(flutterEngine); 
 		new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)  .setMethodCallHandler( 
 		(call, result) -> { 
			if (call.method.contentEquals("getSharedText")) { 
				result.success(sharedIntent); 
				sharedIntent = null; 
			} 
 		} 
 		); 
 } 
 void handleSend(Intent intent) { 
 		sharedIntent = intent.getStringExtra(Intent.EXTRA_TEXT); 
 } 

Por último, agrega el intent-filter (Activity) al AndroidManifest.xml de la app compilada:

flutter

<intent-filter> 
	<action android:name="android.intent.action.SEND" /> 
	<category android:name="android.intent.category.DEFAULT" /> 
	<data android:mimeType="text/*" /> 
</intent-filter>

¡Y listo! Ya puedes comenzar a operar con Redelcom desde tu app Flutter.