LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭

idfa

363浏览    2参与
Nil

都是地雷啊

适用于iOS的移动广告SDK使用Apple的广告标识符(IDFA)。SDK根据iOS开发人员计划许可协议中规定的准则使用IDFA。您必须确保遵守用于管理此标识符的iOS开发人员计划许可协议的政策。


总而言之,似乎大多数使用AdMob的开发人员只是简单地检查了第1和第4个对勾标记并提交了他们的应用,而没有完全确定Google在其SDK中的功能,也没有任何官方信息。祝大家好运。


Google AdMob 官方并没有准确侵袭的解释,它们似乎把对侵犯用户隐私的合规风险让开发者一并承担了。


所以暂时不勾选第4个问题的答案。


I'm having the same...

适用于iOS的移动广告SDK使用Apple的广告标识符(IDFA)。SDK根据iOS开发人员计划许可协议中规定的准则使用IDFA。您必须确保遵守用于管理此标识符的iOS开发人员计划许可协议的政策。


总而言之,似乎大多数使用AdMob的开发人员只是简单地检查了第1和第4个对勾标记并提交了他们的应用,而没有完全确定Google在其SDK中的功能,也没有任何官方信息。祝大家好运。


Google AdMob 官方并没有准确侵袭的解释,它们似乎把对侵犯用户隐私的合规风险让开发者一并承担了。


所以暂时不勾选第4个问题的答案。


I'm having the same issue here and I was a bit afraid of checking the last box, since I have no idea what the 3rd party SDK will do with the data collected and if they will respect the Limit Ad Settings.

But I found a post by a Google Admob programmer, Eric Leichtenschlag, on their forums:

The Google Mobile Ads SDK and the Google Conversion Tracking SDK utilize Apple's advertising identifier introduced in iOS 6 (IDFA). While each developer is responsible for how they access device data, the SDKs use IDFA under the guidelines laid out in the iOS developer program license agreementincluding Limit Ad Tracking.

Including Limit Ad Tracking. This is what the last box is all about. So you must check the that box if you use AdMob. If you use other SDK I strongly recommend checking if they respect the guidelines as well.

Since I run only ads (Google AdMob), I checked the first (Serve ads...) and last box (I, ___, confirm...). App was approved and released, no issues.


Squirrel

关于获取iOS设备唯一标识符笔记

在iOS的开发过程中,我们常常会遇到获取设备的UUID,IDFV,IDFA,MAC地址等一系列的设备标识符。

什么是设备的UUID呢,更详细的介绍可以参考www.cocoachina.com/industry/20130422/6040.html

话不多说,直接上代码:

1、获取广告标示符(IDFA-identifierForIdentifier)

导入    #import<AdSupport/ASIdentifierManager.h>

+(NSString *)dy_getDeviceIDFA{

ASIdentifierManager...

在iOS的开发过程中,我们常常会遇到获取设备的UUID,IDFV,IDFA,MAC地址等一系列的设备标识符。

什么是设备的UUID呢,更详细的介绍可以参考www.cocoachina.com/industry/20130422/6040.html

话不多说,直接上代码:

1、获取广告标示符(IDFA-identifierForIdentifier)

导入    #import<AdSupport/ASIdentifierManager.h>

+(NSString *)dy_getDeviceIDFA{

ASIdentifierManager *asIM = [[ASIdentifierManager alloc] init];

NSString *idfaStr = [asIM.advertisingIdentifier UUIDString];

return idfaStr;

}

2、获取Vindor标示符 (IDFV-identifierForVendor)

+(NSString *)dy_getDeviceIDFV{

NSString* idfvStr      = [[UIDevice currentDevice] identifierForVendor].UUIDString;

return idfvStr;

}

Git上的erica的UIDevice扩展文件,以前可用但由于IOKit framework没有公开,所以也无法使用。就算手动导入,依旧无法使用,看来获取IMEI要失败了,同时失败的还有IMSI。不过还存在另外一种可能,Stack Overflow上有人提供采用com.apple.coretelephony.Identity.get entitlement方法,but device must be jailbroken;在此附上链接,供大家参考:http://stackoverflow.com/questions/16667988/how-to-get-imei-on-iphone-5/16677043#16677043

3、获取MAC地址

#include <sys/sysctl.h>

#include <sys/socket.h>

#include <net/if.h>

#include <net/if_dl.h>

+(NSString*)dy_getDeviceMAC{

int mib[6];

size_t len;

char *buf;

unsigned char *ptr;

struct if_msghdr *ifm;

struct sockaddr_dl *sdl;

mib[0] = CTL_NET;

mib[1] = AF_ROUTE;

mib[2] = 0;

mib[3] = AF_LINK;

mib[4] = NET_RT_IFLIST;

if ((mib[5] = if_nametoindex("en0")) == 0) {

printf("Error: if_nametoindex error\n");

return NULL;

}

if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) {

printf("Error: sysctl, take 1\n");

return NULL;

}

if ((buf = malloc(len)) == NULL) {

printf("Could not allocate memory. error!\n");

return NULL;

}

if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) {

printf("Error: sysctl, take 2");

free(buf);

return NULL;

}

ifm = (struct if_msghdr *)buf;

sdl = (struct sockaddr_dl *)(ifm + 1);

ptr = (unsigned char *)LLADDR(sdl);

NSString *macStr = [NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",*ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];

free(buf);

return macStr;

}

4、获取UUID

+(NSString*)dy_getDeviceUUID{

CFUUIDRef uuid = CFUUIDCreate(NULL);

assert(uuid != NULL);

CFStringRef uuidStr = CFUUIDCreateString(NULL, uuid);

return (__bridge NSString *)(uuidStr);

}

UDID是肯定要被苹果拒绝的,Stack Overflow提供了另外一种方法,越狱可尝试:http://stackoverflow.com/questions/27602368/how-to-get-serial-number-of-a-device-using-iokit-in-ios8-as-ioplatformserialnumb/27686125#27686125

 @ 

LOFTER

让兴趣,更有趣

简单随性的记录
丰富多彩的内容
让生活更加充实

下载移动端
关注最新消息