var idfa = '';
if (plus.os.name === 'iOS') {
var manager = plus.ios.invoke('ASIdentifierManager', 'sharedManager');
var enable = plus.ios.invoke(manager, 'isAdvertisingTrackingEnabled');
if (enable) {
var identifier = plus.ios.invoke(manager, 'advertisingIdentifier');
idfa = plus.ios.invoke(identifier, 'UUIDString');
plus.ios.deleteObject(identifier);
}
plus.ios.deleteObject(manager);
}
console.info('idfa', idfa);
- 发布:2020-09-25 18:29
- 更新:2020-09-25 22:07
- 阅读:1654
产品分类: HTML5+
HBuilderX版本号: 2.8.11
手机系统: iOS
手机系统版本号: iOS 13.4
手机厂商: 苹果
手机机型: iPhone X
打包方式: 云端
App下载地址或H5⽹址: https://apps.apple.com/cn/app/id1517002618
示例代码:
操作步骤:
APP动即获取idfa
APP动即获取idfa
预期结果:
可以获取idfa
可以获取idfa
实际结果:
获取到的idfa为空
获取到的idfa为空
bug描述:
iOS 14获取到的idfa为空,已确认允许追踪广告,且iOS 13.x没问题。
天生DR - 天生我材必有用
目前请先使用老的invoke方式 调用
var ASIdentifierManager = plus.ios.importClass('ASIdentifierManager');
var sharedManager = ASIdentifierManager.sharedManager();
var IDFA = sharedManager.advertisingIdentifier().UUIDString();
console.log('IDFA:'+IDFA);
t***@qq.com (作者)
用以下代码获取idfa了:
var NSUUID = plus.ios.importClass('NSUUID');
var UIDevice = plus.ios.importClass("UIDevice");
var currentDevice = UIDevice.currentDevice()
var identifierForVendor = currentDevice.identifierForVendor().UUIDString();
var ASIdentifierManager = plus.ios.importClass("ASIdentifierManager");
var sharedManager = ASIdentifierManager.sharedManager();
var advertisingIdentifier = sharedManager.advertisingIdentifier();
var idfa = plus.ios.invoke(advertisingIdentifier,"UUIDString");
t***@qq.com (作者)
感谢提供解决思路
2020-09-25 22:06
t***@qq.com (作者)
但是你的这段代码是拿不到idfa
2020-09-25 22:06