Démarrer avec Vungle - SDK iOS version 6 (Swift)

Contenu

RGPD : mise en œuvre recommandée

Depuis le 25 mai, le Règlement général sur la protection des données (RGPD) est entré en vigueur dans l'Union Européenne. Les développeurs disposent de deux options pour se conformer au RGPD.

  • Option 1 (recommandée) : l'éditeur contrôle le processus de consentement au RGPD au niveau de l'utilisateur, puis communique le choix de l'utilisateur à Vungle. Pour ce faire, les développeurs peuvent obtenir le consentement de l'utilisateur via leur propre mécanisme, puis utiliser les API Vungle pour mettre à jour ou demander le statut du consentement de l'utilisateur. Consultez la section Instructions relatives à la mise en œuvre recommandée du RGPD pour plus de détails.

  • Option 2 : laisser Vungle gérer les conditions requises. Vungle affichera une boîte de dialogue de consentement avant de lire une publicité pour un utilisateur européen et mémorisera le consentement ou le rejet de l'utilisateur pour les publicités ultérieures.

Avant de commencer

  • Le SDK Vungle iOS version 6.x prend en charge iOS 8 et les versions ultérieures uniquement.
  • Le SDK Vungle iOS version 6.x prend en charge les applications 32 bits et 64 bits.
  • L'intégration exige que vous possédiez un compte Vungle. Si vous ne possédez pas de compte, créez en un avant de continuer.
  • Notre SDK iOS le plus récent (depuis la v. 4.0.8) a été publié pour prendre en charge le nouveau Xcode 8.0. Veillez à utiliser Xcode 8.0 ou supérieur pour garantir une intégration en douceur.
  • Le code source référencé ici est disponible sur notre dépôt public GitHub.

 

Étape 1. Ajouter le cadre Vungle à votre projet Xcode.

Ajouter le VungleSDK.framework à votre projet

Il existe deux façons d'ajouter Vungle à votre projet Xcode : l'utilisation de Cocoapods ou l'intégration manuelle.

Cocoapods

Le SDK Vungle est disponible via Cocoapods. Ajoutez Vungle à votre projet en ajoutant la ligne suivante au podfile de votre projet.

 pod "VungleSDK-iOS", "6.x"

Après ça, une exécution rapide de pod install doit mettre à jour votre projet avec la dernière version de notre iOS SDK. À ce stade, vous pouvez passer à " Étape 2. Supprimer la barre d'état iOS”.

Intégration manuelle

Téléchargez le SDK Vungle version 6.x. Si vous procédez à la mise à jour à partir d'une version précédente du SDK Vungle, commencez par supprimer l'intégralité du répertoire VungleSDK.framework avant d'ajouter le nouveau SDK. Recherchez les fichiers extraits et glissez le répertoire VungleSDK.framework dans Xcode sous Frameworks. Veillez à ajouter le dossier VungleSDK.framework en tant que groupe (dossier jaune) et non comme une référence (dossier bleu).

Ajouter d'autres cadres requis

Le SDK Vungle exige que vous ajoutiez quelques autres frameworks natifs à votre projet, alors cliquez sur votre projet dans Project Navigator et accédez à General → Linked Frameworks and Libraries. Plusieurs de ces frameworks sont déjà inclus par défaut pour la plupart des projets Xcode, mais n'oubliez pas d'ajouter les éléments suivants qui ne sont pas déjà inclus :

  • AdSupport.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreGraphics.framework
  • CoreMedia.framework
  • Foundation.framework
  • libz.dylib ou libz.tbd
  • libsqlite3.dylib ou libsqlite3.tbd
  • MediaPlayer.framework
  • QuartzCore.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • UIKit.framework
  • WebKit.framework
    Remarque : réglez leWebKit.framework statut sur « Facultatif » si vous développez pour iOS 7.

Veillez à ce que le cadre VungleSDK apparaisse dans Cadres et bibliothèques liés.

Ajouter l'indicateur de l'éditeur de liens " -ObjC "

Cliquez sur votre projet dans Navigateur de projet et accédez à Paramètres Build → Liaison → Autres indicateurs de l'éditeur de liens. Ajoutez -ObjC à Autres indicateurs de l'éditeur de liens .

Étape 2. Supprimer la barre d'état iOS

Bien que cette étape ne soit pas obligatoire, nous vous recommandons de supprimer la barre d'état iOS pour veiller à ce que l'interaction et à la présentation de la publicité Vungle fonctionnent correctement. Pour supprimer la barre d'état, ouvrez votre Info.plist, ajoutez la clé Vue apparence de la barre d'état basée sur un contrôleur, et définissez-la sur Non.

Étape 3. Ajouter le code

Créer un fichier d'en-tête de pontage

  1. Créez un nouveau fichier Objective-C dans le projet (File New File [Objective-C File]).
  2. Xcode vous demande si vous voulez créer un fichier d'en-tête de pontage entre Objective-C et Swift. Acceptez cet invite.
  3. Supprimez le nouveau fichier Objective-C (${YOURPROJ}-Bridging-Header.m), mais conservez le fichier d'en-tête de pontage ${YOURPROJ}-Bridging-Header.h.
  4. Dans le fichier d'en-tête de pontage, importez le SDK Vungle en ajoutant ce qui suit :
    #import <VungleSDK/VungleSDK.h> 

Initialiser le SDK

Initialisez le SDK dès que l'application démarre. Si vous utilisez un placement mis en cache automatiquement, cela donne au SDK suffisamment de temps pour mettre en cache une publicité pour le placement mis en cache automatiquement. Vous aurez besoin de l'ID d'application pour initialiser le SDK. Vous trouverez l'ID d'application dans le tableau de bord Vungle.

- (BOOL)startWithAppId:(nonnull NSString *)appID placements:(nonnull NSArray *)placements error:(NSError **)error;

Exemple de code :

let appID = "Your_AppID_Here";
var placementIDsArray:Array<String> = ["<Your_PlacementID_1>", "<Your_PlacementID_2>", "<Your_PlacementID_3>"];

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.start(withAppId: appID, placements: placementIDsArray)
}
catch let error as NSError {
print("Error while starting VungleSDK : \(error.domain)")
return;
}

Lorsque le SDK a été initialisé avec succès, la méthode de fonction de rappel suivante est appelée :

- (void)vungleSDKDidInitialize;

Reportez-vous à la section "Fonctions de rappel du délégué" de cet article.

Vous pouvez également vérifier le statut de l'initialisation du SDK avec la propriété suivante :

@property (atomic, readonly, getter=isInitialized) BOOL initialized;

Lorsque le SDK est initialisé, il met automatiquement en cache une publicité pour le placement sélectionné si vous l'avez sélectionné comme mis en cache automatiquement dans le tableau de bord Vungle. Si vous utilisez cette fonction, nous vous recommandons de sélectionner le placement le plus consulté pour la mise en cache automatique.

Lorsque la publicité est mise en cache avec succès, la méthode de la fonction de rappel vungleAdPlayabilityUpdate est appelée avec l'ID de référence du placement correspondant à votre placement mis en cache automatiquement. (Reportez-vous à la section « Vérifier la disponibilité de la publicité pour un placement » de cet article.)

Charger une publicité pour un placement

Pour les placements différents de ceux mis en cache automatiquement, appelez la méthode loadPlacementWithID pour charger une publicité.

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.loadPlacement(withID: <Your_PlacementID>)
}
catch let error as NSError {
print("Unable to load placement with reference ID :\(<Your_PlacementID>), Error: \(error)")

return
}

Reportez-vous à la section "Vérifier la disponibilité de la publicité pour un placement" de cet article.

Vérifier la disponibilité de la publicité pour un placement

Lorsque le SDK a terminé de mettre en cache une publicité pour un placement, la méthode de fonction de rappel suivante est appelée :

- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(nullable NSString *)placementID; 

Exemple de code :

func vungleAdPlayabilityUpdate(_ isAdPlayable: Bool, placementID: String?) {
if (placementID == <Your_PlacementID>) {
self.playButtonPlacement1.enabled = isAdPlayable;
}
}

Remarque : pour le placement mis en cache automatiquement, cette méthode de fonction de rappel est appelée uniquement lorsqu'une publicité devient disponible. Le SDK continuera de demander une publicité pour le placement mis en cache automatiquement. Pour tous les autres placements, cette méthode de fonction de rappel est appelée en cas d'« échec du chargement » (isAdPlayable renvoie « NON » dans ce cas). Vous pouvez également vérifier la disponibilité de la publicité pour un placement avec la propriété suivante :

- (BOOL)isAdCachedForPlacementID:(nonnull NSString *)placementID;

Jouer une publicité

Après avoir veillé à ce qu'une publicité soit prête pour un placement, vous pouvez la jouer avec la méthode suivante :

- (BOOL)playAd:(UIViewController *)controller options:(nullable NSDictionary *)options placementID:(nullable NSString *)placementID error:( NSError *__autoreleasing _Nullable *_Nullable)error;

Exemple de code :

var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.playAd(self, options: nil, placementID: kVungleTestPlacementID01)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}

Fonctions de rappel du délégué

Vous pouvez recevoir des fonctions de rappel du SDK avec VungleSDKDelegate. Il existe quatre méthodes de fonction de rappel dans le délégué dans lesquelles vous êtes notifié des événements SDK.

Vous pouvez attacher et détacher votre délégué avec :

var sdk:VungleSDK = VungleSDK.shared()
// Attach
sdk.delegate = <yourDelegateInstance> as VungleSDKDelegate
// Detach
sdk.delegate = nil

Remarque : n'oubliez pas d'effacer le délégué enregistré lorsqu'il n'est plus nécessaire afin d'éviter les fuites de mémoire.

La méthode suivante est appelée lorsque le SDK est sur le point de lire une publicité vidéo. Il s'agit d'un excellent emplacement pour mettre en pause le gameplay, les effets sonores, les animations, etc.

- (void)vungleWillShowAdForPlacementID:(nullable NSString *)placementID; 

La méthode suivante est appelée lorsque le SDK est sur le point de fermer une publicité vidéo. Il s'agit d'un excellent emplacement pour récompenser votre utilisateur et relancer le gameplay, les effets sonores, les animations, etc.

- (void)vungleWillCloseAdWithViewInfo:(VungleViewInfo *)info placementID:(NSString *)placementID;

La méthode suivante est appelée lorsque le SDK a fermé une publicité :

- func vungleDidCloseAd(with info: VungleViewInfo, placementID: String);

La classe VungleViewInfo inclut les propriétés suivantes pour vérifier le résultat de la lecture d'une publicité :

@interface VungleViewInfo : NSObject //Représente un BOOL indiquant si la vidéo a été visualisée ou non dans sa totalité. @property (nonatomic, readonly) NSNumber *completedView; //La durée en secondes pendant laquelle l'utilisateur a regardé la vidéo. @property (nonatomic, readonly) NSNumber *playTime; //Représente un BOOL si l'utilisateur a cliqué ou non sur le bouton de téléchargement. @property (nonatomic, readonly) NSNumber *didDownload; @end 

La méthode suivante est appelée lorsque le SDK a modifié le statut de disponibilité de la publicité. Le booléen isAdPlayable indique la nouvelle jouabilité d'un placementID spécifique.

- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(NSString *)placementID;

Reportez-vous à la section "Vérifier la disponibilité de la publicité pour un placement" de cet article.

La méthode suivante est appelée lorsque le SDK est initialisé avec succès :

- (void)vungleSDKDidInitialize;

Options de personnalisation

Utilisez ces options pour personnaliser la lecture de la publicité.

Remarque : les publicités rémunérées sont parfois nommées publicités répondant au mécanisme d'incitation ; les deux termes font toujours référence au même type de publicité. Dans le code SDK et dans notre API de création, nous utilisons le terme « répondant au mécanisme d'incitation ».

Clés d'option

Valeur/type par défaut

Description

VunglePlayAdOptionKeyOrientations

pivoter automatiquement

UIInterfaceOrientationMaskAll

Un NSString représentant un masque de bits avec des orientations

Définit l'orientation de la publicité. Nous vous conseillons d'autoriser les publicités à pivoter automatiquement, même si votre application est en mode portrait. De cette façon, l'utilisateur a la possibilité de visionner des vidéos en plein écran, ce qui permet une meilleure expérience utilisateur. Vous pouvez y parvenir en définissant l'orientation sur un niveau de contrôleur de vue (plutôt qu'un niveau du projet).

VunglePlayAdOptionKeyUser

nil

NSString

Définit votre ID d'utilisateur. La valeur est transmise au serveur Vungle, puis envoyée à votre serveur via un système de fonction de rappel serveur-à-serveur si un placement est défini sur "Récompensée".

VunglePlayAdOptionKeyIncentivizedAlertTitleText

nil

NSString

Chaîne utilisée comme titre du dialogue d'alerte présenté lorsque un utilisateur ferme prématurément une expérience de lecture d'une publicité envoyée par le mécanisme d'incitation.

VunglePlayAdOptionKeyIncentivizedAlertBodyText

"Voulez-vous vraiment ignorer cette publicité ? Si oui, vous pourriez ne pas obtenir votre récompense"

NSString

Chaîne utilisée en tant que corps du texte du dialogue d'alerte lorsqu'un utilisateur ferme prématurément une expérience de lecture d'une publicité envoyée par le mécanisme d'incitation.

VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText

"Fermer"

NSString

Titre de la chaîne lorsque le texte du bouton fermer du dialogue d'alerte est présenté lorsqu'un utilisateur ferme prématurément une expérience de publicité envoyée par le mécanisme d'incitation.

VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText

"Continuer"

NSString

Titre de la chaîne lorsque le texte du bouton fermer du dialogue d'alerte est présenté lorsqu'un utilisateur ferme prématurément une expérience de publicité envoyée par le mécanisme d'incitation.

Exemple de code :

let options: NSDictionary = NSDictionary(dictionary: [VunglePlayAdOptionKeyUser: "test_user_id",
VunglePlayAdOptionKeyIncentivizedAlertBodyText: "If the video isn't completed you won't get your reward! Are you sure you want to close early?",
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText: "Close",
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText: "Keep Watching",
VunglePlayAdOptionKeyIncentivizedAlertTitleText: "Careful!"])
do {
try self.sdk.playAd(self, options: (options as! [AnyHashable : Any]), placementID: PlacementID)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}

Option Muet

L'instance SDK Vungle offre la possibilité de jouer des publicités en désactivant le son. Vous pouvez définir la propriété Muet sur true avant d'envoyer un playAd().

Exemple de code :

var sdk:VungleSDK = VungleSDK.shared()
sdk.muted = true

Remarque : cette option s'applique uniquement au type de publicité standard. L'option Muet pour les publicités Dynamic Template peut être configurée sur le tableau de bord.

Déboguer

Si vous avez besoin d'informations sur le SDK, vous pouvez les obtenir grâce à cette propriété :

- (NSDictionary *)debugInfo;

Si vous souhaitez que le SDK produise des journaux, utilisez la méthode suivante :

- (void)setLoggingEnabled:(BOOL)enable;

Protocole VungleSDKLogger

@protocol VungleSDKLogger - (void)vungleSDKLog:(NSString*)message; @end

Le singleton VungleSDK envoie des événements de journalisation à n'importe quelle classe associée suivant le protocole VungleSDKLogger. L'événement du journal contient la valeur NSString qui est également imprimée sur la console (si l'enregistrement a été activé). Pour connecter votre enregistreur d'événements, utilisez ce qui suit :

- (void)attachLogger:(id<VungleSDKLogger>)logger;

Comme mentionné ci-dessus, il est important de supprimer les enregistreurs connectés du SDK Vungle. Les enregistreurs peuvent être déconnectés en utilisant l'approche suivante :

- (void)detachLogger:(id<VungleSDKLogger>)logger;

Instructions relatives à la mise en œuvre recommandée du RGPD

Pour utiliser les API Vungle pour mettre à jour ou demander le statut du consentement de l'utilisateur (comme recommandé dans l'Option 1 de la section RGPD : mise en œuvre recommandée), utilisez ces fonctions :

//This function returns the current consent status recorded in SDK. If status is not known return 0. sdk = VungleSDK.shared() sdk?.getCurrentConsentStatus() //This function sets the current consent status recorded in the SDK sdk = VungleSDK.shared() sdk?.update(status: VungleConsentStatus) 

VungleConsentStatus est une énumération contenant deux états :

  • accepté (VungleConsentStatus.accepted)
  • refusé (VungleConsentStatus.denied)
Vous avez d’autres questions ? Envoyer une demande

Commentaires