4D para iOS: Interactúa fácilmente con las aplicaciones nativas de Apple

Traducido automáticamente de Deepl

Con 4D para iOS, siempre pensamos en características amigables para los móviles. El propósito principal es ayudar a los desarrolladores a proporcionar la mejor experiencia de usuario para sus aplicaciones móviles. Y es por eso que, con 4D v19 R3, estamos lanzando controles de entrada de acción.

¿Qué es un control de entrada?

Como recordatorio, con los formateadores que utilizan el código de iOS disponible en la galería, usted puede interactuar fácilmente con las aplicaciones nativas de iOS desde su teléfono móvil. Por ejemplo, puedes marcar automáticamente un número de teléfono haciendo clic en un campo de número de teléfono o abrir la aplicación Safari simplemente haciendo clic en una URL.

Los controles de entrada de acción siguen exactamente la misma lógica. Utilizándolos, añadirás algunos tipos de módulos en tus formularios de acción para interactuar con las aplicaciones nativas de Apple. Varios de ellos ya están disponibles en la galería, como :

  • phoneContact: para buscar el número de teléfono de un contacto directamente desde la aplicación Apple Contact
  • emailContact: para buscar el correo electrónico de un contacto directamente desde la aplicación Apple Contact
  • currentLocation y currentLocationAddress: para rellenar la ubicación actual del usuario de la app con coordenadas (latitud y longitud) y direcciones automáticamente.

Se han diseñado para facilitar la vida de sus usuarios abriendo nuevas perspectivas mediante interacciones fluidas con el entorno iOS.

Y lo mejor de todo es que eres totalmente libre de crear tus propios controles de entrada, integrarlos en tus proyectos móviles y compartirlos con la comunidad.

¿Cómo funciona esto?

Para utilizarlos en tus proyectos móviles, tendrás que incluirlos en tu base de datos para formateadores o formularios personalizados de lista y detalle. Para ello, crea una carpeta especial «inputControls«, descarga el control de entrada que más te convenga de la galería, descomprímelo y arrástralo a la carpeta inputControls.

Este control de entrada de acción estará entonces disponible y seleccionable en la sección Acción, en las propiedades de los parámetros, dependiendo del tipo de su parámetro de acción.

Aquí hay un ejemplo

En nuestro ejemplo, vamos a actualizar un número de teléfono de contacto y un correo electrónico. La novedad aquí es que vamos a obtener los datos de la aplicación Apple Contact. Así que, en ese caso, simplemente utilizamos los controles de entrada de la acción phoneContact y emailContact disponibles en la galería.

Cómo se ve en la aplicación del usuario

El usuario sólo tendrá que seleccionar la acción editContact en el menú de acciones para mostrar el formulario de acción en la aplicación móvil. A partir de ahí, los controles de entrada de la acción le darán la posibilidad de seleccionar un número de teléfono y un correo electrónico desde la aplicación Apple Contact.

blank

Así que como puedes ver, los controles de entrada de acción son otra gran manera de interactuar con las aplicaciones nativas de Apple y añadir una buena interacción en tus aplicaciones móviles.

Cómo se ve en el editor de proyectos

blank

A continuación, tenemos que crear la acción de edición en el método de base de datos On Mobile App Action para que nuestro ejemplo funcione.

Código de la acción de edición 4D

Aquí hay un ejemplo del código 4D en el método de base de datos On Mobile App Action, para la acción de edición de preajustes, utilizando el componente MobileAppServer:

#DECLARE($request : Object)->$response : Object
$action:=MobileAppServer.Action.new($request)
$response:=New object("success"; False)

Case of 
 : ($action.name="editContact") // edit@

  var $entity; $status : Object   
  $entity:=$action.getEntity()

  For each ($key; $request.parameters)
     $entity[$key]:=$request.parameters[$key]
  End for each

  $status:=$entity.save()  // save the entity

  If ($status.success)
    $response.success:=True  // notify App that action success
    $response.dataSynchro:=True  // notify App to refresh the selection
    $response.statusText:="Edited"
			
  Else 
    $response.statusText:="Failed to edit"  // $status.statusText
    $response.errors:=$status.errors
  End if 
End case 

Como recordatorio, el componente MobileAppServer, que está construido en 4D, le da acceso a varios métodos de utilidad para acelerar la codificación del backend de su aplicación móvil 4D.

No dude en darnos su opinión en el foro de 4D, y revise la documentación para más detalles.

David Azancot
• Propietario de Producto 4D for iOS - David Azancot se unió al equipo de Producto 4D como Propietario de Producto en 2017. Está a cargo de escribir las historias de usuario y traducirlas en especificaciones funcionales. Su papel también incluye asegurarse de que las implementaciones de funcionalidades satisfagan las necesidades de los clientes. David se graduó con un MBA en Mercadeo, Internet y Movilidad en el Instituto Leonard De Vinci y comenzó su carrera en 2011 con una empresa móvil de nueva creación, posteriormente adquirida por Madvertise (un grupo de mercadeo móvil). Apasionado de las interfaces móviles, fue la elección natural para desarrollar formatos de anuncios móviles interactivos para el grupo en 2015. Paralelamente, David desarrolla sus propias aplicaciones para iOS y Android desde 2012.