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


我在网上搜索过,但到目前为止我的研究还没有运气,我已经在我的Android应用程序中设置了adobs,现在我只想根据我设置的关键字显示相关的广告。我的应用程序基于玩具,因此我只想展示与玩具相关的广告

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

看着这个: 自定义对话框上的Admob广告

此人使用过:

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

但是,这不起作用。


4340
2018-01-17 16:48


起源

什么在这段代码中不起作用?当你看到logcat时,你会看到“游戏”吗? - Gavriel
它没有提供任何错误,但是当我使用此代码并设置关键字时,例如玩具,它不会显示仅与玩具相关的广告,而是广告是正常的(随机),就像以前一样。 - Henry


答案:


我想你需要这个:

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.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 for Families设置

如果您选择将自己的应用添加到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将您的内容视为面向儿童的内容。如果您表明希望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);

其他信息可以在上找到 这个链接。


6
2018-02-01 00:09



这是很好的信息。您是否有机会在通过MoPub进行调解时知道如何应用这些额外的参数? (无需更改适配器 - 希望为所有中介广告网络执行此操作)。特别设计(专为家庭和儿童捕捉而设计) - AndroidMechanic - Viral Patel
可以使用多字关键字@Stanojkovic吗?例如addKeyword(“策略游戏”)会有效吗?我找不到任何关于使用与AdMob的addKeyword方法相关的长尾关键字的信息...... - Zippy
@Zippy,是的,您可以使用多个关键字,但我不知道“策略游戏”关键字是否有效。你需要测试一下。 - Stanojkovic


在做了一些研究之后,它看起来不像是支持关键字。

有过 各种问题 过了 年份 都有 同样的答案

定位广告的文档 不包含使用关键字的任何信息。

您可以为自己添加关键字 AdRequest 运用 addKeyword(String keyword) 在 AdRequest.Builder,记录在案 这里。一个示例调用如下所示:

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

但是,如上所述 - 它看起来并不像后端使用这些关键字。

AdMob支持网站显示有三种方式 广告客户可以选择定位广告 - 上下文(关键字,可能是隐含的而非显式的),位置和兴趣。

您可以在应用之外进行过滤 允许和屏蔽广告,如果你真的只想展示与玩具相关的广告,那么你将不得不阻止除了所示的玩具类别之外的所有东西 一般类别清单


2
2018-01-28 08:25





你可以尝试这样做:

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

现在您可以构建adrequest。


1
2018-01-27 12:14



嗨,对不起,我是新手,我需要在此代码中添加其他内容还是完整的? - Henry
试试这个:'AdRequest.Builder builder = new AdRequest.Builder()。addKeyword(“game”); builder.setRequestAgent( “游戏”);”不会给出任何错误,但它不会根据游戏及其随机广告显示广告 - Henry
您好抱歉迟到的回复。您需要创建新请求:AdRequest request = builder.build();我认为这应该有效。 - Damanpreet Singh


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


0
2018-02-01 07:42