Hits hors connexion

 

Avant-propos

Le SDK AT Internet vous permet de sauvegarder sur l’appareil de l’utilisateur les hits qui n’ont pu être envoyés suite à la perte de connexion Internet. Le SDK utilise pour cela, la technologie SQLite fourni par Android.

L’utilisation de cette fonctionnalité est soumise à la souscription d’une option. Cette fonctionnalité est susceptible d’augmenter l’espace disque utilisé par votre application sur l’appareil de l’utilisateur.

 

Configuration du mode de stockage

Le mode de gestion du stockage est directement configurable depuis l’interface Tag Composer ou via la méthode setConfig du Tracker

Trois modes sont disponibles :

  • Required : Les hits ne sont stockés que lorsqu’une perte de connexion est détectée.
  • Always : Les hits ne sont jamais envoyés. Ils sont directement stockés sur l’appareil.
  • Never (par défaut) : Les hits ne sont jamais stockés. Si une perte de connexion est détectée en même temps que la tentative d’envoi d’un hit, celui-ci sera perdu.

Pour modifier le mode de stockage des hits, ajouter le code suivant à l’endroit souhaité :

Sauvegarder les hits lors de la perte de connexion :

tracker.setConfig("storage", "required", null);

Toujours sauvegarder les hits :

tracker.setConfig("storage", "always", null);

Ne jamais sauvegarder les hits :

tracker.setConfig("storage", "never", null);
 

Envoi des hits sauvegardés

Vous pouvez à tout moment (si une connexion Internet est établie), demander l’envoi des hits stockés.

Pour cela, le Tracker expose un objet Offline proposant une méthode dispatch :

ATInternet.getInstance().getDefaultTracker().Offline().dispatch();

Cette méthode envoie de manière asynchrone l’ensemble des hits stockés et les supprime si l’envoi a réussi. Si l’envoi d’un hit a échoué, deux nouvelles tentatives seront effectuées lors du prochain envoi de hit. Si toutes les tentatives ont échoué, le hit sera supprimé du stockage.

Vous pouvez grâce à cette méthode, décider du moment d’envoi de vos hits. En configurant le mode de stockage à always il vous suffira ensuite d’appeler la méthode send pour déclencher l’envoi au moment souhaité.

 

Récupération des hits

 

Listing

Vous pouvez à tout moment récupérer la liste des hits sauvegardés. Pour cela, la méthode get de la classe Offline est mise à disposition dans le Tracker.

ArrayList<Hit> hits = ATInternet.getInstance().getDefaultTracker().Offline().get();

Cette méthode retourne une liste d’objet Hit. Cet objet possède les propriétés suivantes :

  • url : URL du hit
  • creationDate : date de création du hit
  • retryCount : nombre d’essai d’envoi du hit
  • isOffline : indique que le hit provient du stockage
  • type : type de hit (e.g. Screen, Touch …)
 

Premier hit sauvegardé

Vous pouvez récupérer le premier hit sauvegardé via la méthode oldest de la classe Offline:

Hit hit = ATInternet.getInstance().getDefaultTracker().Offline().oldest();
 

Dernier hit sauvegardé

Vous pouvez récupérer le dernier hit sauvegardé via la méthode latest de la classe Offline:

Hit hit = ATInternet.getInstance().getDefaultTracker().Offline().latest();
 

Comptage

Vous pouvez à tout moment obtenir le nombre de hits stockés en base de données. Pour cela, la classe Offline expose une méthode count :

int nbHits = ATInternet.getInstance().getDefaultTracker().Offline().count();
 

Suppression des hits

Vous pouvez supprimer manuellement les hits stockés grâce aux 3 méthodes statiques suivantes :

  1. delete : Supprime tous les hits stockés

    ATInternet.getInstance().getDefaultTracker().Offline().delete();
  2. delete(int daysCount) : Supprime les hits plus vieux que le nombre de jours indiqués

    ATInternet.getInstance().getDefaultTracker().Offline().delete(2);
  3. delete(Date olderThan) : Supprime les hits plus vieux que la date passée en paramètre

    ATInternet.getInstance().getDefaultTracker().Offline().delete(new Date());
Dernière mise à jour : 05/12/2018