簡易版インフィード広告

広告を利用するには、SDKを有効にする必要があります。詳細はインストールガイドSDKの初期化をご確認ください。

簡易版インフィード広告はUITableViewの利用を前提としています。

それ以外での利用については、カスタムインフィード広告をご利用ください。

簡易版インフィード広告の表示

簡易版インフィード広告の実装例を挙げます。

class YourViewController: UITableViewController, RFPInstreamAdLoaderDelegate {

    let adSpotId = "your_adspot_id"
    let adPositions = [3, 5]
    let instreamAdLoader = RFPInstreamAdLoader.init()

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.delegate = self
        tableView.dataSource = self

        // インフィード広告を挿入したいtableViewと広告枠IDを設定
        instreamAdLoader.delegate = self
        instreamAdLoader.rfpBind(to: tableView, adSpotId: adSpotId)

        // インフィード広告ロードを呼び出し
        instreamAdLoader.rfpLoadAd()

        // 位置を指定して呼び出す場合
        instreamAdLoader.rfpLoadAd(UInt(adPositions.count), positions: adPositions)
    }

    //....

}

tableView.reloadData()を呼ぶ必要はありません。tableView.reloadData()を呼ぶ必要がある場合は、instreamAdLoader.rfpReloadData()を呼んでください。

1リクエストあたりの広告案件数と広告位置配列は、instreamAdLoader.rfpLoadAd(_:positions:)などのAPIを使ってコントロールすることも出来ます。

簡易版インフィード広告の表示時のイベント取得

インフィード広告の表示をする際に、そのイベントを受け取りたい場合があります。

その場合は RFPInstreamAdLoader のプロパティである delegate が、RFPInstreamAdLoaderDelegate に準拠しているので、それ経由で受信する事が出来ます。

override func viewDidLoad() {
    super.viewDidLoad()
    // (1) delegate を設定
    instreamAdLoader.delegate = self
}

// (2) 広告のロード開始時
func rfpInstreamAdLoaderDidStartLoadingAd(_ instreamAdLoader: RFPInstreamAdLoader!) {
}

// (3) 広告のロード完了時
func rfpInstreamAdLoaderDidFinishLoadingAd(_ instreamAdLoader: RFPInstreamAdLoader!) {
}

// (4) 広告Viewのロード完了時
func rfpInstreamAdLoaderDidFinishLoadingAdImage(_ adIndexPath: IndexPath!) {
}

// (5) 広告のクリック処理完了時
func rfpInstreamAdLoaderDidFinishSendingAdClick() {
}

// (6) 広告のロード失敗時
func rfpInstreamAdLoader(_ instreamAdLoader: RFPInstreamAdLoader!, didFailToLoadAdWithError error: Error!) {
}

// (7) 広告Viewのロード失敗時
func rfpInstreamAdLoader(_ adIndexPath: IndexPath!, didFailToLoadAdImageWithError error: Error!) {
}

簡易版インフィード広告の追加ロード

ユーザーがサイト下部に到達した際に追加フィードを読み込むような UI の場合に、追加で広告ロードを行うことも可能です。

func loadMore {
    // 追加の広告をロードして、広告位置配列をもとにテーブル内の適切な位置に挿入します
    instreamAdLoader.rfpReloadData()
}

簡易版インフィード広告フォーマット

現状、7つの広告フォーマットを利用できます。設定はこちらになります。

  • 1-1) ThumnailMiddle
    // The format looks like this
    //  -----------------------------------------------------
    // |             |  name                                 |
    // |   image     |  ad text                              |
    // |             |                                       |
    // |   90x90     |                                       |
    // |             |                                    PR |
    //  -----------------------------------------------------
  • 1-2) ThumnailSmall
    // The format looks like this
    //  -----------------------------------------------------
    // |  -------    name                                    |
    // | | image |   PR                                      |
    // | | 50x50 |   ad text                                 |
    // | |       |                                           |
    // |  -------                                            |
    //  -----------------------------------------------------
  • 1-3) LandscapePhoto
    // The format looks like this
    //  -----------------------------------------------------
    // |                                                     |
    // |                  ad image                           |
    // |                                                     |
    // | --------------------------------------------------- |
    // |  ad text                                            |
    // |                                                     |
    // |                                                     |
    // |                                                 PR  |
    // |  advertiser name                                    |
    //  -----------------------------------------------------
  • 1-4) PhotoBottom
    // The format looks like this
    //  -----------------------------------------------------
    // |  advertiser name                                    |
    // |  PR                                                 |
    // |  ad text                                            |
    // | --------------------------------------------------- |
    // |                                                     |
    // |                                                     |
    // |                   image                             |
    // |                                                     |
    //  -----------------------------------------------------
  • 1-5) PhotoMiddle
    // The format looks like this
    //  -----------------------------------------------------
    // | name                                                |
    // |                                                  PR |
    // | --------------------------------------------------- |
    // |                                                     |
    // |                                                     |
    // |                      image                          |
    // |                                                     |
    // |                                                     |
    // |                                                     |
    // | --------------------------------------------------- |
    // |  text                                               |
    //  -----------------------------------------------------
  • 1-6) TextOnly
    // The format looks like this
    //  -----------------------------------------------------
    // |  name                                               |
    // |                                                  PR |
    // | --------------------------------------------------- |
    // |                                                     |
    // |             ad text                                 |
    // |                                                     |
    // |                                                     |
    //  -----------------------------------------------------
  • 1-7) WebView
    • HTML を入稿することで、アプリ内 WebView 上で描画することが出来ます。

簡易版インフィード広告を使う上での注意点

instreamAdLoader.rfpBind(to:adSpotId:)に渡すUITableViewは、section数が1つである場合のみ動作保証されます。