InMobi SDK 3.7 for iOS (ja)
Contents |
InMobi SDK 3.7 for iOS にはお客さまのアプリケーションで インモビの広告をインテグレーションするために必要なコードが含まれています。
SDK は以下のデバイスで動作するよう設計されています。
- iPhone
- iPod Touch
- iPad
デバイスがiOS バージョン 4.0 以降で実行されていることが条件です。
インテグレーションガイドラインは、Xcode に関する基礎知識があることを前提に書かれています。
注記: この SDK バージョンは Xcode 4.5 以降で動作するよう設計されています。
基本操作
統合を開始するには、以下の手順に従ってください。
- InMobi Ad Network SDK for iOS をダウンロード
- http://www.japan.inmobi.com/ にデベロッパーとして登録
注記: アプリケーションがApp Storeによって承認された後、デベロッパーはアプリケーションのApp Store URLをインモビのパブリッシャー様アカウントにご登録ください。
環境の設定
以下の手順を実行してパブリッシャーのアカウントからインモビのApp IDを作成します。
- http://www.japan.inmobi.com からインモビのアカウントにログインします。
- パブリッシャータブで、ナビゲーションバーから [サイト情報/広告情報] を クリックします。
- アプリケーションが未登録の場合は、[新しいサイト/アプリケーションを登録] をクリックし、プルダウンから[iPhoneアプリケーション]を選択します。次に表示される [アプリケーションを登録] ページで、アプリケーションの App Store URL を入力してください。
- アプリケーションが正常に登録できたら、以下に示すようにアプリケーションIDを取得します。
注記:インモビのアプリケーションIDは、インモビのバナー、もしくはインタースティシャル広告をリクエストする際に使用されます。
必須設定項目
インモビからお客様のアプリに最適な広告を配信するために、imAppId 及び imAdSize が正確に設定されていることをご確認ください。
フレームワークの追加
プロジェクトをコンパイルするには、SystemConfiguration, AVFoundation, MediaPlayer, Security, CoreTelephony, AdSupport, MessageUI, StoreKit, 及び AudioToolBox のフレームワークを追加します。なお、Foundation, CoreGraphics, UIKit はプロジェクトの既定のフレームワークです。
注意:iOSバージョン 6.0以前では、およびAdSupportフレームワークを[オプション]に設定します。
SDK をプロジェクトにコピー
以下に示すように、ヘッダーファイルおよびバイナリをダウンロードしたSDKバンドルからプロジェクトにコピーします。
バナー広告の実装
以下は、IMAdView標準サイズのインスタンスを作成して、[UIViewController]のビューのトップに表示する場合のサンプルコードです。
[[IMAdView alloc] initWithFrame:CGRectMake(0, 0, 320, 50) imAppId:INMOBI_APP_ID
imAdSize:IM_UNIT_320x50];
imAdView.delegate = self;
IMAdRequest *request = [IMAdRequest request];
[imAdView loadIMAdRequest:request];
deallocメソッドのsuperview からIMAdViewインスタンスを削除することをお勧めします。
- (void)dealloc {
[imAdView setDelegate:nil];
[imAdView removeFromSuperview];
[imAdView release]; imAdView = nil;
}
注意: アプリケーション起動の最後に、アプリケーションウインドウが root view controller を持つ仕様です
別の広告ユニットのリクエスト
異なるサイズの広告を要求することができます。インモビがサポートする広告サイズは以下の通りです。
/* The ad size equivalent to CGSizeMake(320, 48). Will be deprecated in the future release. Use IM_UNIT_320x50 instead. */ #define IM_UNIT_320x48 9 /* Medium Rectangle size for the iPad (especially in a UISplitView's left pane). The ad size equivalent to CGSizeMake(300, 250). */ #define IM_UNIT_300x250 10 /* Leaderboard size for the iPad. The ad size equivalent to CGSizeMake(728,90). */ #define IM_UNIT_728x90 11 /* Full Banner size for the iPad (especially in a UIPopoverController or in UIModalPresentationFormSheet). The ad size equivalent to CGSizeMake(468x60). */ #define IM_UNIT_468x60 12 /* Skyscraper size, designed for iPad's screen size. The ad size equivalent to CGSizeMake(120x600). */ #define IM_UNIT_120x600 13 /* Default ad size for iPhone and iPod Touch. The ad size equivalent to CGSizeMake(320, 48). */ #define IM_UNIT_320x50 15
注記: 無効なまたはサポートされていない広告ユニットでリクエストすると、デフォルトの IM_UNIT_320x50が適用されます。
自動更新の設定
imAdView.refreshInterval = 30; // to set the refresh interval to 30 seconds imAdView.refreshInterval = REFRESH_INTERVAL_OFF; // to switch off refresh interval
テストモードの設定
ログレベルをDebugに設定し、SDKログからパブリッシャーデバイスIDを取得します。
[IMCommonUtil setLogLevel:IMLogLevelTypeDebug];
オプションとして、ステータス変更のコールバックを受け取るため、IMAdView にデリゲートを設定することも可能です。
imAdView.delegate = self;
利用可能なメッセージのリストについては、IMAdDelegate.hを参照してください。
注記: 以下が有効でない場合、InMobi は広告を提供しません。
-
imAppId -
imAdSize
IMAdView用インターフェースビルダーサポートを設定
以下の手順を実行することにより、インターフェースビルダーを使用してIMAdView を[UIViewController]に追加することもできます。
- ファイルの [Owner View]のUI Viewを広告を表示する位置に設定します。
- リクエストするインモビの広告サイズに合わせてフレームを設定します。各iOS でサポートされているバナーサイズや関連する広告ユニットについては、上記のIMAdView.hを参照してください。標準の 320x50 サイズの iOS バナーを以下のサンプルスクリーンショットに表示します。

- このUIViewのClass IdentityをIMAdViewに設定します。
- [UIViewController].hファイルで、IMAdViewのIBOutletインスタンスを宣言します。
- これをファイル[Owner View]のアウトレットとして設定します。
- ターゲットを選択して、[Build Settings]タブに進みます。
- [Other Linker Flags] を検索して、
–ObjCを追加します。
インモビが広告リクエストにレスポンスを返していることを確認するために、以下のパラメータを設定します。
adView_IB.delegate = self; //optional adView_IB.imAppId = @"YOUR_APP_ID"; adView_IB.imAdSize = IM_UNIT_320x50; adView_IB.rootViewController = self;
注記: 広告ユニットは、リクエストするiOSバナーサイズに合わせる必要があります。各iOSでサポートされているバナーサイズや関連する広告ユニットについては、IMAdView.hを参照してください。
オプションの内容
ユーザーの現在地の設定
ユーザーの現在地は、以下のサンプルコードに示すように、広告リクエストの[location]で設定できます。
IMAdRequest *request = [IMAdRequest request]; [request setLocationWithLatitude:12.95 longitude:77.63 accuracy:55]; [imAdView loadIMAdRequest:request];
インタースティシャル広告の作成
インタースティシャルは、ゲームなどのアプリケーション内での自然なトランジションポイントで表示される全画面広告です。一般的に、1つのビューコントローラーから別のコントローラーに移行する際に表示されます。ユーザーエクスペリエンスを向上させるには、コンテンツをあらかじめロードしてすぐに表示できるように、広告表示が実際に行われる数秒前にインタースティシャル広告をリクエストするのがベストです。このようにすれば、時間を置かずに広告が表示され、スムーズなユーザー体験が実現されます。
インタースティシャル広告を要求するコードは以下のとおりです:
interstitialAd = [[IMAdInterstitial alloc] init]; interstitialAd.delegate = self; interstitialAd.imAppId = @"YOUR_APP_ID"; [interstitialAd loadRequest:request];
IMAdRequest オブジェクトはバナー広告の実装 セクションで説明した方法で作成できます。
インタースティシャル広告の表示方法:
[interstitialAd presentFromRootViewController:self];
インタースティシャル広告のステータス
インタースティシャルのステータス種類は以下のとおりです:
/* The default state of an interstitial. If an interstitial ad request fails, or if the user dismisses the interstitial, the state will be changed back to init. */ kIMAdInterstitialStateInit /* Indicates that an interstitial ad request is in progress. */ kIMAdInterstitialStateLoading /* Indicates that an interstitial ad is ready to be displayed. An interstitial ad can be displayed only if the state is ready. You can call presentFromRootViewController: to display this ad. */ kIMAdInterstitialStateReady /* Indicates that an interstitial ad is displayed on the user's screen. */ kIMAdInterstitialStateActive
デリゲートの設定
interstitialAd.delegate = self;
SDK のデバッグ
IMCommonUtilを使用して、デバッグするコンソールログレベルを各レベルのコードに設定できます。
[IMCommonUtil setLogLevel:IMLogLevelTypeDebug];
既知の問題
このセクションでは、iOS アプリによる統合に関係する既知の問題を挙げています。
- アプリのクラッシュを防ぐため、IMAdViewのインスタンスをリリースする前にデリゲートプロパティをnilに設定することを推奨します。
トラブルシューティング
広告リクエストが失敗します。原因は何でしょうか?
- シミュレータからの広告リクエストは、サンドボックスへのリクエストを除き、すべて無視されます。
- シミュレータからのクリックはすべて無視されます。
広告が表示されません。どうしたら良いでしょうか?
正しくAppIDを入力したか確認してください。アプリケーションIDの審査が完了していない場合には、テストモードで広告を要求することが可能です。
アプリをApp Storeの審査に送信する前に、確認が必要な点は何でしょうか?
テストモードの設定が“NO”にセットされていることを確認してください。次に、用意した App ID がhttp://www.japan.inmobi.comの[パブリッシャー]タブ、[サイト情報/広告情報] の[アプリ情報]セクションに表示されるIDと完全に同一であることを確認します。App Storeでアプリケーションが承認されたら、デベロッパーはインモビのパブリッシャーアカウントにアプリケーション URLを登録してください。なお、登録後にインモビにおけるアプリの審査が実施されます。
Test ModeをNOに設定すると広告を表示できません。どうしたら修正できますか?
本番環境の広告取得は、ご登録のアプリのステータスが[有効]となった場合にのみ表示されます。これはhttp://www.japan.inmobi.comの[パブリッシャー]タブ [サイト情報/広告情報]セクションにおいてご確認ください。広告スペースで、[no fills(在庫なし)] が表示されるケースもございます。予めご了承ください。 ライブ広告でなくテスト広告のみのサービスを受けられるでしょうか?
ライブ広告が受けられるのは、お客さまのサイトまたはアプリがインモビのサイト・アプリ審査において承認された場合のみです。弊社のテスト用広告配信サーバーを使用して、承認されるまで、実装のテストをすることができます。注記: テストはモバイル端末/ブラウザによってのみ可能です。広告は、PCまたはラップトップから等、モバイルデバイス以外のブラウザには提供されません。
詳細情報
詳細は、ダウンロードしたSDK ZIPファイル内のサンプルプロジェクトを参照してください。
SDKインテグレーションに関して不明な点がある場合は、こちらまでお問い合わせください.


