2017-09-27 2 views
0

J'ai développé une application Unity qui utilise le SDK Facebook. Tout se passe bien, sauf que le trafic quitte mon application, envoyant des informations sur l'annonceur à Facebook avant même que j'initialise officiellement le SDK Facebook.Facebook SDK pour Unity effectue des appels avant l'initialisation

Cela provoque de graves problèmes si l'application est destinée aux enfants de moins de 13 ans, car il envoie un ID pour un utilisateur qui ne doit pas être suivi. Existe-t-il un moyen de limiter ces appels ou de ne se produire qu'après l'initialisation formelle du SDK et non lors du démarrage de l'application?

Voici un exemple d'appel de ce que je vois:

POST /v2.8/XXXXXXXXXXXXXXX/activities?advertiser_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&advertiser_tracking_enabled=1&anon_id=XXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&application_tracking_enabled=1&event=MOBILE_APP_INSTALL&extinfo=XXXXXXXXXXXXXXXXXXXXXXXX&format=json&include_headers=false&sdk=ios&url_schemes=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
HTTP/1.1 
Host: graph.facebook.com 
Accept-Encoding: gzip, deflate 
Content-Type: multipart/form-data; 
Accept-Language: en-gb 
Content-Length: 1378 
Accept: */* 
Connection: keep-alive 
User-Agent: FBiOSSDK.4.17.0 

sdk ios 
advertiser_tracking_enabled 1 
format json 
include_headers false 
anon_id XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 
application_tracking_enabled 1 
event MOBILE_APP_INSTALL 
extinfo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
url_schemes XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
advertiser_id XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 

Il est évident que je ne peux pas désactiver le suivi de ces appels si le SDK n'a pas été officiellement initialisé.

Répondre

0

L'intégration du SDK sans aucun autre travail entraîne ce problème. Cependant, la seule solution consiste à modifier directement le code natif dans XCode pour iOS.

Vous devez aller au fichier FacebookSDK/SDK/Editor/iOS/FBUnityInterface.mm et modifier la fonction suivante de cette

- (void)didBecomeActive:(NSNotification *)notification 
{ 
    [FBSDKAppEvents activateApp]; 
} 

à cette

- (void)didBecomeActive:(NSNotification *)notification 
{ 
// [FBSDKAppEvents activateApp]; 
} 

Sinon, les événements déclencheront droit comme vous démarrez l'application, sans demander une porte d'âge. Espérons que cela aide