I’m trying to set up Meta Ads integration. Android works perfectly fine and I get 200 as a response back from Meta. IOS keeps failing and returning a error message.
IOS request body is as follows (this fails):
{
"access_token": "[token here]",
"data": [
{
"action_source": "app",
"app_data": {
"advertiser_tracking_enabled": true,
"application_tracking_enabled": true,
"extinfo": [
"a2",
"",
"",
"1.1.5",
"Version 26.1 (Build 23B86)",
"",
"nl-NL,nl;q=0.9",
"",
"",
0,
0,
"",
0,
0,
0,
""
]
},
"custom_data": {
"content_ids": [
"scandoc_premium_montly"
],
"content_type": "product",
"contents": [
{
"id": "scandoc_premium_montly",
"quantity": 1
}
],
"currency": "USD",
"order_id": "d389bfdf5ea1d930fa5c6ef4fcd9e3ab179a57fa",
"value": 4.99
},
"event_id": "d389bfdf5ea1d930fa5c6ef4fcd9e3ab179a57fa",
"event_name": "Subscribe",
"event_time": 1766084555,
"user_data": {
"anon_id": "XZ54193BB4-03AA-439C-83E6-357CD34D8D5E",
"em": "ccd793a81dd0c1ca94492edb501f3a7717a40a76c093dff515b2f7b36108576e",
"external_id": "a28b66322fd410eccb57ba8cfc5616ffde208dba3214e578d1f0a7079a8c5287"
}
}
],
"partner_agent": "revenuecat"
}
The response is:
{"error":{"message":"Invalid parameter","type":"OAuthException","code":100,"error_subcode":2804043,"is_transient":false,"error_user_title":"Ongeldige parameter voor uitgebreide apparaatinformatie","error_user_msg":"Je stuurt apparaatinformatie met de verkeerde extinfo-versie of besturingssysteemversie. Raadpleeg https:\/\/developers.facebook.com\/docs\/graph-api\/reference\/application\/activities\/#parameters voor meer informatie.","fbtrace_id":"AAE2GO47iO3apZnsHTaV-84"}}
The Android request body is as follows (this works):
{
"access_token": "[token here]",
"data": [
{
"action_source": "app",
"app_data": {
"advertiser_tracking_enabled": true,
"application_tracking_enabled": true,
"extinfo": [
"a2",
"",
"",
"1.1.4",
"36",
"",
"en-US",
"",
"",
0,
0,
"",
0,
0,
0,
""
]
},
"custom_data": {
"content_ids": [
"scandoc_premium_montly"
],
"content_type": "product",
"contents": [
{
"id": "scandoc_premium_montly",
"quantity": 1
}
],
"currency": "USD",
"order_id": "6b19e1376549e523882c74c65fd36ff579b22fc6",
"value": 4.99
},
"event_id": "6b19e1376549e523882c74c65fd36ff579b22fc6",
"event_name": "Subscribe",
"event_time": 1766084805,
"user_data": {
"anon_id": "XZ5938a62d-62a9-49d6-9903-9b592ebc77ee",
"external_id": "68a1be5c60c334c0938a1d39521896f2a5c2edf15775fd15bb58f1feca2e12f1"
}
}
],
"partner_agent": "revenuecat"
}
I get the device information as follows:
// Automatically collect the $idfa, $idfv, and $ip values
Purchases.collectDeviceIdentifiers();
// REQUIRED: Set the Facebook anonymous Id
const anonymousId = await AppEventsLogger.getAnonymousID();
Purchases.setFBAnonymousID(anonymousId);
