Démarrage avec Vungle - iOS SDK version 5

Contenu

Avant de commencer

  • Le SDK Vungle iOS version 5 prend en charge iOS 8+.
  • Le SDK Vungle iOS version 5 a été testé avec iOS 11 bêta/GM Seed.
  • Le SDK Vungle iOS version 5 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 prend en charge Xcode 9.0 ou les versions ultérieures.

É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", "5.4.0"

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 5. Si vous procédez à la mise à jour à partir d'une version précédente du SDK Vungle, supprimez tout d'abord le répertoire VungleSDK.framework entièrement 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 liez quelques autres cadres natifs à votre projet, alors cliquez sur votre projet dans Navigateur de projet et accédez à Général → Cadres et bibliothèques liés.

Plusieurs de ces cadres 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 or libz.tbd
  • MediaPlayer.framework
  • QuartzCore.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • UIKit.framework
  • WebKit.framework
    Remarque : le SDK Vungle version 5 ne prend pas en charge iOS 7. Si votre cible de déploiement est iOS 7, utilisez le SDK Vungle iOS version 4.1 ou une version antérieure.

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

Initialiser le SDK

Remarque : un placement par défaut est créé automatiquement pour chaque application. Vous devez fournir l'ID de référence de son placement lors de l'étape d'initialisation que vous envisagiez ou non de profiter de ses fonctions. Si vous créez plusieurs placements, fournissez tous les ID de référence.

Initialisez le SDK dès que l'application démarre afin de lui donner suffisamment de temps pour mettre en cache une publicité pour le placement mis en cache automatiquement. Vous aurez besoin de l'ID d'application et de tous les ID de référence du placement que vous souhaitez utiliser dans votre application (active et inactive) pour initialiser le SDK. Vous pouvez trouver ces ID dans le tableau de bord Vungle (reportez-vous à la section Définition des placements dans votre tableau de bord Vungle).

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

Exemple de code :

#import <VungleSDK/VungleSDK.h>
...
NSError* error;
NSString* appID = @"Your_AppID_Here"; NSArray* placementIDsArray = @[@"<Your_PlacementID_1>", @"<Your_PlacementID_2>", @"<Your_PlacementID_3>"]; VungleSDK* sdk = [VungleSDK sharedSDK]; [sdk startWithAppId:appID placements:placementIDsArray error:&error];

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 que vous avez sélectionné comme mis en cache automatiquement dans le tableau de bord Vungle. Nous vous recommandons de sélectionner les placements les plus consultés 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é.

- (BOOL)loadPlacementWithID:(NSString *)placementID error:(NSError **)error;

Exemple de code :

NSError* error;
VungleSDK* sdk = [VungleSDK sharedSDK]; [sdk loadPlacementWithID:"<Your_PlacementID>" error:&error];

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 :

- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(NSString *)placementID { if([placementID isEqualToString:@"<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 :

VungleSDK* sdk = [VungleSDK sharedSDK]; NSError *error; [self.sdk playAd:self options:nil placementID:@"<Your_PlacementID_1>" error:&error]; if (error) { NSLog(@"Error encountered playing ad: %@", error); }

Publicités Flex Feed

Depuis la version 5.3 du SDK Vungle, nous prenons en charge les publicités Flex-Feed. Il s'agit du premier format publicitaire ne nécessitant pas un affichage en plein écran. Au lieu de cela, l'éditeur détermine les dimensions et l'emplacement exacts du conteneur publicitaire dans son application. Ces conteneurs publicitaires peuvent se trouver dans des vues de collection ou de tableaux.

Chargement d'une publicité Flex Feed

Charger une publicité Flex Feed équivaut à charger une publicité plein écran ; toutefois, le placement doit être configuré pour prendre en charge Flex Feed. Contactez votre gestionnaire de compte Vungle afin d'activer Flex Feed en vue d'un placement.

Affichage d'une publicité Flex Feed

Les publicités Flex Feed ne s'affichent pas de la même manière que les publicités plein écran. Les publicités Flex Feed nécessitent de créer d'abord un conteneur pour la publicité. Ce conteneur est une UIView. Vous pouvez placer cette UIView à n'importe quel endroit de l'écran. La publicité s'adapte à n'importe quelle taille de conteneur, mais gardez à l'esprit qu'avec une résolution très basse, les publicités sont moins visibles. Vous devez alors appeler la fonction addAdViewToView pour associer le conteneur à la publicité Flex Feed.

Présentation de la fonction :

/** * Pass in an UIView which acts as a container for the ad experience. This view container may be placed in random positions. * @param publisherView container view in which an ad will be displayed * @param options A reference to an instance of NSDictionary with customized ad playback options * @param placementID The placement defined on the Vungle dashboard * @param error An optional double reference to an NSError. In case this method returns `NO` it will be non-nil * @return YES/NO in case of success/error while presenting an AdUnit */ - (BOOL)addAdViewToView:(UIView *)publisherView withOptions:(nullable NSDictionary *)options placementID:(nullable NSString *)placementID error:( NSError *__autoreleasing _Nullable *_Nullable)error; 

Exemple de code :

NSError *error; NSDictionary *options = @{}; VungleSDK* sdk = [VungleSDK sharedSDK]; [sdk addAdViewToView:_FlexFeedViewArea withOptions:options placementID: error:&error]; if (error) { NSLog(@"Error encountered while playing an ad: %@", error); } 

Fermeture d'une publicité Flex Feed

En raison de la nature des publicités Flex Feed, un utilisateur peut cesser de visionner la vidéo sans fermer la publicité. Par conséquent, vous devez dire au SDK de masquer la publicité lorsqu'elle n'est plus à l'écran. Pour ce faire, appelez la fonction finishedDisplayingAd. Cette fonction ne fonctionne qu'avec les publicités Flex Feed et Flex View. Notez que cette fonction n'occupe aucun placement et qu'elle se contente de fermer une publicité native en cours de lecture.

Présentation de la fonction :

/** * This method must be called when the publisher is confident that they are finished displaying the ad unit. * This signals to the SDK that a new ad may be fetched or a different ad may be displayed. This will * be called in conjunction with `addViewToView:containedInViewController:withOptions:placementID:error:` */ - (void)finishedDisplayingAd; 

Exemple de code :

//Ad is no longer on screen VungleSDK* sdk = [VungleSDK sharedSDK]; [sdk finishedDisplayingAd]; 

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 :

// Attach [[VungleSDK sharedSDK] setDelegate:yourDelegateInstance]; // Détacher [[VungleSDK sharedSDK] setDelegate: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; 

VungleViewInfo inclut les propriétés suivantes pour que vous puissiez vérifier le résultat de la diffusion de la vidéo :

@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écompensé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 NSNumber 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.

VunglePlayAdOptionKeyFlexViewAutoDismissSeconds

Int

Utilisez cette option pour que les annonces Flex View soient automatiquement masquées après le nombre de secondes spécifié.
Cette fonction ne fonctionne qu'avec les publicités Flex View.

VunglePlayAdOptionKeyOrdinal

Int

Si vous recevez des rapports de données ordinales de Vungle, utilisez ce champ pour transmettre les données ordinales de médiation. Il s'agit d'un nombre entier indiquant l'ordre dans lequel cette publicité était présentée dans la session de jeu (par exemple, si deux publicités ont déjà été affichées dans cette session et que cette publicité de Vungle était la troisième publicité affichée, indiquez "3"). Plus d'infos sur les données ordinales ici.


NSDictionary *options = @{VunglePlayAdOptionKeyOrientations: @(UIInterfaceOrientationMaskLandscape), VunglePlayAdOptionKeyUser: @"userGameID", 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!"}; // Pass in dict of options, play ad NSError *error; [self.sdk playAd:self options:options placementID: error:&error]; if (error) { NSLog(@"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 :

VungleSDK* sdk = [VungleSDK sharedSDK]; self.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 :

[sdk attachLogger:yourLoggerInstance];

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 :

[sdk detachLogger:yourLoggerInstance];

Protocole assetLoader

@protocol VungleAssetLoader /** * doit retourner un NSData valide contenant les données (brutes) d'une image pour le chemin spécifié ou nil. */ - (NSData*)vungleLoadAsset:(NSString*)path; /** * doit retourner une UIImage valide pour le chemin spécifié ou nil. */ - (UIImage*)vungleLoadImage:(NSString*)path; @end
Vous avez d’autres questions ? Envoyer une demande

Commentaires