第一次尝试在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、需要在真机中调试。