Pollfish iOS AdMob Mediation Adapter
适用于希望在瀑布中与其它奖励广告一起加载和展示 Pollfish 奖励调查的 iOS 应用程序的 AdMob 中介适配器。
注意:有关如何集成的详细步骤指南,请参阅此处
步骤 1:将 Pollfish AdMob Adapter 添加到您的项目中
下载以下框架
并将它们添加到您的 App 的目标依赖中
- 导航到您的项目
- 选择您的 App 的目标,然后转到 通用 选项卡下的 框架、库和嵌入式内容
- 通过按 + 按钮 -> 添加其它并选择适当的框架的方式来逐个添加所有依赖框架
在您的项目中添加以下框架(如果尚无的话)
- AdSupport.framework
- CoreTelephony.framework
- SystemConfiguration.framework
- WebKit.framework(从 Pollfish v4.4.0 版本开始添加)
或者
通过 CocoaPods 查找 Pollfish AdMob Adapter
添加包含 Pollfish 框架的 Podfile 作为 pod 引用
pod 'PollfishAdMobAdapter'
您可以在 CocoaPods 上找到最新的 Pollfish iOS SDK 版本此处
在命令行中运行 pod install 以安装 Pollfish cocoapod。
第 2 步:请求奖励广告
导入 GoogleMobileAds
Swift
import GoogleMobileAds
Objective C
@import GoogleMobileAds;
在应用程序代理的 application:applicationDidFinishLaunching:
方法中初始化 SDK
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GADMobileAds.sharedInstance().start()
return true
}
Objective C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[GADMobileAds sharedInstance] startWithCompletionHandler:nil];
return YES;
}
实现 GoogleMobileAds
以便在您的广告准备就绪时和其他广告相关事件中获得通知。
通过在 GADRewardedAd
对象中调用 load
方法来从 AdMob 请求 GADRewardedAd,传递一个 GADRequest
实例和您的 AD_UNIT_ID
id。默认情况下,Pollfish AdMob Adapter 将使用 AdMob 控制板提供的配置。如果没有提供配置或您想覆盖这些参数中的任何一项,请参阅第 3 步。
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate {
var rewardedAd: GADRewardedAd?
...
func createRewardedAd() {
let request = GADRequest()
GADRewardedAd.load(withAdUnitID: "AD_UNIT_ID",
request: request) { (ad, error) in
guard let error = error else {
print("Failed to load ad with error: \(error!.localizedDescription)")
return
}
self.rewardedAd = ad
self.rewardedAd?.fullScreenContentDelegate = self
}
}
func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {}
func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {}
func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {}
}
Objective C
@interface ViewController()<GADFullScreenContentDelegate>
@property(nonatomic, strong) GADRewardedAd *rewardedAd;
@end
@implementation ViewController
...
- (void)createRewardedAd
{
GADRequest *request = [GADRequest request];
[GADRewardedAd loadWithAdUnitID:@"AD_UNIT_ID" request:request completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.fullScreenContentDelegate = self;
}];
}
#pragma mark - GADFullScreenContentDelegate Protocol
- (void)adDidPresentFullScreenContent:(id)ad {}
- (void)ad:(id)ad didFailToPresentFullScreenContentWithError:(NSError *)error {}
- (void)adDidDismissFullScreenContent:(id)ad {}
@end
当奖励广告准备就绪时,通过调用 rewardedAd.present
来展示广告,该方法接受一个 ViewController
和一个奖励完成块。为了确保安全,您可以将 present 与 nullity 检查结合起来,查看您即将展示的实际广告是否准备就绪。
Swift
if (rewardedAd != nil) {
rewardedAd?.present(fromRootViewController: self) {
let reward = self.rewardedAd!.adReward
print("Reward received with currency \(reward.type), amount \(reward.amount)")
}
}
Objective C
if (self.rewardedAd) {
[self.rewardedAd presentFromRootViewController:self userDidEarnRewardHandler:^(void) {
GADAdReward *reward = self.rewardedAd.adReward;
NSString *rewardMessage = [NSString stringWithFormat:@"Reward received with currency %@, amount %lf", reward.type, [reward.amount doubleValue]];
NSLog(@"%@", rewardMessage);
}];
}
第 3 步:在奖励广告单元中(可选)使用并控制 Pollfish AdMob Adapter
Pollfish AdMob Adapter 提供了不同的选项,您可以用来控制 Pollfish SDK 的行为。如果应用此配置,它将覆盖任何在 AdMob 控制板中进行的配置。
以下列出了用于配置 Pollfish SDK 行为的 GADPollfishRewardedNetworkExtras 实例的所有可用选项。
无 | 说明 |
---|---|
3.1 | .pollfishAPIKey 将Pollfish SDK API密钥设置为Pollfish提供的密钥 |
3.2 | .requestUUID 设置唯一的ID以识别用户并通过服务器到服务器的回调传递 |
3.3 | .releaseMode 将Pollfish SDK设置为开发者或发布模式 |
3.4 | .offerwallMode 将Pollfish SDK设置为Offerwall模式 |
.pollfishAPIKey
3.1 Pollfish API密钥由Pollfish在Pollfish仪表板提供,在您注册到该平台后。如果您已在AdMob的UI上指定了Pollfish API密钥,则此参数将被忽略。
.requestUUID
3.2 设置一个唯一的ID来识别用户并在调查完成后通过服务器到服务器的回调传递。
为了注册此类回调,您可以在Pollfish开发者仪表板上的应用页面设置您的服务器URL,然后在初始化期间通过ParamsBuilder对象传递requestUUID。在每次调查完成后,您将收到一个包含传递的requestUUID参数的回调到您的服务器。
如果您想了解更多关于Pollfish s2s回调的信息,可以在这里查看文档这里
.releaseMode
3.3 将Pollfish SDK设置为开发者或发布模式。
- 开发者模式用于展示通过应用程序如何显示Pollfish调查(在开发和测试期间非常有用)。
- 发布模式是用于在任何应用商店中发布的应用的程序(开始接收付费调查)。
Pollfish AdMob适配器默认将Pollfish SDK运行在发布模式下。如果您想使用测试调查进行测试,应将发布模式设置为false。
.offerwallMode
3.4 启用Offerwall模式。如果不设置,每次只展示一个调查。
以下是一个使用GADPollfishRewardedNetworkExtras
将信息传递给Pollfish AdMob适配器的示例。
Swift
import PollfishAdMobAdapter
...
let request = GADRequest()
let pollfishNetworkExtras = GADPollfishRewardedNetworkExtras()
pollfishNetworkExtras.pollfishAPIKey = "POLLFISH_API_KEY"
pollfishNetworkExtras.releaseMode = false
pollfishNetworkExtras.requestUUID = "USER_ID"
pollfishNetworkExtras.offerwallMode = false
request.register(pollfishNetworkExtras)
Objective C
#import <PollfishAdMobAdapter/GADPollfishRewardedNetworkExtras.h>
...
GADRequest *request = [GADRequest request];
GADPollfishRewardedNetworkExtras *pollfishNetworkExtras = [[GADPollfishRewardedNetworkExtras alloc] init];
pollfishNetworkExtras.pollfishAPIKey = @"POLLFISH_API_KEY";
pollfishNetworkExtras.releaseMode = false;
pollfishNetworkExtras.requestUUID = @"YOUR_USER_ID";
pollfishNetworkExtras.offerwallMode = false;
[request registerAdNetworkExtras:pollfishNetworkExtras];
步骤 4:在商店发布您的应用
如果在此前的步骤中一切步骤顺利,您应该将Pollfish转换为发布模式并发布您的应用。
注意:您的应用上线后,应该通过Pollfish仪表板中的App设置区域请求验证您的账户。
注意:如果不需要在Waterfall中展示,有一种选择可以显示独立人口统计数据问题,这样Pollfish就可以在没有实际调查的情况下针对用户进行调查。这些调查不会为发布者带来任何收入(但它们可以提高填写率),因此如果您不希望在Waterfall中显示此类调查,请访问您的App设置区域并禁用该选项。