問題タブ [gpt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
365 参照

javascript - GPT - キーバリュー広告スロットに表示される非キーバリュー広告

DFP で広告ユニットと Key-Value を設定しました。Google のチュートリアルに基づいて、次のコードでサイトを構築しました。

しかし、ページをテストすると、ROS 広告 (キー値は割り当てられていませんが、すべての広告ユニットをターゲットにしています) が表示されます。私はしばらくこれをいじっていましたが、setTargeting が適切に機能していないように見える理由がわかりません。

0 投票する
1 に答える
5970 参照

gpt - イベントへの Google サイト運営者タグの登録

Google サイト運営者タグのリファレンスを見て、広告スロットにいくつかのイベントを追加できると判断しました。スロットを 1 つだけ定義した場合はうまく機能します。さらにスロットを追加すると、コンソールでスロットの回数だけイベントが繰り返されます。

だから、私がこのようなことをすると:

私の console.log は 3x "スロットがレンダリングされました:" になります。defineSlot 部分から.addServiceを 2 つ削除すると、console.log は 1 回だけですが、広告はレンダリングされません。

他のすべてを壊さずに余分なログを削除する方法はありますか? しばらくすると、非常に面倒になることがあります。

ありがとう!

0 投票する
1 に答える
358 参照

javascript - gpt.js ファイル宣言の document.write に代わるものを探しています

JavaScriptのdocument.writeの代わりに何を使用できますか? このコード行を書き直す別の方法はありますか?

0 投票する
1 に答える
3173 参照

angular - SPA の Google DFP (Angular、Vue) - 広告とそのすべての参照を破棄してメモリ リークを回避する方法

Google の DFPVue.jsAngularSPA と両方で使用しようとしましたが、メモリ リークが発生しているようです。

Angular では、 https://github.com/jbojcic1/angular-dfp-memory-leak-proof-of-conceptの概念実証を見ることができます。広告には、ngx-dfp npmパッケージ ( https://github.com/atwwei/ngx-dfp ) を使用しています。プルを再現して概念実証プロジェクトを実行するには、最初にフィードに 3 つの広告があるホームページに移動し、ヒープ スナップショットを実行します。その後、ヘッダーのリンクを使用して広告のないページに移動し、ヒープ スナップショットを再度実行すると、メモリ リークの原因となっているスロットが破棄された後もスロット参照が保持されていることがわかります。

Vueには、広告スロットを作成および破棄するコンポーネントがあり、それらをコンテンツ フィードに動的に追加しています。ページを離れると、コンポーネントが破棄され、beforeDestroy フックで destroySlots を呼び出しますが、参照がまだ残っているようです。

これが私の dfp-ad コンポーネントです:

GPT を注入し、プラグインでグローバル構成を設定しています。

広告コンポーネントの 1 つを次に示します。

誰かが同様の問題を抱えていましたか?私は何か間違ったことをしていますか?それとも、メモリ リークを引き起こさずに SPA のスロットを破棄して作成することはできませんか?

編集

切り離されたノードのスクリーンショットは次のとおりです。

ここに画像の説明を入力

0 投票する
2 に答える
1180 参照

google-dfp - 「disableInitialLoad」がGPTで呼び出されたかどうかを知る方法は?

が呼び出されたかどうかを知る必要があります。その場合、と の呼び出しgoogletag.pubads().disableInitialLoad()を使用して広告を読み込みます。それ以外の場合は、単に を使用して読み込みます。私の仮定では、常にplusを呼び出すと、呼び出されていない限り、2 つの広告リクエストを受け取ることになります。displayrefreshdisplaydisplayrefreshdisableInitialLoad

それを知ることは可能ですか?