代码之家  ›  专栏  ›  技术社区  ›  Henry

基于关键字的admob android studio上的自定义广告

  •  12
  • Henry  · 技术社区  · 10 年前

    我在网上搜索过,但到目前为止我的研究还不顺利,我已经在我的android应用程序中设置了admobs,现在我只想根据我设置的关键词显示相关广告。我的应用程序基于玩具,所以我只想显示与玩具相关的广告

     AdRequest adRequest = new AdRequest.Builder().build();
     adView.loadAd(adRequest);
    

    看看这个: Admob ad on custom Dialog

    此人使用过:

     AdRequest request = new AdRequest();
            Set<String> keywords = new HashSet<String>();
            keywords.add("game");
            request.setKeywords(keywords);
    

    然而,这不起作用。

    4 回复  |  直到 9 年前
        1
  •  9
  •   Stanojkovic    10 年前

    我想你需要这个:

    AdRequest request = new AdRequest.Builder() 
    .addKeyword("game").build();
    .adView.loadAd(request);
    

    你可以试试这个,但这里有一些例子,也许你能找到你所需要的:

    1.测试广告

    通过将哈希设备ID传递给AdRequest.Builder.addTestDevice来设置测试广告:

     AdRequest request = new AdRequest.Builder()
    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
    .addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4")  // An example device ID
    .build();
    

    2.位置

    还可以在AdRequest中指定位置目标信息:

    AdRequest request = new AdRequest.Builder()
    .setLocation(location)
    .build();
    

    3.性别

    如果你的应用程序已经知道用户的性别,它可以在广告请求中提供该信息,以用于目标定位。如果启用了中介,信息也会转发到广告网络中介适配器。

    AdRequest request = new AdRequest.Builder()
    .setGender(AdRequest.GENDER_FEMALE)
    .build();
    

    4.生日

    如果你的应用程序已经知道用户的生日,它可以在广告请求中提供该信息,以用于目标定位。如果启用了中介,该信息也会转发到广告网络中介适配器。

    AdRequest request = new AdRequest.Builder()
    .setBirthday(new GregorianCalendar(1985, 1, 1).getTime())
    .build();
    

    5.专为家庭设计

    如果您选择了应用程序加入Google Play的“为家庭设计”计划,并且在应用程序中显示了广告,则需要确保这些广告符合“为家庭而设计”计划的要求和广告政策。

    通过在附加项中将is_designed_for_families参数设置为true,可以将广告请求标记为为家庭设计的:

    Bundle extras = new Bundle();
    extras.putBoolean("is_designed_for_families", true);
    
    AdRequest request = new AdRequest.Builder()
        .addNetworkExtrasBundle(AdMobAdapter.class, extras)
        .build();
    

    6.儿童导向设置

    出于《儿童在线隐私保护法》(COPPA)的目的,有一种设置被称为“儿童指导治疗标签”。

    作为应用程序开发人员,您可以在提出广告请求时表明是否希望谷歌将您的内容视为儿童指导。如果您表示希望Google将您的内容视为儿童指导,我们将采取措施禁用IBA并根据该广告请求重新营销广告。该设置可用于所有版本的Google Play服务SDK,通过 AdRequest.Builder.tagForChildDirectedTreatment(boolean) :

    如果您设置 tagForChildDirectedTreatment 到 true ,您将指出,出于COPPA的目的,您的内容应被视为儿童指导。 如果您设置 儿童指导治疗标签 到 false ,您将表明,出于COPPA的目的,您的内容不应被视为儿童指导。 如果未设置 儿童指导治疗标签 ,广告请求将不包括您希望您的内容在COPPA中如何处理的指示。

    AdRequest request = new AdRequest.Builder() .tagForChildDirectedTreatment(true) .build();
    

    通过设置此标签,您可以证明此通知是准确的,并且您有权代表应用程序的所有者行事。您理解滥用此设置可能会导致您的Google帐户被终止。

    7.关键词

    添加关键字以用于目标定位。

    AdRequest request = new AdRequest.Builder() .addKeyword(someKeyword) .build();
    

    加载带有目标的广告

    设置了请求目标信息后,使用AdRequest实例在AdView上调用loadAd。

    AdRequest request = new AdRequest.Builder()
    .setLocation(location)
    .setGender(AdRequest.GENDER_FEMALE)
    .setBirthday(new GregorianCalendar(1985, 1, 1).getTime())
    .tagForChildDirectedTreatment(true)
    .addKeyword("game")
    .build();
    adView.loadAd(request);
    

    有关更多信息,请访问 this link.

        2
  •  2
  •   Sean O'Toole Ak47    10 年前

    在做了一些研究之后,似乎不支持关键字。

    已经有了 various questions 在 years 都有 same answer :

    这个 documentation for targeting ads 不包括有关使用关键字的任何信息。

    您可以将关键字添加到 AdRequest 使用 addKeyword(String keyword) 在里面 AdRequest.Builder ,记录在案 here 。示例调用如下:

    AdRequest adRequest = new AdRequest.Builder().addKeyword("game").build();
    adView.loadAd(adRequest);
    

    然而,如上所述,这些关键字似乎并没有在后端使用。

    AdMob支持网站显示有三种方法 advertisers can choose to target their ads -上下文(关键词,可能是隐式的而不是显式的)、位置和兴趣。

    您可以通过以下方式筛选应用程序外部 allowing and blocking ads ,如果你真的只想显示与玩具相关的广告,那么你就必须屏蔽除 general category list .

        3
  •  1
  •   Damanpreet Singh    10 年前

    您可以尝试这样做:

    AdRequest.Builder builder = new AdRequest.Builder()
            .addKeyword("game");
    

    现在,您可以构建adrequest。

        4
  •  0
  •   Apurva Pagare    10 年前

    根据文档添加一个关键字用于目标定位。 您可以使用此单行代码。 公共AdRequest。生成器addKeyword(字符串关键字)