Aller au contenu principal

Ajouter un emplacement

Avant de commencer

Assurez-vous que le SDK iOS de Rokt a déjà été intégré à votre application en suivant les étapes listées ici.

Emplacements de superposition

Exécutez le SDK iOS de Rokt dans votre ViewController souhaité et ajoutez tous les attributs clients appropriés. Le code d'exemple ci-dessous utilise ViewDidLoad pour afficher un emplacement de superposition Rokt.

Le SDK fournit des événements de rappel optionnels pour le chargement et le déchargement de la vue.

import Rokt_Widget

class OrderConfirmationViewController: UIViewController {

// appelez cette fonction lorsque l'emplacement doit être affiché
func showWidget() {
let attributes = ["email": "j.smith@example.com",
"firstname": "Jenny",
"lastname": "Smith",
"mobile": "(555)867-5309",
"postcode": "90210",
"country": "US"]

Rokt.execute(viewName: "RoktExperience", attributes: attributes, onLoad: {
// Rappel optionnel pour le chargement de l'emplacement Rokt
}, onUnLoad: {
// Rappel optionnel pour le déchargement de l'emplacement Rokt
}, onShouldShowLoadingIndicator: {
// Rappel optionnel pour afficher un indicateur de chargement
}, onShouldHideLoadingIndicator: {
// Rappel optionnel pour masquer un indicateur de chargement
})
}
}

Fonctions optionnelles

FonctionObjectif
Rokt.close()Utilisé pour fermer automatiquement les placements en superposition.

Placements intégrés

Modifier votre Storyboard

Si vous utilisez SwiftUI, veuillez consulter les instructions dans le tableau SwiftUI ci-dessous. Si vous n'utilisez pas SwiftUI, veuillez utiliser les instructions suivantes.

Dans votre Storyboard, ajoutez une vue et placez-la dans votre ViewController:

ViewController

Dans la classe custom, définissez RoktEmbeddedView comme la classe de la vue. Ensuite, définissez les contraintes supérieures, principales et secondaires pour correspondre à l'endroit où le placement intégré sera affiché. Pour la hauteur, nous recommandons d'ajouter une contrainte de hauteur de zéro.

RoktEmbeddedView ne peut modifier que sa propre hauteur en fonction du contenu du placement. Il y a un rappel dans la méthode execute pour notifier lorsque la hauteur a changé et retourner la nouvelle hauteur.

L'image ci-dessous illustre la manière la plus simple de définir RoktEmbeddedView en utilisant la mise en page automatique.

  1. Placez RoktEmbeddedView comme Classe de vue et Rokt_Widget comme Module.

  2. Définissez les contraintes supérieures.

  3. Définissez les contraintes principales.

  4. Définissez les contraintes secondaires.

  5. Choisissez les contraintes de hauteur et de largeur.

  6. Définissez la contrainte de hauteur.

  7. Ajoutez des contraintes à la vue.

RoktEmbeddedView

remarque

Le RoktEmbeddedView peut également être créé en code et inclus dynamiquement dans la mise en page.

Exécuter le SDK Rokt

Exécutez le SDK Rokt pour iOS dans votre ViewController souhaité et ajoutez tous les attributs client appropriés. Le code d'exemple ci-dessous utilise ViewDidLoad pour lancer le placement.

Le SDK fournit des événements de rappel optionnels pour lorsque la vue se charge et se décharge.

import Rokt_Widget
class OrderConfirmationViewController: UIViewController {

// lié à RoktEmbeddedView créé à l'étape 5 ou il pourrait être créé par programme
@IBOutlet weak var roktEmbeddedView: RoktEmbeddedView!

...

// appelez cette fonction lorsque le placement doit être affiché
func showWidget() {
let attributes = ["email": "j.smith@example.com",
"firstname": "Jenny",
"lastname": "Smith",
"mobile": "(555)867-5309",
"postcode": "90210",
"country": "US"]

let placements: [String : RoktEmbeddedView] = ["RoktEmbedded1": roktEmbeddedView]

Rokt.execute(viewName: "RoktEmbeddedExperience", attributes: attributes, placements: placements, onLoad: {
// Rappel optionnel pour lorsque le placement Rokt se charge
}, onUnLoad: {
// Rappel optionnel pour lorsque le placement Rokt se décharge
}, onShouldShowLoadingIndicator: {
// Rappel optionnel pour afficher un indicateur de chargement
}, onShouldHideLoadingIndicator: {
// Rappel optionnel pour masquer un indicateur de chargement
}, onEmbeddedSizeChange: { selectedPlacement, widgetHeight in
// Rappel optionnel pour obtenir selectedPlacement et la hauteur requise par le placement chaque fois que la hauteur du placement change
})
}
}
remarque

Pour mettre à jour le nom de la vue RoktExperience ou le nom du placement RoktEmbedded1 avec une valeur différente, contactez votre gestionnaire de compte Rokt pour vous assurer que les placements Rokt sont configurés de manière cohérente.

Composant SwiftUI

À partir de la version majeure 4 du SDK iOS de Rokt, vous pouvez ajouter une mise en page Rokt en utilisant le composant RoktLayout. Cela supprime la nécessité d'appeler Rokt.execute et prend en charge une intégration déclarative plus moderne en utilisant SwiftUI.

Ajouter le composant

import SwiftUI
import Rokt_Widget

struct OrderConfirmationSwiftUI: View {
let attributes: [String: String]
let pageIdentifier: String
let location: String

var body: some View {
VStack(alignment: .leading) {

RoktLayout(sdkTriggered: true,
viewName: pageIdentifier,
locationName: location, // Si vous utilisez une mise en page intégrée
attributes: attributes,
onLoad: {
// Callback optionnel pour lorsque le placement Rokt se charge
}, onUnLoad: {
// Callback optionnel pour lorsque le placement Rokt se décharge
},onShouldShowLoadingIndicator: {
// Callback optionnel pour afficher un indicateur de chargement
}, onShouldHideLoadingIndicator: {
// Callback optionnel pour masquer un indicateur de chargement
})

}.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
}
}

remarque

Vous pouvez utiliser le composant RoktLayout pour les mises en page intégrées et superposées.

Événements

Le SDK fournit les événements sur chaque page via l'API Rokt.events.

Rokt.events(viewName: "viewName") { roktEvent in
print("Événement Rokt reçu \(roktEvent)")
}

Objets d'événement

ÉvénementDescriptionParamètres
ShowLoadingIndicatorDéclenché avant que le SDK appelle le backend de Rokt
HideLoadingIndicatorDéclenché lorsque le SDK reçoit un succès ou un échec du backend de Rokt
OfferEngagementDéclenché lorsque l'utilisateur s'engage avec l'offreplacementId: String
PositiveEngagementDéclenché lorsque l'utilisateur s'engage positivement avec l'offreplacementId: String
FirstPositiveEngagementDéclenché lorsque l'utilisateur s'engage positivement avec l'offre pour la première foisplacementId: String, setFulfillmentAttributes: func (attributes: [String: String])
PlacementInteractiveDéclenché lorsqu'un emplacement a été rendu et est interactifplacementId: String
PlacementReadyDéclenché lorsqu'un emplacement est prêt à être affiché mais n'a pas encore rendu de contenuplacementId: String
PlacementClosedDéclenché lorsque l'utilisateur ferme un emplacementplacementId: String
PlacementCompletedDéclenché lorsque la progression de l'offre atteint la fin et qu'il n'y a plus d'offres à afficherplacementId: String
PlacementFailureDéclenché lorsqu'un emplacement n'a pas pu être affiché en raison d'une défaillanceplacementId: String (optionnel)

Callbacks

Le SDK iOS de Rokt prend en charge les callbacks suivants qui sont passés dans execute :

onLoad

Le callback onLoad sera appelé lorsque le placement sera chargé et interactif. Ce callback ne fournit aucun argument et ne retourne aucune valeur.

onShouldShowLoadingIndicator

Le onShouldShowLoadingIndicator sera appelé lors d'un appel execute réussi, juste avant que le SDK ne déclenche un appel au backend de Rokt. Il peut être utilisé pour afficher des vues de progression des indicateurs de chargement en attendant que le placement se charge. Il ne nécessite aucun argument et ne retourne aucune valeur.

remarque

Le comportement de ce callback a changé entre la version majeure 3 et la version majeure 4 du SDK iOS de Rokt. Il n'y a plus de délai d'une seconde avant l'exécution du callback. Si vous utilisez ces callbacks dans la version majeure 3 et que vous passez à la version majeure 4, testez le comportement pour vous assurer que l'expérience utilisateur n'est pas impactée. Vous pouvez créer un comportement de délai qui convient aux besoins de vos applications si nécessaire.

onShouldHideLoadingIndicator

Le callback onShouldHideLoadingIndicator sera appelé lorsque le SDK obtient une réponse de succès ou d'échec du backend de Rokt. Il peut être utilisé pour annuler les vues de progression ou les indicateurs de chargement. Il ne nécessite aucun argument et ne renvoie aucune valeur.

onUnload

Le callback onUnload sera appelé lorsque le SDK ferme le placement. Il sera également déclenché si l'appel d'exécution échoue. Il ne nécessite aucun argument et ne renvoie aucune valeur.

onEmbeddedSizeChange

Le callback onEmbeddedSizeChange sera appelé lorsque la hauteur du placement ou de la mise en page intégrée sélectionnée subit un changement. Il inclut des arguments pour le placement/la mise en page sélectionné(e) et la nouvelle hauteur, mais ne renvoie aucune valeur.

Cet article vous a-t-il été utile ?