前後に使用する 5 つのタブがある、タブの多いアプリがあります。iAd と admob があり (iAd のない国のバックアップとして)、viewDidLoad で広告を「呼び出し」ます。代わりにviewDidAppearでそれらを呼び出すことは違いがありますか? そして、それらをviewDidDisappearまたはshomethingで削除して、フレームなどを台無しにしないようにしますか? これにより、より多くの印象などが得られますか?
3 に答える
viewDidLoad:
viewDidLoad コントローラのビューがメモリにロードされた後に呼び出されます。
- (void)viewDidLoad
説明 このメソッドは、View Controller がそのビュー階層をメモリにロードした後に呼び出されます。このメソッドは、ビュー階層が nib ファイルからロードされたか、loadView メソッドでプログラムによって作成されたかに関係なく呼び出されます。通常、このメソッドをオーバーライドして、nib ファイルからロードされたビューで追加の初期化を実行します。
viewDidAppear:
viewDidAppear: ビューがビュー階層に追加されたことをビュー コントローラーに通知します。
- (void)viewDidAppear:(BOOL)animated
パラメータ animation YES の場合、ビューはアニメーションを使用してウィンドウに追加されました。説明 このメソッドをオーバーライドして、ビューの表示に関連する追加のタスクを実行できます。このメソッドをオーバーライドする場合は、実装のある時点で super を呼び出す必要があります。
答える
したがって、viewDidLoad は viewDidAppear: よりも少し前に呼び出されます。唯一の違いは、viewDidAppear: の場合、ビューは既に描画されているのに対し、viewDidLoad ではまだビューを描画する必要があることです。
だからあなたの質問に答える:
代わりにviewDidAppearでそれらを呼び出すことは違いがありますか?
広告の呼び出しが遅い操作の場合、最初にビューがその色で表示され、数時間後に広告が表示されます。ただし、実際の違いを生むには遅すぎる必要があります。
そして、それらをviewDidDisappearまたはshomethingで削除して、フレームなどを台無しにしないようにしますか?
確かに、「フレームを台無しにする」ことはありません。
広告コードを viewDidAppear: に配置 (および viewDidDisappear: で削除) すると、確かにインプレッション数が増えますが、ホワイトリストに登録されたパブでない限り、とにかくクリック単価ベースで支払いを受けることになります ( AdMob ヘルプセンターの記事) 。 .
この場合、タブの変更時に GADBannerView オブジェクトを作成および破棄するオーバーヘッドが発生する代わりに、TabbedController 全体で使用するシングルトン GADBannerView を作成することもできます (こちらの例を参照してください)。
viewDidLoad で呼び出すだけです