ViewPay-iOS-SDK 1.8.0

ViewPay-iOS-SDK 1.8.0

Maintained by Thibaut LE LEVIER, Ludovic Ollagnier, RALAIVAO Eugène.



  • By
  • Thibaut LE LEVIER, Philippe ROCTON and RALAIVAO Eugène

ViewPay iOS SDK: Guide de démarrage

Ce guide a pour objectif de vous guider dans la mise en place du SDK ViewPay dans votre application iOS en Swift ou Objective-C. Pour rappel, Viewpay est une solution de micro-paiement par l'attention publicitaire, qui permet à l'utilisateur de débloquer un contenu premium en regardant une publicité. Viewpay a pour vocation d'être une alternative à d'autres options pour débloquer un contenu premium, et ne doit pas être installé comme seule option d'un paywall.

Voici un exemple de déblocage d'article avec Viewpay :

sample

Prérequis

  • Utiliser Xcode 13.0 ou supérieur
  • Compatibilité iOS 10.0 ou supérieur

Installation du SDK

Cocoapods (recommandé)

Pour une simplifier l'installation et la mise à jour de vos librairies externes nous vous conseillons d'utiliser Cocoapods.

Dans votre fichier Podfile ajouter la référence au SDK ViewPay:

pod 'ViewPay-iOS-SDK'

Puis, lancez la commande pod install.

Afin de maintenir le SDK à jour executez la commande pod update avant chaque mise à jour de votre application.

Installation manuelle

Si vous ne souhaitez pas utiliser Cocoapods vous pouvez installer le SDK manuellement :

  • Téléchargez la dernière version du SDK via le lien suivant : ViewPay.zip
  • Décompressez l'archive
  • Glissez le fichier ViewPay.xcframework dans votre projet, sélectionnez l'option Destination: Copy items if needed et ajoutez le fichier à la target principale de votre projet.
  • Téléchargez et installez la dernière version du SDK Google IMA utilisé par ViewPay en suivant les instructions sur le portail développeur de Google

Initialisation du SDK

Pour que le SDK puisse fonctionner, vous devez l'initialiser aussi tôt que possible dans le cycle de vie de votre application.

  • Commencez tout d'abord par importer le SDK dans l'entête de votre ApplicationDelegate avant le début de la déclaration de la class:
    • import ViewPay en Swift.
    • #import <ViewPay/ViewPay.h> en Objective-C.
  • Ensuite, dans la méthode application:didFinishLaunchingWithOptions:, initialisez le SDK avec l'identifiant qui vous a été fourni par la régie ViewPay de la manière suivante:
    • ViewPay.setAccountID("<votre_ID>") en Swift.
    • [ViewPay setAccountID:@"<votre_ID>];" en Objective-C.

Vérification de la disponibilité des campagnes

Une fois le SDK initialisé, la première étape dans l'utilisation du SDK est de vérifier au moment opportun la disponibilité d'une ou plusieurs campagnes

Pour cela, vous devez appeler la méthode checkVideoWithContentCategory:andCallback:.

Si le callback retourne un succès, alors vous pouvez mettre à jour l'interface (affichage bouton par exemple) pour proposer à l'utilisateur de "payer" la transaction en visionnant une video.

en Swift:

ViewPay.checkVideo(withContentCategory: nil) { (success, error) in
	if (success) {
		// Des campagnes sont disponibles
		// Faites apparaitre le bouton dans votre paywall permettant à l'utilisateur d'accèder à son contenu via ViewPay.
	}
	else {
		// Aucune campagne n'est disponible. Vos autres alternatives de payement sont toujours proposées à votre utilisateur.
	}   
}

en Objective-C:

[ViewPay checkVideoWithContentCategory:nil
		andCallback:^(BOOL success, NSError *error) {
			if (success) {
				// Des campagnes sont disponibles.
				// Faites apparaitre le bouton dans votre paywall permettant à l'utilisateur d'accèder à son contenu via ViewPay.
			}
			else {
				// Aucune campagne n'est disponible. Vos autres alternatives de payement sont toujours proposées à votre utilisateur.
			} 
}];

Présenter la publicité afin d'accéder au contenu

Grace au callback de l'appel à la méthode checkVideoWithContentCategory:andCallback:, vous êtes en mesure de savoir si des publicités sont disponible pour valider la transaction via ViewPay.

Lorsque l'utilisateur va choisir l'option Viewpay en cliquant sur le bouton dans le paywall, l'étape suivante consiste donc à présenter l'AdSelector ViewPay à l'utilisateur pour lui permettre de choisir et visionner une publicité video.

Pour cela, vous devez appeler la méthode presentAdWithCallback::

en Swift :

ViewPay.presentAd { (status) in
	if status == .success {
		// Autorisez l'utilisateur à accéder à son contenu.
	}             
}

en Objective-C :

[ViewPay presentAdWithCallback:^(VPAdStatus status) {
	if (status == VPAdStatusSuccess) {
		// Autorisez l'utilisateur à accéder à son contenu.
	}
}];

Gestion d'erreur

Le callback de la méthode presentAd:withContentCategory:andCallback: vous permet de présenter un feedback adapté à l'utilisateur parmi les possibilitées suivantes :

  • VPAdStatusSuccess en Objective-C ou VPAdStatus.success en Swift: atteste du bon déroulement de la transaction. L'utilisateur a visionné la publicité jusqu'au bout et peut accéder à son contenu.
  • VPAdStatusCancelled en Objective-C ou VPAdStatus.cancelled en Swift: l'utilisateur a quitté l'écran de publicité avant la fin du visionnage de celle-ci. Il a déjà été informé par le SDK qu'il ne pourra pas accéder à son contenu.
  • VPAdStatusNoAd en Objective-C ou VPAdStatus.noAd en Swift: Aucune publicité n'est disponible pour valider la transaction. L'appel est transparent pour l'utilisateur. Utilisez une autre alternative pour valider la transaction d'accès au contenu.
  • VPAdStatusError en Objective-C ou VPAdStatus.error en Swift: une erreur s'est produite lors de la présentation de la publicité. Présentez un feedback adapté à l'utilisateur et utilisez une autre alternative pour valider la transaction d'accès au contenu.

Méta-Données et customisation

Le SDK ViewPay remonte un certain nombre de meta données pour permettre une meilleur catégorisation des publicités présentées à l'utilisateur.

Si ces informations sont disponibles dans votre application vous pouvez facilement renseigner le genre et l'âge de l'utilisateur à l'aide des 2 méthodes suivantes:

en Swift :

ViewPay.setUserAge(42)
ViewPay.setUserGender(.male) // valeurs disponibles: .male, .female ou .other

en Objective-C :

[ViewPay setUserAge:42];
[ViewPay setUserGender:VPUserGenderMale]; // valeurs disponibles: VPUserGenderMale, VPUserGenderFemale ou VPUserGenderOther

Vous pouvez également, lors de l'appel à la méthode checkVideoWithContentCategory:andCallback: renseigner la catégorie du contenu sous la forme d'une chaîne de caractères de votre choix afin de fournir un maximum de contexte :

en Swift :

ViewPay.checkVideo(withContentCategory: "cinema") { (success, error) in
	if success {
		...
	}             
}

en Objective-C :

[ViewPay checkVideoWithContentCategory:@"cinema" 
	andCallback:^(BOOL success, NSError *error) {
		if (success) {
			...
		} 
}];

Particulierement, le meta données "pageInfo", composé par l'id et le nom de la page, sert à catégoriser les statistiques des publicités visualisés par page.

vous pouvez le renseigner comme ceci :

en swift :

ViewPay.setPageInfo("652", pageTitle: "Page actualites guerre en ukraine") 

en Objective-C :

[ViewPay setPageInfo:@"6565" pageTitle:@"Page actualites guerre en ukraine"];