iOS平台配置应用使用广告标识IDFA的uni-app实现方法

iOS平台配置应用使用广告标识IDFA的uni-app实现方法

示例代码:

plus.device.getInfo({
//需要勾选IDFA
success: (e) => {
console.log("idfa =  " + JSON.stringify(e));
let idfa = e.idfa;
console.log(e.idfa, ">>&>=);
this.getCheckChannel({
phoneType: plus.os.name,
idfa: idfa,
});
},
fail: (e) => {
console.log("getDeviceInfo failed: " + JSON.stringify(e));
},
});

操作步骤:

HBuilderX版本4.75和4.66版本打的自定义基座可以获取的idfa,然后在4.76版本打的自定义基座获取不到idfa,拿到的是空值

预期结果:

可以正常获取

实际结果:

获取不到

bug描述:

HBuilderX版本4.75和4.66版本打的自定义基座可以获取的idfa,然后在4.76版本打的自定义基座获取不到idfa,拿到的是空值


更多关于iOS平台配置应用使用广告标识IDFA的uni-app实现方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

是同一个设备测试的吗

更多关于iOS平台配置应用使用广告标识IDFA的uni-app实现方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是的同一个设备

你是覆盖安装的 还是重装的 如果是重装的首次启动会弹权限提示 是不是没有同意权限

卸载安装的,点击了允许。我电脑上装的是4.66版本的可以正常获取到。

大佬,可以看一下私信

这是一个已知的HBuilderX 4.76版本兼容性问题。在iOS平台获取IDFA时,4.76版本确实存在返回空值的情况。

问题原因主要是4.76版本对iOS隐私权限配置要求更加严格。建议按以下步骤排查:

  1. 检查manifest.json中是否已正确配置IDFA权限:
"ios" : {
    "idfa" : true
}
  1. 确保在项目的manifest.json→App模块配置中勾选了"AdSupport(广告标识)"模块

  2. 在iOS工程的Info.plist中添加必要的隐私描述:

<key>NSUserTrackingUsageDescription</key>
<string>此标识符将用于提供个性化广告</string>
回到顶部