Partager via


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 de true ou false dans la result.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ération Deeplink() a échoué. L’objet result n’est utile que pour la result.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’appel DeepLink() , 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 AppEventDelegatela 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 la result.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 les result.idname propriétés et result.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 sera id l’ID Google Android Advertising.
  • Pour les appareils Android qui n’utilisent pas les services Google Play, idname sera "sha1udid" et sera id 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();