第一次尝试在onLaunch中获取设备cid以便后端推送使用,但是不知为何获取cid的结果十分不稳定,时有时无,经过多次尝试通过使用循环多次获取,解决此问题

// #ifdef APP-PLUS
// 获取客户端标识
let pinf = plus.push.getClientInfo();
if (pinf && pinf.clientid) uni.setStorageSync('cid', pinf.clientid);
else {
	var obtainingCIDTimer = setInterval(function() {
		pinf = plus.push.getClientInfo();
		if (pinf.clientid) {
			uni.setStorageSync('cid', pinf.clientid);
			clearInterval(obtainingCIDTimer);
		}
	}, 50);
}
setTimeout(() => {
	console.log('cid', uni.getStorageSync('cid'));
}, 500);
// #endif

需要注意:
1、需要在manifest.json 中配置推送才可以获取到cid 。
2、需要在真机中调试。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐