ViewPay iOS SDK: 引导指南
本指南旨在帮助您在iOS应用程序中将ViewPay SDK设置为Swift
或Objective-C
。为了提醒,Viewpay是一种基于广告注意力的微支付解决方案,允许用户通过观看广告解锁优质内容。Viewpay旨在替代其他解锁优质内容的方式,而不应安装为付费墙的唯一选项。
以下是一个使用Viewpay解锁文章的示例
先决条件
- 使用 Xcode 13.0 或更高版本
- 兼容 iOS 10.0 或更高版本
SDK 安装
Cocoapods (推荐)
为了简化外部库的安装和更新,我们建议使用Cocoapods。
在您的 Podfile
文件中添加 SDK 参考资料
pod 'ViewPay-iOS-SDK'
然后,运行命令 pod install
。
为了保持SDK更新,请在每次更新您应用程序之前运行命令 pod update
。
手动安装
如果您不想使用Cocoapods,您可以手动安装SDK
- 通过以下链接下载SDK的最新版本:ViewPay.zip
- 解压缩归档文件
- 将文件
ViewPay.xcframework
拖动到您的项目中,选择“目的地:如有必要则复制项目”选项,并将文件添加到项目的主要目标中。 - 遵循Google开发者门户上的说明,下载和安装ViewPay使用的最新版本Google IMA SDK
SDK初始化
为了让SDK运行,您必须尽快在应用程序生命周期中初始化SDK。
- 首先,在应用程序的
ApplicationDelegate
标题中导入SDK,在class
声明之前- Swift 中导入
import ViewPay
。 - Objective-C 中导入
#import <ViewPay/ViewPay.h>
。
- Swift 中导入
- 然后,在
application:didFinishLaunchingWithOptions:
方法中,使用以下方式使用ViewPay给您提供的ID初始化SDK- Swift 中
ViewPay.setAccountID("<votre_ID>")
。 - Objective-C 中
[ViewPay setAccountID:@"<votre_ID>"];
。
- Swift 中
检查活动可用性
SDK初始化后,使用SDK的第一个步骤是在合适的时机检查一个或多个活动的可用性
为此,您需要调用 checkVideoWithContentCategory:andCallback:
方法。
如果回调返回成功,则可以更新界面(例如显示按钮)以提示用户在观看视频时进行“支付”交易。
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.
}
}
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.
}
}];
展示广告以获取内容
通过调用方法 checkVideoWithContentCategory:andCallback:
的回调,您可以知道是否有广告可用于通过 ViewPay 验证交易。
当用户通过在支付墙中点击按钮选择 Viewpay 时,下一步是向用户展示 AdSelector ViewPay,以便他们选择和观看一个视频广告。
为此,您需要调用方法 presentAdWithCallback:
Swift 中
ViewPay.presentAd { (status) in
if status == .success {
// Autorisez l'utilisateur à accéder à son contenu.
}
}
Objective-C 中
[ViewPay presentAdWithCallback:^(VPAdStatus status) {
if (status == VPAdStatusSuccess) {
// Autorisez l'utilisateur à accéder à son contenu.
}
}];
错误处理
方法 presentAd:withContentCategory:andCallback:
的回调允许您向用户提供以下反馈之一的适应型反馈:
VPAdStatusSuccess
(Objective-C)或VPAdStatus.success
(Swift):证实交易的顺利进行。用户已观看广告至结束并可以访问其内容。VPAdStatusCancelled
(Objective-C)或VPAdStatus.cancelled
(Swift):用户在观看广告结束前已离开广告屏幕。SDK 已通知用户他们将无法访问其内容。VPAdStatusNoAd
(Objective-C)或VPAdStatus.noAd
(Swift):没有可用于验证交易的广告。对于用户来说,调用是透明的。使用其他备选方案来验证访问内容的交易。VPAdStatusError
(Objective-C)或VPAdStatus.error
(Swift):在展示广告时发生错误。向用户提供适应型反馈并使用其他备选方案以验证访问内容的交易。
元数据与自定义
ViewPay SDK 提供一些元数据,以促进更好地对向用户展示的广告进行分类。
如果这些信息在您的应用程序中可用,您可以使用以下两种方法轻松提供用户的性别和年龄:
Swift 中
ViewPay.setUserAge(42)
ViewPay.setUserGender(.male) // valeurs disponibles: .male, .female ou .other
Objective-C 中
[ViewPay setUserAge:42];
[ViewPay setUserGender:VPUserGenderMale]; // valeurs disponibles: VPUserGenderMale, VPUserGenderFemale ou VPUserGenderOther
您还可以在调用方法 checkVideoWithContentCategory:andCallback:
时提供内容类别作为您自己的字符串,以提供尽可能多的上下文。
Swift 中
ViewPay.checkVideo(withContentCategory: "cinema") { (success, error) in
if success {
...
}
}
Objective-C 中
[ViewPay checkVideoWithContentCategory:@"cinema"
andCallback:^(BOOL success, NSError *error) {
if (success) {
...
}
}];
尤其是元数据“pageInfo”,由页面的id和名称组成,用于按页面分类可视化广告的统计数据。
您可以这样填写:
在 Swift 中
ViewPay.setPageInfo("652", pageTitle: "Page actualites guerre en ukraine")
Objective-C 中
[ViewPay setPageInfo:@"6565" pageTitle:@"Page actualites guerre en ukraine"];