1

Google 애널리틱스와 비슷한 스크립트를 만들었습니다 (로드시 스크립트 만들기, 배열에 데이터 푸시, 호스트 스크립트에서 추적 데이터를 저장하는 데 사용됨). 데이터베이스)를 사용하여 소프트웨어의 내부적으로 통계를 추적 할 수 있습니다. 나는 현재 디버깅하고있어Facebook 인스턴트 기사 op 추적기 및 CSP 위반으로 맞춤 추적 코드

<figure class="op-tracker"> 
    <iframe> [code] </iframe> 
</figure> 

:

Refused to load the script 'https://My-Domain.com/js/w_analytics.js' 
because it violates the following Content Security Policy directive: 
"script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com 
*.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 
'unsafe-inline' 'unsafe-eval' fbstatic-a.akamaihd.net 
fbcdn-static-b-a.akamaihd.net *.atlassolutions.com blob: data: 'self'". 

인스턴트 조 마크 업 코드의 예상 블록 내부의 스크립트를 모두 올바른 : 그러나 문제는 페이스 북 내 스크립트에 대한 CSP 오류를 준다이다 이를 통해 페이스 북의 디버그 페이지 : http://ww.ia-tracker.fbsbx.com/instant_article_test?url=<share_url>

이상한 것은 가끔 내가 통해 즉시 제, BU에서 내 데이터베이스에 몇 가지 통계를 얻을 수 없다는 것입니다 일관성이 없거나 각 페이지 뷰에 없습니다.

<figure class="op-tracker"> 
     <iframe src="http://my-url-tracker.com/"> 
      <!-- 
      The request to http://my-url-tracker.com/ will be rewritten to 
      include the following query parameters: 

      ia_share_url: The URL the user shared 
      ia_title: The article title 
      --> 
     </iframe> 
</figure> 

그러나 문제는 그것이 단지 내 자신의 추적이 더 많은 정보를 필요 두 매개 변수를 전송 말한다이다 :

페이스 북 문서는과 같이 당신의 추적에 직접 URL을 할 수 있다고 내 소프트웨어 (예 : UA 문자열)에 필요하므로 이상적으로이 접근 방식을 피하고 싶습니다.

누구든지이 용도로 맞춤 추적 스크립트를 사용해 본 경험이 있습니까?

답변

1

일이에 장난 후에, 나는과 같이, 내 사용자 지정 추적 스크립트에 iframe srcop-tracker를 사용하여 작업 할 그것을 가지고 :

<figure class="op-tracker"> 
     <iframe src="http://my-url.com/tracker.php"></iframe> 
</figure> 

페이스 북의 워드 프로세서는 훨씬 멀리에 대한 제공하지 않습니다 이 방법은, 그들은 정보의 작은 비트를 생략 : 레퍼러 ia_referrer (이 ia.facebook.com로 반환)

당신은 다음 "tracker.php"에 $_GET$_SERVER의 조합을 사용할 수 있습니다 보낸 세 번째 매개 변수가 무엇이든 잡을 스크립트 당신이 당신의 스크립트에 필요한 기타 세부 사항, 예를 들면 :

또한 페이스 북 (귀하의 사이트가 필요에 따라 수정할 스크립트를 액세스 할 수 있는지 확인하기 위해 tracker.phpheader()을 포함해야
$instantArticleURL = urldecode($_GET['ia_share_url']); 
    $HTTPreferrer = $_GET['ia_referrer']; 
    $userAgent = $_SERVER['HTTP_USER_AGENT']; 
    $visitorIP = $_SERVER['REMOTE_ADDR']; 

, 분명) :

header("Access-Control-Allow-Origin: https://www.facebook.com");

는 희망이 다른 사람 두통의 몇 일 :

을 절약 할 수