Guide de l’utilisateur ANJAM
L’API JavaScript de l’annonceur vers native pour mobile, ou « ANJAM », permet aux créatifs mobiles d’accéder à des fonctionnalités supplémentaires qui ne sont pas fournies par MRAID. Cela inclut la possibilité d’effectuer une liaison approfondie.
Remarque
Les créatifs mobiles s’exécutant dans des iframes peuvent utiliser MRAID en même temps que cette API.
Utilisation
Toutes les fonctions ANJAM sont asynchrones. Toute fonction qui interroge un résultat doit installer une fonction pour gérer la réponse. La fonction de rappel est appelée avec un objet de résultat dont les propriétés contiennent les résultats de l’appel de fonction.
Remarque
Tous les objets de résultat contiennent également une result.caller
propriété avec la valeur du nom de la fonction appelante (par exemple : DeepLink
ou GetDeviceID
).
Conseil
Utilisation d’ANJAM/MRAID à partir d’un iframe :
Pour qu’un créatif utilise ANJAM, MRAID à partir d’un iFrame dans le KIT de développement logiciel (y compris lorsque « Servir dans iFrame » est coché), le créatif doit ajouter cet extrait de code HTML au début :
<script src="https://acdn.adnxs.com/mobile/anjam/anjam.js"></script>
Fonctions exportées
Cette section répertorie toutes les fonctions exportées par ANJAM. Chaque fonction est décrite et utilisée dans un exemple.
anjam. MayDeepLink(url, result_callback)
Les créatifs peuvent utiliser cette fonction pour déterminer si l’application avec laquelle ils établissent une liaison approfondie est installée sur l’appareil.
-
url
: chaîne indiquant une URL de lien profond gérée par une application native. Par exemple :"fb://post?1234"
. Consultez également la documentation Facebook sur la liaison approfondie. -
result_callback
-function(result) {}
: sera appelé avec un objet de résultat, avec une valeur detrue
oufalse
dans laresult.mayDeepLink
propriété indiquant si le lien profond sera géré sur cet appareil ou non.
Exemple :
var url = "example://widget?id=123";
ExampleDeepLink = function (url) {
// Test for success.
anjam.MayDeepLink(url, function (result) {
// This will log "Callback for MayDeepLink: true".
console.log("Callback for " + result.caller + ": " + result.mayDeepLink);
if (result.mayDeepLink) {
anjam.DeepLink(url, function (deeplinkresult) {
console.log(deeplinkresult.caller + " call failed.");
});
}
});
}
ExampleDeepLink(url);
anjam. DeepLink(url, err_callback)
Les créatifs utilisent cette fonction pour appeler l’URL du lien profond, généralement en réponse à un onClick()
événement et après avoir reçu un true
résultat de mayDeepLink()
.
Si le DeepLink()
lancement a réussi et que l’annonce a été développée, la publicité se ferme et le rappel n’est pas appelé.
-
url
: chaîne indiquant une URL de lien profond. -
err_callback
: -function(result) {}
Appelé uniquement si l’opérationDeeplink()
a échoué. L’objet result n’est utile que pour laresult.caller
propriété .
Consultez la documentation pour anjam.MayDeepLink()
obtenir un exemple.
anjam. ExternalBrowser(url)
Permet au créatif de remplacer la configuration du Kit de développement logiciel (SDK) et de forcer l’ouverture de la page d’accueil dans le navigateur natif de l’appareil (par opposition au navigateur par défaut dans l’application).
-
url
: URL à ouvrir dans le navigateur de plateforme native. Similaire à l’appelDeepLink()
, mais destiné au lancement de sites web dans le navigateur natif.
Exemple :
var url = "http://www.example.com";
ExampleExternalBrowser = function(url) {
anjam.ExternalBrowser(url);
}
ExampleExternalBrowser(url);
anjam. InternalBrowser(url)
Les URL sont normalement ouvertes dans le navigateur dans l’application en mode invisible pour case activée si l’URL est redirigée vers un magasin ou non. Cet appel force le navigateur dans l’application à devenir immédiatement visible. Si l’URL ou l’une de ses redirections est envoyée à l’App Store, l’App Store est ouvert et le navigateur dans l’application est ignoré comme étant normal. Cette méthode permet de remplacer le mode invisible initial.
-
url
: URL à ouvrir dans le navigateur dans l’application.
Exemple :
var url = "http://www.example.com";
ExampleInternalBrowser = function(url) {
anjam.InternalBrowser(url);
}
ExampleInternalBrowser(url);
anjam. RecordEvent(url)
Utilisé pour le suivi des événements ; l’URL sera chargée par le Kit de développement logiciel (SDK) en arrière-plan. Il est généralement utilisé pour le suivi des pixels.
-
url
: URL que le SDK va charger en arrière-plan. L’URL accepte'data'
les URL ou'javascript:'
.
Exemple :
ExampleRecordEvent = function() {
anjam.RecordEvent("http://www.example.com/pixel?id=123");
}
anjam. DispatchAppEvent(event, data)
Donne aux créatifs la possibilité d’envoyer un événement personnalisé à l’application. Pour recevoir cet événement, l’application doit implémenter du code.
Sur iOS, l’application implémente AppEventDelegate
la méthode de didReceiveAppEvent
.
Sur Android, l’application implémente le onAppEvent
dans la AppEventListener
classe .
-
event
: chaîne remise au gestionnaire de l’application. -
data
: chaîne remise au gestionnaire de l’application.
Exemple :
var e = 'SomeEvent';
var d = 'TheEventData';
ExampleDispatchAppEvent = function(evt, data) {
anjam.DispatchAppEvent(evt, data);
}
ExampleDispatchAppEvent(e, d);
anjam. GetVersion(callback)
Permet d’obtenir la version actuelle de l’API ANJAM.
-
callback
: :function(result) {}
appelé avec la chaîne de version d’API actuelle (« 1.0 ») dans laresult.version
propriété .
Exemple :
ExampleGetVersion = function() {
anjam.GetVersion(function (result) {
// This will log "GetVersion returned: 1.0".
console.log(result.caller + " returned: " + result.version);
});
}
ExampleGetVersion();
anjam.GetDeviceID(callback)
Utilisé pour récupérer l’ID d’appareil actuel pour la publicité.
-
callback
: -function(result) {}
Appelé avec lesresult.idname
propriétés etresult.id
.idname
est une chaîne avec le type d’ID passé.id
est la valeur de chaîne de l’ID de publicité. - Pour les appareils
idname
iOS sera"idfa"
et l’ID est l’ID Apple pour la publicité. - Pour les appareils Android utilisant les services Google Play,
idname
sera"aaid"
et seraid
l’ID Google Android Advertising. - Pour les appareils Android qui n’utilisent pas les services Google Play,
idname
sera"sha1udid"
et seraid
le hachage SHA1 de l’ID Android de l’appareil.
Exemple :
ExampleGetDeviceID = function() {
anjam.GetDeviceID(function (result) {
// This will log "GetDeviceID: idfa = AEBE52E7-03EE-455A-B3C4-E57283966239".
console.log(result.caller + ": " + result.idname + " = " + result.id);
});
}
ExampleGetDeviceID();
anjam. SetMRAIDRefreshFrequency(millisecondes)
Permet au développeur créatif de spécifier un intervalle de temps personnalisé pour actualiser les valeurs de taille, de position et de visibilité. En outre, sur iOS, cet appel doit être activé NSRunLoopCommonModes
sur .NSTimer
-
milliseconds
: valeur entière décrivant l’intervalle de temps en millisecondes.
Exemple :
<script src="mraid.js"></script>
<script type="text/javascript">
if (mraid.getState() == 'loading') {
mraid.addEventListener('ready', onSDKReady);
} else {
onSDKReady();
}
function onSDKReady() {
if ((typeof window.anjam.SetMRAIDRefreshFrequency) !== "undefined") {
anjam.SetMRAIDRefreshFrequency(10);
}
setInterval(function() {
p = mraid.getCurrentPosition(), s = mraid.getScreenSize(), d = document.getElementById('pc'), y = (1-(s.height-p.y)/s.height)*300;
d && (d.scrollTop = y);
}, 10);
}
</script>
<style type="text/css">
#pc { position: relative; width: 300px; height: 300px; overflow: hidden; }
</style>
<a href="https://www.reddit.com/r/cats/"><img src="media/600" width="300" height="600"><
/img></a>
anjam. GetCustomKeywords(url)
Permet d’obtenir des mots clés personnalisés définis sur BannerAdView. À l’aide de cette fonctionnalité, toute mot clé personnalisée définie sur BannerAdView est accessible dans la création HTML via ANJAM sans utiliser de macros créatives ou exécuter un JS aléatoire dans le Webview.
-
callback
: function(result) {} : répond avec les mots clés personnalisés ajoutés.
Exemple :
ExampleGetCustomKeywords = function() {
anjam.GetCustomKeywords(function (result) {
// If you have set custom keywords in BannerAdView like below
//banner.addCustomKeyword(withKey: "foo", value: "bar")
//banner.addCustomKeyword(withKey: "randomkey", value: "randomvalue")
// This will log "GetCustomKeywords foo=bar randomkey=randomvalue".
console.log("GetCustomKeywords" + " foo=" + result.foo + " randomkey=" + result.randomkey);
});
}
ExampleGetCustomKeywords();