2013-01-23 26 views
7

私のアプリでGoogle AdMob SDK(最新のものが最近ダウンロードされたもの)を使用しています。Google AdMob GADBannerViewの最初のリクエストに時間がかかり、UIがフリーズする

私のアプリが起動すると、広告が読み込まれて表示されるまで、アプリは4〜5秒間フリーズします。その後、スムーズに動作します。バナーリクエストラインをコメントアウトすると、アプリは正常に開始します。

私は次のコードを持つカスタムヘルパークラスを作成しました。

googleBannerViewは私のクラスのプロパティであり、そして型を持つ

  • - (void) getGoogleBanner:(UIViewController *) targetController 
    { 
        self.googleBannerView.rootViewController = targetController; 
        [self.googleBannerView.rootViewController.view addSubview:self.googleBannerView]; 
        [self.googleBannerView setDelegate:self]; 
        GADRequest* request = [GADRequest request]; 
        [self.googleBannerView loadRequest:request]; 
    } 
    

    GADBannerViewの

  • 私はtargetControllerは私が欲しいのコントローラである
  • 事前に適切にフレームサイズと広告ユニットIDを設定
  • さまざまなコントローラのviewDidAppearで[CustomClass getGoogleBanner:self]メソッドを呼び出し、バナーを正常に表示しますその最初の負荷の問題。

誰でもこの問題に遭遇したかどうか、どのように解決されているかを知りたいと思います。私は、凍結問題を解消するアイデアは何でも公開しています。バックグラウンドスレッドにコードを実行しようとしましたが、経験が足りないため失敗しました。

ご協力いただきありがとうございます。

+0

具体的にどのようなUIがあり、GADBannerViewが階層内にあるのかを具体的に説明できますか? 4-5秒のディレイはかなり大きく聞こえますが、複雑な描画/アニメーションをしていますか? – RajPara

+0

私は複雑な絵を描いていません。実際には、すべてのアプリケーションはUIViewと2-3 TableViewsで構成されています。テーブルには50以上の要素がありません。私はまた、バックグラウンドスレッドからメインウィンドウを変更することに関連するエラーで、動作しませんでしたが、バックグラウンドスレッドにloadRequest:メソッドを送信しようとしました。この関数は、Googleの標準的なメソッドであり、Google Banner Viewデリゲートによって応答がキャッチされているため、おそらく既に非同期です。 –

+0

それは私に同じ彼起こる!解決策は見つかりましたか? – Aitul

答えて

2

私はこの問題がシミュレータで実行されている場合にのみ発生しているので、この場合は心配する必要はありません。

loadRequestメソッドを呼び出すと、フレームワークでcanOpenURL:メソッド(UIApplication)も呼び出されます。私が走ったいくつかのテスト(5.1.1と6.1.3の両方のシミュレータとiOSデバイス)では、canOpenURLがシミュレータ上で数秒間フリーズすることがありました(しかし、20秒後に戻りました)が、 。

関連する問題