【uniapp】sigmob广告加载失败:-5005、500422没有imei的解决办法(原创可用)

news2024/9/25 11:19:05

在这里插入图片描述

问题

最近打算将开发的uniapp应用对接uni-ad广告中去,在对接sigmob的时候出现了以下问题:①错误码==-5005==,查询了以下官方文档,发现是说我频繁调用,可是并没有,我是在真机上测试的没成功就没在弄了,于是我等了一天,还是同样的问题②后面我通过以下方法调试整改后出现了新的报错500422,这个就比较明确提示我没有获取到imei,网上搜寻了很多东西没有找到解决办法,于是记录一下自己踩坑的经历!

5005的解决办法

官方的文档:
在这里插入图片描述
如果确实过了一段时间,还是出现如此,请考虑下面的方法进行整改:

  1. 去后台重新申请adpid(有种可能说法是:创建时间太长,失效了)
  2. 更换设备(最好就是真机)
  3. 广告没有填充,尤其是激励视频较为常见(sigmob是小众联盟可能存在问题,官方建议开通多个渠道)
  4. 请求过于频繁,可过段时间再试
  5. 当天请求次数已达广告商最大上限,明天再试
  6. 设备太旧
  7. 终端用户在刷广告,比如使用了云手机或手机墙
  8. 配置了 bidding 分层,无法满足条件的也会抛出此错误
  9. 更换演示代码,演示实例代码请用这个(不排除其他原因,博主是这样弄的,下方更换自己的adpid)
 <template>
  <view class="content">
    <ad-rewarded-video :adpid="adpids" :loadnext="true" v-slot:default="{loading, error}" @load="onadload" @close="onadclose" @error="onaderror">
      <button :disabled="loading" :loading="loading">显示广告</button>
      <view v-if="error">{{error}}</view>
    </ad-rewarded-video>
  </view>
</template>

<script>
export default {
  data() {
    return {
      adpids: ["1507000611", "1507000611", "1507000611", "1507000611"]
    }
  },
  methods: {
    onadload(e) {
      console.log('广告数据加载成功');
    },
    onadclose(e) {
      const detail = e.detail
      // 用户点击了【关闭广告】按钮
      if (detail && detail.isEnded) {
        // 正常播放结束
        console.log("onadclose " + detail.isEnded);
      } else {
        // 播放中途退出
        console.log("onadclose " + detail.isEnded);
      }
    },
    onaderror(e) {
      // 广告加载失败
      console.log("onaderror: ", e.detail);
    }
  }
}
</script>
 
  1. 检查sigmob sdk代码配置
    打开 manifest.json文件,点击 “源码视图”,uni-app 在 app-plus->distribute->sdkConfigs 下添加如下内容
{
	"app-plus": {
		"distribute": {
			"sdkConfigs": {
				"ad" : {
				  "sigmob" : {}
				}
			}
		}
	}
}

我的
在这里插入图片描述

  1. 打包时勾选

在这里插入图片描述

经过上面的整改后,如果成功了教程结束,如果错误码变成了500422,继续往下
在这里插入图片描述

500422解决办法(经过测试只需要getDeviceInfo这个方法即可)

在报错信息中,我看到了缺少imei字样,于是只需要获取imei即可,在做了大量的测试后(因为安卓版本迭代快新机型和旧机型获取imei有出入)

于是我在程序首页中加入以下代码/pages/index/index.vue

// 获取匿名设备标识符
			 getOAID(){
				plus.device.getOAID({
					success:function(e){
						console.log('getOAID success: '+JSON.stringify(e));
					},
					fail:function(e){
						console.log('getOAID failed: '+JSON.stringify(e));
					},
					});
					},
			// 获取设备信息
			 getDeviceInfo(){
				plus.device.getInfo({
					success:function(e){
						console.log('getDeviceInfo success: '+JSON.stringify(e));
					},
					fail:function(e){
						console.log('getDeviceInfo failed: '+JSON.stringify(e));
					}
				});
			},
			// 申请权限
			requestLocation(){
				plus.android.requestPermissions(['android.permission.READ_PHONE_STATE'], function(e){
					if(e.deniedAlways.length>0){	//权限被永久拒绝
						// 弹出提示框解释为何需要定位权限,引导用户打开设置页面开启
						console.log('Always Denied!!! '+e.deniedAlways.toString());
					}
					if(e.deniedPresent.length>0){	//权限被临时拒绝
						// 弹出提示框解释为何需要定位权限,可再次调用plus.android.requestPermissions申请权限
						console.log('Present Denied!!! '+e.deniedPresent.toString());
					}
					if(e.granted.length>0){	//权限被允许
					    //调用依赖获取定位权限的代码
						console.log('Granted!!! '+e.granted.toString());
					}
				}, function(e){
				    console.log('Request Permissions error:'+JSON.stringify(e));
				});
			},

在onLoad中完成调用

 onLoad(){
				 let that=this;
				 that.getDeviceInfo();
				 that.getOAID();
				 that.requestLocation();
				  }

并在manifest.json->app权限配置->勾选’android.permission.READ_PHONE_STATE’
在这里插入图片描述

打包后测试通过,首次运行,调用了权限,视频加载成功,如下图
在这里插入图片描述

博主强迫症犯了,经过测试发现只需要调用这个方法即可:

 that.getDeviceInfo();

上面的可以注释掉,权限可以不用管开着即可

完结撒花!!!🌼

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【力扣-876】链表的中间结点

&#x1f58a;作者 : Djx_hmbb &#x1f4d8;专栏 : 数据结构 &#x1f606;今日分享 : ----------小Tips&#xff1a; 虽然都是口服液体制剂&#xff0c;且看起来单支容量都一样&#xff0c;但是“藿香正气水”与“藿香正气口服液”的区别你知道吗&#xff1f;藿香正气水里含有…

Vue电商项目实战之角色列表添加,编辑,删除功能

这是黑马vue电商项目后台,自己需要完成的功能,这里仅供参考当然还需要自己去理解. 一.添加功能 在roles.vue中 1.添加角色的对话框 代码如下: <!-- 添加角色的对话框 --><el-dialog :visible.sync"addRoleDialogVisible" title"添加角色" widt…

【C++技能树】原来比C方便这么多 --缺省参数、函数重载、引用讲解

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

DPCNN分类模型

论文 Deep Pyramid Convolutional Neural Networks for Text Categorization 提出深层金字塔卷积网&#xff08;DPCNN&#xff09;是 word-level 的广泛有效的深层文本分类卷积神经网络&#xff0c;比 TextCNN&#xff08;浅层CNN&#xff09;性能明显提高。 TextCNN 不能通过卷…

Unity InputSystem (一)

什么是InputSystem InputSystem 是 2019 年 Unity 新推出的插件&#xff0c;输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容。它旨在成为 Unity 的经典输入管理器更强大、更灵活、更可配置的替代品。 新输入系统基于事件&#xff0c;输入设备和动作逻…

Redis 哨兵和集群

文章目录1. 单机模式2. 主从架构3. 哨兵4. 集群模式5. 哈希槽是什么&#xff1f;1. 单机模式 Redis 单副本&#xff0c;采用单个 Redis 节点部署架构&#xff0c;没有备用节点实时同步数据&#xff0c;不提供数据持久化和备份策略&#xff0c;适用于数据可靠性要求不高的纯缓存…

【硬件外设使用】——SPI

【硬件外设使用】——SPI SPI基本概念SPI通信协议SPI使用方法pyb.spimachine.spi SPI可用的传感器 SPI基本概念 SPI是一种串行端口通信接口&#xff0c;它是一种同步的全双工协议&#xff0c;用于在数字电路之间传输数据。SPI代表串行外设接口&#xff0c;是一种非常流行的数字…

UDS诊断测试

UDS&#xff08;Unified Diagnostic Services&#xff0c;统一的诊断服务&#xff09;诊断协议是在汽车电子ECU环境下的一种诊断通信协议。这种通信协议被用在几乎所有由OEM一级供应商所制造的新ECU上面。这些ECU控制车辆的各种功能&#xff0c;包括电控燃油喷射系统&#xff0…

TI在物联网和AI边缘计算中落伍了吗?

摘要&#xff1a;本文介绍一下TI在边缘计算工作中所做的努力。 发明“人工智能”这个term的老头儿也不会想到人工智能在中国有多火。 不管是懂还是不懂&#xff0c;啥东西披上“人工智能“的面纱都能瞬间成为大项目。 学习AI 的年轻人认识NVIDIA&#xff0c;可能不太知道DSP是…

金毅:10x HTAP,企业级关系型数据库内核技术创新与演进

导语4月8日下午&#xff0c;为期两天的第十二届数据技术嘉年华&#xff08;DTC 2023&#xff09;在北京新云南皇冠假日酒店圆满落下帷幕。大会以“开源融合数字化——引领数据技术发展&#xff0c;释放数据要素价值”为主题&#xff0c;汇聚产学研各界精英到场交流。作为大会的…

网络原理之UDP

hi,大家好,又见面了,今天为大家介绍一下UDP的网络原理&#x1f437;&#x1f437;&#x1f437; 文章目录认识UDP报文格式UDP特点TCP,UDP应用场景基于UDP的应用层协议认识UDP报文格式 UDP特点 TCP,UDP应用场景 基于UDP的应用层协议 1.认识UDP报文格式 其实在真正传输的…

批量记录收支明细:手把手教你如何查看上个月的收支明细并打印。

记录收支明细太久&#xff0c;想要快速查看并筛选出上个月的某一个明细要如何进行查询&#xff0c;还要进行打印要如何操作&#xff1f;今天就由小编来教教大家要如何操作。 首先第一步&#xff0c;我们要进入晨曦记账本主页面&#xff0c;点击主页面上方功能栏里的“添加收支…

聚焦云原生安全|安全狗云甲荣膺CSA 2022安全金盾奖

4月13日&#xff0c;第六届云安全联盟大中华区大会“年度颁奖典礼”表彰仪式顺利开展。作为国内云原生安全领导厂商&#xff0c;安全狗也收到邀请出席此次活动。​ 此次活动上&#xff0c;“年度颁奖典礼”作为重要环节之一&#xff0c;获得业界的关注。安全狗旗下云原生安全产…

zabbix介绍及部署(超详细讲解)

目录 1.zabbix的基本概述 2.zabbix的构成 1、Server 2、web页面 3、数据库 4、proxy 5、Agent 3.zabbix的监控对象 4.zabbix的常用术语 5.zabbix的工作流程 1、主动模式 2、被动模式 6.zabbix进程详解 7.zabbix的监控框架 1、server_client架构 2、zabbix_prox…

一文搞懂C#工程中程序数据库文件.pdb(符号文件)的作用,延伸搞懂Debug/Release、AnyCPU(首选32位)/x86/x64/ARM的区别

一、准备工作 MS引用&#xff1a;在 Visual Studio 调试器&#xff08;C#、C、Visual Basic、F#&#xff09;中指定符号 (.pdb) 和源文件 MS引用&#xff1a;为 C#、ASP.NET 或 Visual Basic 项目 &#xff08;.NET Framework&#xff09; 生成符号文件 MS引用&#xff1a;用…

ASP.NET动态Web开发技术第6章续

第6章续ASP.NET内置对象一.预习笔记 1.ASP.NET提供了七大内置对象&#xff0c;Page、Request、Response、Application、Session、Server和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息&#xff0c;以实现其他特定的状态管理和页面…

【动力节点】杜老师Vue笔记——Vue程序初体验

目录 一、Vue程序初体验 1.1 下载并安装vue.js 1.2 第一个Vue程序 1.3 Vue的data配置项 1.4 Vue的template配置项 一、Vue程序初体验 可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的&#xff0c;对我们编写Vue程序起不到太大的作用&#xff0c;…

云HIS源码 基层卫生健康云HIS源码

云HIS全称为基于云计算的医疗卫生信息系统&#xff08;Cloud-BasedHealthcareInformationSystem&#xff09;&#xff0c;是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按照现代医疗卫生管理要求&#xff0c;在一定区域范围内以数字化形式提供医疗卫生行业数据收集、…

正版软件 Directory Opus 12 Pro Windows 平台上的资源管理器,定是功能完全、可定制化程度高的那款。

Directory Opus 是一款 Windows 平台上的资源管理器&#xff0c;定是功能最完全、可定制化程度最高的那款。你可以通过它完成几乎所有操作&#xff0c;包括查看图片元信息、预览图片、阅读文本文件内容、批量重命名、操作压缩文件以及 FTP 同步请求等。 Directory Opus 是一款由…

QGIS数据可视化学习笔记00——为什么用QGIS以及QGIS设置中文界面

一、为什么用QGIS&#xff1f; 1、qgis的概念 qgis原称Quantum GIS&#xff0c;是开源的桌面地理信息系统软件。 qgis是一款桌面版gis软件&#xff0c;他是基于qt平台使用c开发出来gis软件。 2、qgis的主要特点 1.支持多种GIS数据文件格式 2.集成或支持其他开源GIS&#…