Démarrez avec Vungle - iOS SDK v. 5

Contenu

Avant de commencer

  • The SDK Vungle iOS v. 5.1.0 prend en charge uniquement iOS 8+.
  • Le SDK Vungle iOS v. 5.1.0 prend en charge des 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 version 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.

É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.1.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 v5.1.0. Si vous mettez à jour à partir d'une version précédente du SDK Vungle, supprimez tout d'abord entièrement le répertoire VungleSDK.framework avant d'ajouter le nouveau SDK.

Si vous mettez à jour à partir d'une version précédente du SDK Vungle, supprimez tout d'abord entièrement le 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 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

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 emplacement par défaut est créé automatiquement pour chaque application. Vous devez fournir son ID de référence de l'emplacement lors de l'étape d'initialisation que vous envisagiez ou non de profiter de ses fonctions. Si vous créez plusieurs emplacements, 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 l'emplacement mis en cache automatiquement. Vous aurez besoin de l'ID d'application et de tous les ID de référence de l'emplacement 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 emplacements 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 l'emplacement que vous avez sélectionné comme mis en cache automatiquement dans le tableau de bord Vungle. Nous vous recommandons de sélectionner les emplacements 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 de l'emplacement correspondant à votre emplacement mis en cache automatiquement. (Reportez-vous à la section " Vérifier la disponibilité de la publicité pour un emplacement "de cet article.)

Charger une publicité pour un emplacement

Pour les emplacements 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 emplacement "de cet article.

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

Lorsque le SDK a terminé de mettre en cache une publicité pour un emplacement, 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 l'emplacement 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 l'emplacement mis en cache automatiquement. Pour tous les autres emplacements, 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 emplacement 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 emplacement, 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);
}

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 includes the following properties for you to check a result of ad play:

@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 emplacement "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é.

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 emplacement 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 annonce 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 annonce 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 d'annonce 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 d'annonce envoyée par le mécanisme d'incitation.

Exemple de code :

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!"};

// Passer dans un dictionnaire d'option, jouer la publicité
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