Hi Andrew,
thanks for the feedback. There are several use cases I would need the adCall paramater for. For the background, I have around 50 Android/iOS apps and mobile website where I place ads via the dfp adserver in. Nearly all apps have different developers. All ad templates need to be cross digital. Here are some samples I would need the adcall information for:
- Enabling/Testing of the apps
I created testbanners for the developers to check if they are shown correctly. Via dfp macro I can write the adUnit ID on the banner but not the adUnit plain name which they use when integrating the adcalls via SDK. It would be much easier to check if the banner that is displayed is on the right site in the app. (Out network has around 2000 mobile adUnits) - The parameter net gives you information weather you are on wifi or 3g. In the template I could use this to show a high resolution video/image for wifi and a low resolution video/image for non-wifi. It is much better handling this in a creative instead of lineitem
- I could get SDK Version information to handle bugs in older SDKs from you
- There are things like volume information of the device I would need for handling sound on video interstitials
- I would like to create a mobile debug information layer so broken ads can be reported with adCall information like device type, SDK version, requested adSizes, and so on
There are plenty of things I would like to do. :)
It is very very hard to create good looking and functional ads when haven hardly any information to use in native apps. Also supporting so many SDK integrations is not easy when these things are so limited. The workaround I used works fine on iOS, but not on Android
The way I use it at the moment is to catch all parameter from the url and use them in the template:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var uri_js = getParameterByName('js');
var uri_u_audio = getParameterByName('u_audio');
var uri_format = getParameterByName('format');
var uri_sz = getParameterByName('sz');
var uri_net = getParameterByName('net');
...
Best,
Klaas