ラベル AdSense の投稿を表示しています。 すべての投稿を表示
ラベル AdSense の投稿を表示しています。 すべての投稿を表示

2012-03-03

shouldOverrideUrlLoadingとshouldStartLoadWithRequestの違い

AndroidのWebViewのメソッドであるshouldOverrideUrlLoading(WebView, String)と、iOSのUIWebViewのwebView:shouldStartLoadWithRequest:navigationType: は、似たようなことを行いますが、重大な違いがあります。

AndroidのshouldOverrideUrlLoadingは、iframeのURLを読み込むときは呼ばれません。それに対して、iOSのhouldStartLoadWithRequestは、iframeの読み込みでも呼び出されます。

たとえば、自作アプリでexample.comのWebページだけを表示して、よそのページへのリンクはデフォルトのブラウザで表示するという仕様を考えてみます。
こんなときAndroidでは、shouldOverrideUrlLoadingでURLをチェックして、ホストがexample.comでなければIntentを投げるというふうにすれば実現できます。
しかし、iOSのwebView:shouldStartLoadWithRequest:navigationType: で同じことをやると、iframeまでSafariで開こうとしてしまいます。example.comのサイトが更新された場合に、問題を引き起こす可能性があります。
iOSの場合どうすればいいのかは、よくわかりません。

AdSenseなどの広告でiframeを用いている場合もあるので、十分に注意が必要です。

2011-06-22

Chrome ExtensionでAdSenseを使うのは規約違反

数日前からChromeブラウザ用の拡張機能を作成している。
Androidなどのスマートフォンに比べるとマーケットが小さい印象だが、作成したアプリでお金が入ってくるようにしたいと考えている。
広告を表示するのが手っ取り早いだろうと考えて、GoogleのAdSenseをExtension内に表示させられるか調べたのだが、残念ながらこれは利用規約違反になってしまうようだ。Google AdSense プログラム ポリシーの「トラフィックソース」という項目で次のことが禁止されている。
ツールバーなどのソフトウェア アプリケーションを操作した結果として、Google 広告、検索ボックス、検索結果などを表示すること
Google GroupでもAdSenseを使うのは規約違反になるという議論がされているのを見つけた(英語)。
広告収入を得る場合は、AdSense以外のサービスを利用する必要がありそうだ。