私はGoogleAdsenseを介して現金化しているFacebookiframeアプリケーションを持っています。Facebook認証を必要としないページでは、広告は適切に配信され、ページのコンテンツを反映します。Facebookセッションが必要なページでは、広告が正常にレンダリングされますが、非常に一般的です。これらはユーザーの地理のみを反映し、ページコンテンツは反映しません(たとえば、ユーザーの都市のグルーポン広告、写真アップロードサービスなどのランダムな広告)。
ページのコンテンツに基づいてターゲットを絞った広告をAdSenseに表示させたいのですが。問題のページにはたくさんの良いコンテンツがあります。純粋なログオンページのような「コンテンツフリー」ページではありません。
私はこの他の質問のために受け入れられた答えにあるものと同様のアプローチを使用しています: Facebookアプリケーションのグーグルアドセンス。私のAdSenseJavaScriptは、キャンバスページのiframeに読み込まれる別のファイルにあります。このファイルは(他のFacebook iframeアプリと同様に)iframeとしてFacebookに読み込まれます。Adsenseコードを含むファイルには、AdSenseに広告をターゲティングするためのコンテキストを提供するための関連コンテンツが多数含まれています。iframeにスクロールバーがなく、高さが制限されているように設定したため、このコンテンツはユーザーには表示されません。
Adsenseボット(ユーザーエージェントMediapartners-Google)がFacebookログオンによってブロックされ、ページのインデックスを作成できないという問題はありますか?
または、ユーザーがページにアクセスすると、Facebookが非常に長いクエリ文字列をタックし、AdSenseがユーザーごとに異なるページとして扱うという問題がありますか?繰り返しになりますが、これはiframeURLには影響しません。
他のスタックオーバーフローの質問で推奨される解決策は、iframeではなくフレームセットを使用してAdSenseコードとキーワードを含むファイルをロードすることを要求します。これは本当に違いを生むでしょうか?
iframeを介したAdSenseの読み込みを禁止するAdSenseの用語との潜在的な競合を認識しています。Facebookアプリの場合、他に方法はありません。アプリのiframeには広告ターゲティング用の正当なコンテンツがあり、パブリッシャー(私)が「所有」しているため、AdSenseの用語の文字ではないにしても精神と一致しているようです。使用の。
Facebookセッションを開く必要があるページを変更し、すべてのコントロールを無効にして、それらのページにアクセスし、まだFacebookにログインしていないユーザーにFacebookログインボタンを表示するというアイデアを試しました。私はJavascriptクライアントライブラリを使用してログインとコントロールの有効化を管理し、ページが更新されないようにします。AdSenseがコンテンツを読み取り、関連するターゲット広告を配信することを願っています。ただし、これはこれらのページに対する重要な変更であるため、より簡単な解決策がある場合は、この作業を避けたいと思います。