如何在C#中获取iOS设备的广告ID?

如何在C#中获取iOS设备的广告ID?

问题描述:

我想知道是否有办法通过Unity中的C#脚本获取iOS设备的广告ID?如何在C#中获取iOS设备的广告ID?

在此先感谢。

你不能用C#单独获得它,但你可以写一个超级简单的插件来做到这一点。

创建一个名为getVendorId.mm文件(或任何你想将它命名),并把这个代码在它:

#import <AdSupport/ASIdentifierManager.h> 

extern "C" 
{ 
    char* _getDeviceVendorId() 
    { 
     NSUUID *adId = [[ASIdentifierManager sharedManager] advertisingIdentifier]; 
     NSString *udid = [adId UUIDString]; 
     const char *converted = [udid UTF8String]; 
     char* res = (char*)malloc(strlen(converted) + 1); 
     strcpy(res, converted); 
     return res; 
    } 
} 

然后把你的资产>插件>的iOS文件夹中的文件。

您要在使用id的C#脚本

然后,首先声明exturn方法,像这样:

#if UNITY_IPHONE 
     [DllImport("__Internal")] 
     private static extern string _getDeviceVendorId(); 
#endif 

然后,你可以调用该方法的任何地方在脚本像这样:

string AdvertisingId = _getDeviceVendorId();