2015-01-07 5 views
1

Намеревается использовать плагин ADBPhoneGap для реализации Adobe Analytics в моем мобильном приложении. Ниже приведен код, я стараюсь использовать основные конфигурации, которые задают в Link. Ошибка, которую я получаю, не может прочитать «ADB» свойства Undefined. Как исправить проблему. Также не удалось выяснить, что и где реализовать «Автоматическое отслеживание показателей жизненного цикла», упомянутое в приведенной выше ссылке. Может ли кто-нибудь помочь с базовым скриптом для метода trackState или trackAction со ссылкой на следующий пример.Невозможно прочитать свойство «ABD» неопределенного - плагин для телефонной книги Adobe Analytics

<!DOCTYPE HTML> 
<html> 
<head> 
<!-- <meta name="viewport" content="width=320; user-scalable=no" /> --> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
<title>PhoneGap</title> 
    <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title"> 
    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script> 
    <script type="text/javascript" charset="utf-8" src="ADB_Helper.js"></script> 
    <script type="text/javascript"> 

    var ADB; 
    function initialize() { 
    alert('In initalize'); 
      document.addEventListener("deviceready", onDeviceReady, true); 
      //alert('Device Ready'); 
     alert('Exit initalize'); 
     } 
     function onDeviceReady() { 
     alert('in On Device Ready method'); 
      ADB = window.plugins.ADB; 
         alert('Exit On Device Ready method'+ADB); 
      // Note: A request for permission is REQUIRED by google. You probably want to do this just once, though, and remember the answer for subsequent runs. 
      navigator.notification.confirm('GA_PLUGIN would like your permission to collect usage data. No personal or user identifiable data will be collected.', permissionCallback, 'Attention', 'Allow,Deny'); 
     } 

    function TrackButtonClicked() 
    { 
    alert('Track Button Entry'); 
// ADB.trackState("login page", {"user":"john","remember":"true"}); 
    alert('Track Button Exit'); 
    } 
    </script> 
    </head> 
    <body onload="initialize();" id="stage" class="theme"> <!-- onunload="goingAway();" --> 

<h1>Test Adobe Analytics Plugin</h1> 
<div class="space"></div> 
<div> 
    <a href="#" class="btn large" onclick="TrackButtonClicked();">Track Event</a> 
    <!--<a href="#" class="btn large" onclick="VariableButtonClicked();">Track Event with Variable</a> 
    <a href="#" class="btn large" onclick="PageButtonClicked();">Track Page</a>--> 
</div> 
</body> 
</html> 

ответ

0

Поскольку в ADBHelper.js переменной называется АБР уже заявил, что, кажется, что вы перезаписать его два раза в коде. Сначала вы shadow его с

var ADB 

на вашем глобальном масштабе, что практически означает перезапись. Тогда вы

ADB = window.plugins.ADB; 

который снова устанавливает его в качестве window.plugins.ADB который, кажется, неопределенным.

Итак, удалите эти две строки, после чего, если плагин правильно установлен, ADB должен быть объектом, содержащим методы для Adobe Analytics.

+0

Это устраняет эту ошибку @sanfor .. Спасибо! – Learner

+0

Далее, с тем, что я пытаюсь выполнить TrackLocation по коду ADB.trackLocation ('40 .431596 ',' -111.893713 '); который дает мне ошибку «Uncaught TypeError: Object # не имеет метода« exec »,« ... У вас есть идея для того же? @sanfor – Learner

+0

Поскольку _cordova.exec_ is _undefined_, вы пытаетесь вызвать ADB перед событием _deviceReady_, поэтому дождитесь его. –

 Смежные вопросы

  • Нет связанных вопросов^_^