根据关键字在 admob android studio 上定制广告

Custom ads on admob android studio based on keyword

我在网上搜索过,但到目前为止我的研究并不顺利,我在我的 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);

然而,这不起作用。

您可以尝试这样做:

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

现在您可以构建广告请求了。

经过一番研究,似乎不支持关键字。

已有various questions over the years that all have the same answer

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

您可以使用 AdRequest.Builder 中的 addKeyword(String keyword) 添加关键字到您的 AdRequest,这在 here 中有记载。调用示例如下所示:

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

但是,如上所述 - 后端似乎没有使用这些关键字。

AdMob 支持站点显示存在三种方式 advertisers can choose to target their ads- 上下文(关键字,可能是隐式而不是显式)、展示位置和兴趣。

您可以通过 allowing and blocking ads, which if you truly do only want to show ads related to toys, then you will have to block everything except the toys category shown in the general category list 在您的应用之外进行过滤。

我想你需要这个:

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

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

1.Test 广告

通过将您的散列设备 ID 传递给 AdRequest.Builder.addTestDevice:

来设置测试广告
 AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)        // All emulators
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4")  // An example device ID
.build();

2.Location

位置定向信息也可以在 AdRequest 中指定:

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

3.Gender

如果您的应用已经知道用户的性别,它可以在广告请求中提供该信息以进行定位。如果启用中介,该信息还会转发到广告网络中介适配器。

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

4.Birthday

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

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

5.Designed 家庭设置

如果您选择加入 Google Play 的 Designed for Families 计划并在应用中展示广告,则需要确保这些广告符合 Designed for Families 计划要求和广告政策。

通过在 extras 中将 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.Child-定向设置

为了儿童在线隐私保护法 (COPPA) 的目的,有一个名为 "tag for child directed treatment" 的设置。

作为应用开发者,您可以在发出广告请求时指明是否希望 Google 将您的内容视为面向儿童的内容。如果您表示希望 Google 将您的内容视为面向儿童的内容,我们将采取措施针对该广告请求禁用 IBA 和再营销广告。该设置可用于所有版本的 Google Play 服务 SDK,通过 AdRequest.Builder.tagForChildDirectedTreatment(boolean):

如果您将 tagForChildDirectedTreatment 设置为 true,您将表明根据 COPPA 的目的,您的内容应被视为面向儿童。 如果您将 tagForChildDirectedTreatment 设置为 false,则表明您的内容不应被视为 COPPA 的儿童导向内容。 如果您不设置 tagForChildDirectedTreatment,广告请求将不会包含您希望如何根据 COPPA 处理您的内容的指示。

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

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

7.Keyword

为定位目的添加关键字。

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.

上找到更多信息

根据文档添加用于定位目的的关键字。 您可以使用此单行代码。 public AdRequest.Builder addKeyword(字符串关键字)