第一次尝试在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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐