Skip to content

Commit 94c411b

Browse files
authored
Support setAdvertiserTrackingEnabled on iOS (#47)
* iOS implementation of advertiser tracking * Advertiser tracking flag is iOS-only * Add description of ATE functions * Rename functions for consistency, and add to header * Fix typo in docs
1 parent 41217bd commit 94c411b

File tree

4 files changed

+54
-0
lines changed

4 files changed

+54
-0
lines changed

facebook/api/facebook.script_api

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,22 @@
233233
Facebook Canvas platform, therefore this function has no effect on Facebook
234234
Canvas.
235235

236+
#*****************************************************************************************************
237+
238+
- name: enable_advertiser_tracking
239+
type: function
240+
desc: Enable advertiser tracking
241+
This function will set AdvertiserTrackingEnabled (the 'ATE' flag) to true on iOS, to inform
242+
Audience Network to use the data to deliver personalized ads for users on iOS 14 and above.
243+
244+
#*****************************************************************************************************
245+
246+
- name: disable_advertiser_tracking
247+
type: function
248+
desc: Disable advertiser tracking
249+
This function will set AdvertiserTrackingEnabled (the 'ATE' flag) to false on iOS, to inform
250+
Audience Network not to use the data to deliver personalized ads for users on iOS 14 and above.
251+
236252
#*****************************************************************************************************
237253

238254
- name: show_dialog

facebook/src/facebook.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,26 @@ static int Facebook_Init(lua_State* L)
122122
return 0;
123123
}
124124

125+
static int Facebook_EnableAdvertiserTracking(lua_State* L)
126+
{
127+
#if defined(DM_PLATFORM_IOS)
128+
CHECK_FACEBOOK_INIT(L);
129+
return Platform_FacebookEnableAdvertiserTracking(L);
130+
#else
131+
return 0;
132+
#endif
133+
}
134+
135+
static int Facebook_DisableAdvertiserTracking(lua_State* L)
136+
{
137+
#if defined(DM_PLATFORM_IOS)
138+
CHECK_FACEBOOK_INIT(L);
139+
return Platform_FacebookDisableAdvertiserTracking(L);
140+
#else
141+
return 0;
142+
#endif
143+
}
144+
125145
static const luaL_reg Facebook_methods[] =
126146
{
127147
{"init", Facebook_Init},
@@ -135,6 +155,8 @@ static const luaL_reg Facebook_methods[] =
135155
{"show_dialog", Facebook_ShowDialog},
136156
{"login_with_permissions", Facebook_LoginWithPermissions},
137157
{"deferred_deep_link", Facebook_FetchDeferredAppLinkData},
158+
{"enable_advertiser_tracking", Facebook_EnableAdvertiserTracking},
159+
{"disable_advertiser_tracking", Facebook_DisableAdvertiserTracking},
138160
{0, 0}
139161
};
140162

facebook/src/facebook_ios.mm

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,20 @@ int Platform_FacebookDisableEventUsage(lua_State* L)
524524
return 0;
525525
}
526526

527+
int Platform_FacebookEnableAdvertiserTracking(lua_State* L)
528+
{
529+
[FBSDKSettings setAdvertiserTrackingEnabled :true];
530+
531+
return 0;
532+
}
533+
534+
int Platform_FacebookDisableAdvertiserTracking(lua_State* L)
535+
{
536+
[FBSDKSettings setAdvertiserTrackingEnabled :false];
537+
538+
return 0;
539+
}
540+
527541
int Platform_FacebookShowDialog(lua_State* L)
528542
{
529543
int top = lua_gettop(L);

facebook/src/facebook_private.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ int Platform_FacebookPermissions(lua_State* L);
142142
int Platform_FacebookPostEvent(lua_State* L);
143143
int Platform_FacebookEnableEventUsage(lua_State* L);
144144
int Platform_FacebookDisableEventUsage(lua_State* L);
145+
int Platform_FacebookEnableAdvertiserTracking(lua_State* L);
146+
int Platform_FacebookDisableAdvertiserTracking(lua_State* L);
145147
int Platform_FacebookShowDialog(lua_State* L);
146148
int Platform_FacebookLoginWithPermissions(lua_State* L, const char** permissions, uint32_t permission_count, int audience, dmScript::LuaCallbackInfo* callback);
147149
int Platform_FetchDeferredAppLinkData(lua_State* L, dmScript::LuaCallbackInfo* callback);

0 commit comments

Comments
 (0)