You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

InMobi Ad SDK适配GDPR后广告请求无效问题求助

解决InMobi广告请求被拒绝的问题

我来帮你梳理下这个广告请求被拒的问题,结合你的代码和GDPR配置细节,大概率是参数配置或者初始化环节出了问题,咱们一步步排查:

1. 修正GDPR参数的键名错误

你代码里用了自定义的"gdpr"字段,但InMobi SDK要求使用官方定义的常量来传递GDPR相关参数,这很可能是导致请求无效的核心原因。正确的参数键应该是InMobiSdk.IM_GDPR_APPLICABLE,而不是自己写的"gdpr"。

修正后的初始化代码示例:

JSONObject consentObject = new JSONObject();
try {
    // 告知SDK是否已获取用户的GDPR同意状态
    consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
    // 0 = GDPR不适用当前用户/地区,1 = GDPR适用
    consentObject.put(InMobiSdk.IM_GDPR_APPLICABLE, 0);
    // 如果GDPR适用(值设为1),建议同时传入用户的同意字符串(若有)
    // consentObject.put(InMobiSdk.IM_GDPR_CONSENT_STRING, "用户的同意内容字符串");
} catch (JSONException e) {
    e.printStackTrace();
}
// 确保这里的InMobiAccountId是后台获取的有效账户ID
InMobiSdk.init(this, InMobiAccountId, consentObject);
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);

2. 确认账户与广告单元ID的有效性

  • 检查InMobiAccountId是否完全匹配你在InMobi后台获取的账户ID,有没有大小写或字符拼写错误;
  • 验证你加载Banner/Interstitial时使用的广告单元ID是否在后台已启用,没有被标记为无效或封禁。

3. 结合日志定位具体错误

你已经开启了DEBUG日志,仔细查看Logcat中的InMobi相关日志,SDK会返回具体的错误码(比如1001表示无效请求、2002表示无广告填充等),根据错误码可以更精准地定位问题:

  • 如果是1001,除了参数问题,还要检查网络权限(确保应用有INTERNET和ACCESS_NETWORK_STATE权限);
  • 如果是3001,说明你在SDK未完成初始化时就发起了广告请求,需要确保初始化完成后再加载广告。

4. 测试环境的特殊配置

如果你是在测试设备上调试,建议使用InMobi提供的测试广告单元ID,避免因为正式单元的流量限制或审核状态导致请求被拒。

内容的提问来源于stack exchange,提问作者Avijit Karmakar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:57:31