2016-11-26 9 views
0

私は以下のコードとそのうまくいっています。私の問題は、私はいずれかの特定のページ数を取得する方法を私を助けるetc.Can例のログイン・ページの登録ページのための特定のページビュー数を取得する必要があるcount.NowPHPを使用したGoogleアナリティクスの特定のページビュー数を取得

<?php 

require_once __DIR__ . '/vendor/autoload.php'; 

$analytics = initializeAnalytics(); 
$response = getReport($analytics); 

printResults($response); 

function initializeAnalytics() 
{ 

    $KEY_FILE_LOCATION = __DIR__ . '/Student-a2aeba87a13b.json'; 


    $client = new Google_Client(); 
    $client->setApplicationName("Hello Analytics Reporting"); 
    $client->setAuthConfig($KEY_FILE_LOCATION); 
    $client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']); 
    $analytics = new Google_Service_AnalyticsReporting($client); 

    return $analytics; 
} 

function getReport($analytics) { 


    $VIEW_ID = "107034574"; 


    $dateRange = new Google_Service_AnalyticsReporting_DateRange(); 
    $dateRange->setStartDate("30daysAgo"); 
    $dateRange->setEndDate("today"); 


    $sessions = new Google_Service_AnalyticsReporting_Metric(); 

$sessions->setExpression("ga:pageviews"); 
    $sessions->setAlias("hits"); 
    echo "<pre>"; 

    $browser = new Google_Service_AnalyticsReporting_Dimension(); 
$browser->setName("ga:pagePathLevel1"); 
    $request = new Google_Service_AnalyticsReporting_ReportRequest(); 


    $request->setViewId($VIEW_ID); 
    $request->setDateRanges($dateRange); 

$request->setMetrics(array($sessions)); 

    //Create the Dimensions object. 

    /* $sessions->setExpression("ga:users"); --get total users 
    /$browser->setName("ga:userType"); 
    $sessions->setExpression("ga:percentNewSessions"); ---new user session percentage 
    * $sessions->setExpression("ga:newUsers"); 
    $sessions->setExpression("ga:sessions"); 
    $sessions->setExpression("ga:bounceRate");--bounce tare 
    $sessions->setExpression("ga:pageviews"); //total page view 
    $sessions->setExpression("ga:visits"); 
    * 
    */ 


    $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); 
    $body->setReportRequests(array($request)); 
    echo "<pre>"; 
// print_r($body); 
    return $analytics->reports->batchGet($body); 
} 

function printResults($reports) { 
    for ($reportIndex = 0; $reportIndex < count($reports); $reportIndex++) { 
    $report = $reports[ $reportIndex ]; 
    $header = $report->getColumnHeader(); 
    $dimensionHeaders = $header->getDimensions(); 
    $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); 
    $rows = $report->getData()->getRows(); 
echo "<pre>"; 
// print_r($rows); 
    for ($rowIndex = 0; $rowIndex < count($rows); $rowIndex++) { 
     $row = $rows[ $rowIndex ]; 
     $dimensions = $row->getDimensions(); 
     $metrics = $row->getMetrics(); 
     for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) { 
     print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); 
     } 

     for ($j = 0; $j < count($metricHeaders) && $j < count($metrics); $j++) { 
     $entry = $metricHeaders[$j]; 
     $values = $metrics[$j]; 
     print("Metric type: " . $entry->getType() . "\n"); 
     for ($valueIndex = 0; $valueIndex < count($values->getValues()); $valueIndex++) { 
      $value = $values->getValues()[ $valueIndex ]; 
      print($entry->getName() . ": " . $value . "\n"); 
     } 
     } 
    } 
    } 
} 

は、今私は、すべてのページ数とユニークなページを取得しています。お気軽に

+0

現状では、あなたの質問には有名なLaravelcodeignitercakephpフレームワークとは何の関係もありません... Curtis.Thanks @ – ndm

答えて

1

各ページパスのデータを取得するには、ga:pagePathをディメンションとして追加する必要があります。すなわち

$pagePath = new Google_Service_AnalyticsReporting_Dimension(); 
$pagePath->setName("ga:browser"); 

// Later on 

$request->setDimensions(array($pagePath)); 

また、データをディメンション別にフィルタリングすることで、条件を満たす結果のみを表示することもできます。たとえば、のみ、次のようにフィルタを追加して、登録ページのデータを表示:

// Create the DimensionFilter. 
$dimensionFilter = new Google_Service_AnalyticsReporting_DimensionFilter(); 
$dimensionFilter->setDimensionName('ga:pagePath'); 
$dimensionFilter->setOperator('EXACT'); 
$dimensionFilter->setExpressions(array('/signup')); 

// Create the DimensionFilterClauses 
$dimensionFilterClause = new Google_Service_AnalyticsReporting_DimensionFilterClause(); 
$dimensionFilterClause->setFilters(array($dimensionFilter)); 

//Later on 

$request->setDimensionFilterClauses(array($dimensionFilterClause)); 
+0

たくさん.I wil ltry私は1週間からこれを探していました。たくさんのことを感謝します – iCoders

+0

@ Curits.Worksのようなcharm.Great答え。たくさんありがとう – iCoders

関連する問題