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
- 阅读:1837
产品分类: 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 - Q:342134068 V:Dronaldo17
目前请先使用老的invoke方式 调用
   var ASIdentifierManager = plus.ios.importClass('ASIdentifierManager');    
    var sharedManager = ASIdentifierManager.sharedManager();    
    var IDFA = sharedManager.advertisingIdentifier().UUIDString();    
    console.log('IDFA:'+IDFA); 
                                                                    
                                                                西谷科技 (作者)
用以下代码获取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");  
 
             
             
             
			 
            
西谷科技 (作者)
感谢提供解决思路
2020-09-25 22:06
西谷科技 (作者)
但是你的这段代码是拿不到idfa
2020-09-25 22:06