2014-02-20 5 views
1

С начала февраля Apple начала отклонять мобильные приложения из AppStore, если они обращаются к рекламному идентификатору (IDFA), но не покажут рекламу во время работы.Facebook SDK для ссылок на Unity ASIdentifierManager

Яблоко исполнение пункт 3.3.12 от своих разработчиков Руководства:

«Вы и ваши приложения (и любая третья сторона, с которым вы заключили контракт, чтобы служить рекламой) может использовать рекламный идентификатор, и любую информацию, полученную с использованием рекламного идентификатора, только для рекламы рекламы. Если пользователь сбрасывает рекламный идентификатор, то Вы соглашаетесь не объединять, коррелируют, ссылки или иным образом ассоциировать, прямо или косвенно, предшествующее Advertising Identifier и любой производной информации с сбросом Реклама Identifier «.

Выпуск: : ASIndentifierManager ссылается на FacebookSDK.a (Facebook SDK для Unity), и поскольку наше приложение НЕ показывает никаких объявлений, мы можем отказаться. Мы просто используем Facebook для входа в систему и ничего другого.

У кого-нибудь есть идея, как удалить ссылку ASIndentifierManager в библиотеке FB Unity?

До сих пор я не нашел решение для Facebook SDK для Unity относительно этой проблемы. Я видел, что это уже было поднято на странице разработчиков Facebook, но только для SDK iOS, а не для Unity SDK. Если я пропустил какую-либо ссылку, не стесняйтесь указывать ее мне. Благодарю.

ответ

0

У меня была такая проблема. Единственное, что я могу вам посоветовать, - загрузить source code из FacebookSDK и отредактировать его, как описано в этом post. После компиляции у вас будет файл с разрешением «.a». Затем вам нужно будет заменить файл FacebookSDK.a (Assets/Facebook/Editor/iOS) на то, что вы получили в результатах компиляции.

p.s. Извините за английский

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Sasa

0

Рекламный идентификатор по умолчанию передается по xcode в проектах с единством, т. е. все проекты xcode, сделанные из единицы, будут иметь рекламируемый идентификатор.

Если ваше приложение не показывает рекламу, вам необходимо изменить код с помощью скрипта DeviceSettings.mm xcode.

1) Найдите параметры DeviceSettings.мм файл в вашем Xcode проекте (вы должны найти его под Classes/Unity /)

2) Сделайте следующие изменения там:

а) Удалите следующие функции: код (Csharp):

static id QueryASIdentifierManager() 
{ 
<..> 
} 
static void QueryAdID() 
{ 
<..> 
} 
static void QueryAdTracking() 
{ 
<..> 
} 

б) Удалите следующие объявления переменных: код (CSharp):

static NSString* _ADID    = nil; 
static bool   _AdTrackingEnabled = false; 

с) Изменить реализацию следующих FUNC ЦИИ (заменяющий с приведены ниже): Кода (CSharp):

extern "C" const char* UnityAdvertisingIdentifier() 
{ 
return NULL; 
} 

extern "C" bool   UnityAdvertisingTrackingEnabled() 
{ 
return false; 
} 

static void QueryDeviceID() 
{ 
    if(_DeviceID == nil) 
    { 
    #if UNITY_PRE_IOS7_TARGET 
     if(!_ios70orNewer) 
      _InitDeviceIDPreIOS7(); 
    #endif 

     // first check vendor id 
     if(_DeviceID == nil) 
     { 
      QueryVendorID(); 
      _DeviceID = _VendorID; 
     } 
    } 
} 

Вы можете обратиться к следующей ссылке:

http://forum.unity3d.com/threads/ios-advertising-identifier-rejection-faq.226187/

Кроме того, после изменения коды, когда вы отвечаете на вопросы по itunes при подаче приложения, поставьте «нет» для использования idfa.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Sasa

Смежные вопросы