Google Funding Choicesが機能しない-googlefc.getConsentStatus()は常にUNKNOWNを返します

Aug 24 2020

昨日、GDPR / EUCMPの目的でQuantcastChoiceからGoogleFundingChoiceに移行しようとしていました。何らかの理由で、同意を求め、メッセージダイアログで[同意]をクリックした後、メソッドはgooglefc.getConsentStatus()常にUNKNOWN(0)を返します。

さらに調査したところ、同意メッセージをどのように操作しても(同意ボタンをまっすぐクリックする、拒否する、個々のベンダーを選択するなど)、getConsentStatus()常にが返されるようUNKNOWNです。

誰が何が起こっているのかについての手がかりを持っていますか?私は何かが足りませんか?

私が使用している関連コード:

 window.googlefc.callbackQueue.push({
                'CONSENT_DATA_READY':
                    function () {                     
                        let consentStatus = window.googlefc.getConsentStatus();
                        vm.log("CM_CONSENT_STATUS", consentStatus);
                        switch (consentStatus) {
                            case window.googlefc.ConsentStatusEnum.CONSENTED_TO_PERSONALIZED_ADS:
                            case window.googlefc.ConsentStatusEnum.CONSENT_NOT_REQUIRED:
                                vm.allow(true);
                                break;
                            case window.googlefc.ConsentStatusEnum.CONSENTED_TO_NON_PERSONALIZED_ADS:
                                vm.reject(true);
                                break;
                            case window.googlefc.ConsentStatusEnum.UNKNOWN:
                            case window.googlefc.ConsentStatusEnum.NO_CONSENT:
                                break;
                        }
                    }
            });

window.googlefc.getConsentStatus() 常に戻ってきます window.googlefc.ConsentStatusEnum.UNKNOWN

回答

2 exo190 Aug 28 2020 at 19:02

「IABTCFv2フレームワークを使用している場合、window.googlefc.getConsentStatus()は常にwindow.googlefc.ConsentStatusEnum.UNKNOWNを返す」ため、これは実際には予想される動作のようです。私は同じ問題を抱えていて、redditで答えを追跡しました:https://www.reddit.com/r/adops/comments/ifh6n9/anybody_using_google_funding_choices_for_gdpr_cmp/

googlefc.getConsentStatus()関数またはそれに相当するものを機能させるための回避策は見つかりませんでしたが、CMPモーダルを機能させることができました(これを機能させるためにこのコードを用意する必要はありません。本当に必要なのはFunding Choicesは頭のてっぺんに貼り付け、(adsbygoogle = window.adsbygoogle || [])。pauseAdRequests = 1;などで広告リクエストを停止しないでください。これは、FundingChoicesが自動的に広告を一時停止するためです。同意が得られた後、リロードせずにそれらを開始します)