문제

다중 채널 유입경로 요청에 문제가 있습니다.

JSON 응답은 ga를 사용한 클래식 요청과 동일하지 않습니다.측정기준 및 측정항목기본 값을 행으로 반환하는데 가져올 수 없습니다.

예:다음은 측정항목 ga:transactionRevenue 및 측정기준 ga:transactionId를 사용하는 기본 요청입니다.나는 이것을 행으로 얻습니다.

"rows": [
  [
   "10292",
   "-231.5"
  ],
  [
   "11330",
   "0.0"
  ],
  [
   "12180",
   "37.5"
  ],
(...)

쉽게 검색할 수 있습니다.

이제 mcf:firstInteractionValue 측정항목과 mcf:sourceMedium 측정기준이 사용됩니다.

 "rows": [
  [
   {
    "primitiveValue": "(direct) / (none)"
   },
   {
    "primitiveValue": "2066.2514"
   }
  ],
  [
   {
    "primitiveValue": "YH-TW / cpc"
   },
   {
    "primitiveValue": "0.0"
   }
   ],
   [
   {
    "primitiveValue": "ameblo.jp / referral"
   },
   {
    "primitiveValue": "0.0"
   }
  ],
(...)

getRows() 메서드를 시도했지만 이상한 배열이 반환되었습니다.또한 MCFDataRows에서 getPrimitiveValue()를 시도했지만 null 값을 반환했습니다.

$dataRows = $dataMCF->getRows();
for($i=0; $i<sizeof($dataRows); $i++){
     echo $dataRows[$i]->getPrimitiveValue();
}

결과: 아무것도 아님

그 값을 얻을 수 있도록 도와 주시겠습니까?:삼

편집하다 :

$dataRows[0] 개체

Google_Service_Analytics_McfDataRows Object
(
    [conversionPathValueType:protected] => Google_Service_Analytics_McfDataRowsConversionPathValue
    [conversionPathValueDataType:protected] => array
    [primitiveValue] => 
    [collection_key:protected] => items
    [modelData:protected] => Array
    (
        [0] => Array
        (
            [primitiveValue] => (direct) / (none)
        )

        [1] => Array
        (
            [primitiveValue] => 2066.2514
        )

    )

    [processed:protected] => Array
    (
    )

)

정말 간단하다는 인상을 받았지만 오늘 아침부터 해당 값을 얻을 수 없었습니다.modelData:protected 배열을 가져오는 방법을 알 수 없습니다.올바른 함수를 찾지 못한 채 API의 전체 MCF 클래스를 3번 읽었습니다.

도움이 되었습니까?

해결책

이것을 사용해 보십시오:

$dataRows = $dataMCF->getRows();
foreach($dataRows AS $row){
                $temp_row = array(  );
                foreach ((array)$row->toSimpleObject() as $key => $value) {
                    $temp_row[ $key ] = $value['primitiveValue'];
                }
            }

다른 팁

구글에서 데이터를 제대로 제공하지 못해서 개인적으로 Analytics.php를 수정했습니다.

Google_Service_Analytics_McfDataRows 클래스에 다음을 추가했습니다.

public function getData(){
  return $this->modelData;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top