AdExchangeネイティブ広告 - united-adstir/AdStir-Integration-Guide-iOS GitHub Wiki
対応OS
iOS 8.0以上
Google Mobile Ads SDKは7.28.0以上をご利用ください
プロジェクトへのSDKの追加
CocoaPodsの利用(推奨)
CocoaPodsを利用すると、adstir SDKを簡単プロジェクトに追加できます。 まだCocoaPodsを利用されていない場合は、CocoaPodsのサイトをご覧頂き、導入してください。
既存、もしくは新規に生成したPodfileを開き、下段の2行を追加し、adstir SDKを利用するように設定します。
platform :ios, "6.0"
# 省略
pod 'AdStir-Ads-SDK'
pod 'AdStir-Ads-SDK/AdMobMediationAdapter'
新規にadstir SDKを追加する場合は、下記のターミナルアプリケーションを開き、プロジェクトのディレクトリコマンドを実行します。
$ pod install
adstir SDKを更新、または削除する場合は、下記のコマンドを実行します。
$ pod update
新規にCocoaPodsを導入した場合、プロジェクト名
.xcworkspaceというファイルが生成されますので、今までのプロジェクトファイルではなく、こちらのファイルを開いて開発を進めてください。
すでに利用していた場合は、引き続き開発を進めてください。
手動でのプロジェクトへの追加
以前のバージョンのSDKを利用されている場合は、必ず関連するファイルを全て削除してください。
GoogleMobileAds.framework
、AdstirAds.framework
、libAdMobMediationAdapter-AdstirAds.a
を、プロジェクト内の任意の箇所にドラッグ&ドロップします。Copy items if needed
にチェックを入れます。Add to targets
欄で、adstir SDKを利用するすべてのターゲットにチェックを入れます。Finish
をクリックします。
依存Framework/Libraryの追加
名前 | ステータス |
---|---|
CoreMotion.framework | Required |
GLKit.framework | Required |
SafariServices.framework | Optional |
iOS 10以降では、CoreMotionをリンクする場合、Info.plistにPrivacy - Motion Usage Description
(NSMotionUsageDescription
)キーを追加し、使用理由を説明する必要があります。
ビルド設定の変更
- プロジェクトファイル設定画面を開きます
- ネイティブ広告を組み込むビルドターゲットを選択します
- `Build Target“タブを選択します
- 画面右側の検索窓に
Other Linker Flags
と入力し、検索します Other Linker Flags
欄に、-ObjC
と設定します
adstirのSDKを呼び出すためにはこの設定が必須となり、設定がされていない場合は、案件切れ扱いとなってしまいます- 組み込む対象の全てのビルドターゲットに、同じ設定を行います
もしくは、この設定はプロジェクト単位で設定することも可能です
MoPub広告を利用される場合
こちらをご覧ください。
広告の設置
SDKの実装例
// 下記のインポートが必要です
@import GoogleMobileAds;
// GADUnifiedNativeAdViewを継承したViewを用意します
@interface AdXNativeAdView : GADUnifiedNativeAdView
@end
@interface ViewController () <GADUnifiedNativeAdLoaderDelegate, GADUnifiedNativeAdLoaderDelegate>
@property(nonatomic, strong) GADAdLoader *adLoader;
@end
@implementation ViewController
- (void)viewDidLoad {
GADNativeAdViewAdOptions *adViewOptions = [[GADNativeAdViewAdOptions alloc] init];
adViewOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;
// kGADAdLoaderAdTypeUnifiedNativeでリクエストを行います
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:kCustomEventNativeAdUnitID
rootViewController:self
adTypes:@[ kGADAdLoaderAdTypeUnifiedNative ]
options:@[ adViewOptions ]];
self.adLoader.delegate = self;
[self.adLoader loadRequest:[GADRequest request]];
}
:
:
#pragma mark GADUnifiedNatveAdLoaderDelegate implementation
// ネイティブ広告の読み込み成功時に呼び出されます。
- (void)adLoader:(GADAdLoader *)adLoader didReceiveUnifiedNativeAd:(GADUnifiedNativeAd *)nativeAd {
:
:
AdXNativeAdView *nativeAdView =
[[NSBundle mainBundle] loadNibNamed:@"AdXNativeAdView" owner:nil options:nil]
.firstObject;
nativeAdView.nativeAd = nativeAd;
:
:
// バナー画像や動画などのコンテンツを配置します
[nativeAdView.mediaView setMediaContent:nativeAd.mediaContent];
// タイトルを設定します
((UILabel *)nativeAdView.headlineView).text = nativeAd.headline;
// 説明文を設定します
((UILabel *)nativeAdView.bodyView).text = nativeAd.body;
// CATテキストを設定します
[((UIButton *)nativeAdView.callToActionView) setTitle:nativeAd.callToAction
forState:UIControlStateNormal];
// アイコン画像を設定します
((UIImageView *)nativeAdView.iconView).image = nativeAd.icon.image;
// 広告主を設定します
((UILabel *)nativeAdView.advertiserView).text = nativeAd.advertiser;
// レーティングを設定します
((UILabel *)nativeAdView.starRatingView).text = nativeAd.starRating.stringValue;
}
詳細はgoogleのドキュメントをご覧ください。