簡體   English   中英

Android-打開Chrome自定義標簽,而不是啟動網絡瀏覽器PublisherAdView

[英]Android - open Chrome custom tab instead of launch web browser PublisherAdView

我一直在網上搜索以尋找一種禁用PublisherAdView的點擊方法,但無濟於事。 我們將DFP廣告管理系統用於廣告https://developers.google.com/mobile-ads-sdk/docs/dfp/android/quick-start 當用戶點擊應用中的廣告時,DFP SDK將打開網絡瀏覽器。 但是,我想打開Chrome自定義標簽,而不是啟動網絡瀏覽器。 這可能嗎?

我知道有點晚了,但是這是我能夠解決此問題的一種方法。

PublisherAdView沒有公開任何方法來完成此操作。 實現此目的的一種方法是使用自定義事件。

這個想法是當用戶點擊您的廣告並使用您的android應用中的AppEventListener捕獲廣告時,在DFP端觸發自定義事件。

在DFP廣告管理系統上,您可以這樣設置模板或樣式:

<script src="//media.admob.com/api/v1/google_mobile_app_ads.js"></script>
<script>
    handleClick = function() {
      admob.events.dispatchAppEvent("destinationUrl", "%%DEST_URL%%");
    };
  </script>
<div onClick="handleClick()"> ...ad template here... </div>

然后在您的Android應用上,添加一個AppEventListener來捕獲事件:

private static final String DFP_DESTINATION_URL = "destinationUrl";

...

PublisherAdView publisherAdView = new PublisherAdView(getActivity());
publisherAdView.setAppEventListener((eventName, eventValue) -> { // or use publisherAdView.setAppEventListener(new AppEventListener() {...});  if you don't use lambdas
    if (DFP_DESTINATION_URL.equals(eventName)) {
        CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
        /// setup your intent as needed
        CustomTabsIntent customTabsIntent = builder.build();
        /// And finally open the custom chrome tab
        customTabsIntent.launchUrl(this, Uri.parse(eventValue));
    }
});
publisherAdView.loadAd(mPublisherAdRequest);

希望這可以幫助您或指出正確的方向來解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM