4D pour iOS : Interagissez facilement avec les applications natives d’Apple.

Traduit automatiquement de Deepl

Avec 4D pour iOS, nous pensons toujours à des fonctionnalités adaptées aux mobiles. L’objectif principal est d’aider les développeurs à offrir la meilleure expérience utilisateur possible pour leurs applications mobiles. Et c’est pourquoi, avec 4D v19 R3, nous livrons des contrôles d’entrée d’action.

Qu’est-ce qu’un contrôle d’entrée ?

Pour rappel, avec les formateurs utilisant le code iOS disponibles dans la galerie, vous pouvez facilement interagir avec les applications iOS natives depuis votre téléphone portable. Par exemple, vous pouvez composer automatiquement un numéro de téléphone en cliquant sur un champ de numéro de téléphone ou ouvrir l’application Safari en cliquant simplement sur une URL.

Les contrôles de saisie d’action suivent exactement la même logique. En les utilisant, vous ajouterez des sortes de modules dans vos formulaires d’action pour interagir avec les applications natives d’Apple. Plusieurs d’entre eux sont déjà disponibles dans la galerie tels que :

  • phoneContact: pour rechercher le numéro de téléphone d’un contact directement depuis l’app Contact d’Apple.
  • emailContact: pour rechercher l’email d’un contact directement depuis l’application Apple Contact
  • currentLocation et currentLocationAddress: pour remplir automatiquement la position actuelle de l’utilisateur de l’application avec des coordonnées (latitude et longitude) et des adresses.

Ils ont été conçus pour faciliter la vie de vos utilisateurs en leur ouvrant de nouvelles perspectives grâce à des interactions fluides avec l’environnement iOS.

Et surtout, vous êtes totalement libre de créer vos propres contrôles d’entrée, de les intégrer dans vos projets mobiles et de les partager avec la communauté !

Comment cela fonctionne-t-il ?

Pour les utiliser dans vos projets mobiles, vous devrez les inclure dans votre base de données pour les formateurs ou les formulaires de liste et de détail personnalisés. Pour ce faire, créez un dossier spécial « inputControls », téléchargez le contrôle de saisie qui vous convient le mieux dans la galerie, décompressez-le et faites-le glisser dans le dossier inputControls.

Ce contrôle d’entrée d’action sera alors disponible et sélectionnable dans la section Action, dans les propriétés du paramètre, selon le type de votre paramètre d’action.

Voici un exemple

Dans notre exemple, nous allons mettre à jour le numéro de téléphone et l’email d’un contact. La nouveauté ici est que nous allons obtenir des données de l’application Apple Contact. Donc, dans ce cas, nous utilisons simplement les contrôles d’entrée d’action phoneContact et emailContact disponibles dans la galerie.

Comment cela se présente sur l’application de l’utilisateur

L’utilisateur devra simplement sélectionner l’action editContact dans le menu d’action pour afficher le formulaire d’action dans l’application mobile. À partir de là, les contrôles de saisie de l’action lui donneront la possibilité de sélectionner un numéro de téléphone et une adresse électronique dans l’application Contact d’Apple.

blank

Comme vous pouvez le constater, les contrôles d’entrée d’action sont un autre excellent moyen d’interagir avec les applications Apple Native et d’ajouter une interaction agréable dans vos applications mobiles.

Comment cela se présente dans l’éditeur de projet

blank

Ensuite, nous devons créer l’action de modification dans la méthode de base de données On Mobile App Action pour que notre exemple fonctionne.

Code 4D de l’action d’édition

Voici un exemple de code 4D dans la méthode de base de données On Mobile App Action, pour l’action de modification du préréglage, en utilisant le composant 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 

Pour rappel, le composant MobileAppServer, intégré à 4D, vous donne accès à différentes méthodes utilitaires pour accélérer le codage du backend de votre application mobile 4D.

N’hésitez pas à nous faire part de vos commentaires sur le forum 4D, et consultez la documentation pour plus de détails !

David Azancot
- 4D for iOS Product Owner -David Azancot a rejoint l'équipe de 4D Product en tant que Product Owner en 2017. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles. Son rôle consiste également à s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients.David est diplômé d'un MBA en marketing, Internet et mobilité de l'Institut Léonard De Vinci et a commencé sa carrière en 2011 au sein d'une start-up mobile, rachetée ensuite par Madvertise (groupe de marketing mobile). Passionné par les interfaces mobiles, il a été le choix naturel pour développer des formats publicitaires mobiles interactifs pour le groupe en 2015. En parallèle, David développe ses propres applications iOS et Android depuis 2012.