Rechazo de Apple por el «Advertising Identifier»

Publicado por:

rejection2Apple ha cambiado su política, me ha rechazado varias apps por el «Advertising Identifier«. Y es que ahora Apple no desea que para los anuncios, se recoja información «personal» de los usuarios.

El único motivo de recoger esa información es para ofrecer anuncios más relevantes al usuario.

El «Advertising Identifier»permite lo que se llama remárketing o retargeting. Un sistema que utiliza tanto Facebook como Google, para ofrecer anuncios más relevantes. Las ventajas de este sistema son obvias, porque en este caso, si sabes qué tipo de juegos se descarga el usuario, le ofreces más juegos de ese tipo ¿No? ¿Qué hay de malo?

Pués nada, Apple no desea que se recoja esa información aunque los usuarios pueden inhabilitar esa opción para los anuncios que se les propone.

Es cierto que no todos los usuarios saben esa opción de desabilitar, ¿Pero no es mejor que decidan los usuarios en lugar de Apple?

Bueno, al final ya solucioné el problema. En mi caso era el SDK de Playhaven.

Por si te interesa el error del rechazo de Apple decía:

PLA 3.3.12

We found your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with the terms of the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

Specifically, section 3.3.12 of the iOS Developer Program License Agreement states:

«You and Your Applications (and any third party with whom you have contracted to serve advertising) may use the Advertising Identifier, and any information obtained through the use of the Advertising Identifier, only for the purpose of serving advertising. If a user resets the Advertising Identifier, then You agree not to combine, correlate, link or otherwise associate, either directly or indirectly, the prior Advertising Identifier and any derived information with the reset Advertising Identifier.»

Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

If your app is serving ads, please:

– Ensure that you have tested your app on a device, not just the simulator, and that you have removed all previous versions of your app prior to testing

– Provide us the steps to locate ads in your app

If your app does not serve ads, please check your code – including any third-party libraries – to remove any instances of:

class: ASIdentifierManager

selector: advertisingIdentifier

framework: AdSupport.framework

If you are planning to incorporate ads in a future version, please remove the Advertising Identifier from your app until you have included ad functionality.

To help locate the Advertising Identifier, use the “nm” tool. For information on the “nm” tool, please see the nm man page.

If you do not have access to the libraries’ source, you may be able to search the compiled binary using the «strings» or «otool» command line tools. The «strings» tool lists the methods that the library calls, and «otool -ov» will list the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

 

Y la solución fue comentar las siguientes lineas del SDK de Playhaven:

En el archivo PHAdRequest.m (Lineas 35-44)
/* if (![PHAPIRequest optOutStatus] && [ASIdentifierManager class]) { NSUUID *uuid = [[ASIdentifierManager sharedManager] advertisingIdentifier]; NSString *uuidString = [uuid UUIDString]; if (0 < [uuidString length]) { theIdentifiers[@»ifa»] = uuidString; } }*/

En el archivo PHAPIRequest.m (Lineas 379-383):
/* if ([ASIdentifierManager class]) { NSNumber *trackingEnabled = [NSNumber numberWithBool:[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]]; [combinedParams setValue:trackingEnabled forKey:@»tracking»]; }*/

 

De nada, un placer 😉

0