Firebase 동적 링크 애널리틱스 API

이 REST API를 사용하여 각 짧은 Dynamic Links, 콘솔에서 또는 프로그래매틱 방식으로 생성되었는지에 따라 달라집니다.

API 승인

Dynamic Link Analytics API에 요청할 때 OAuth를 포함해야 합니다. Firebase 프로젝트에 대한 액세스를 승인하는 2.0 액세스 토큰입니다.

Google API 클라이언트 라이브러리를 사용하여 액세스 토큰을 가져올 수 있습니다.

  1. 앱에 Firebase 추가: Admin SDK 설정 가이드에 설명된 대로 선택할 수 있습니다. 즉, 서비스 계정 만들기 개인 키를 생성합니다.
  2. Google API 클라이언트 라이브러리를 사용하여 서비스에서 액세스 토큰 가져오기 계정 사용자 인증 정보:

    자바

    <ph type="x-smartling-placeholder"></ph> Java용 Google API 클라이언트 라이브러리:

    // Load the service account key JSON file
    FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");
    
    // Authenticate a Google credential with the service account
    GoogleCredential googleCred = GoogleCredential.fromStream(serviceAccount);
    
    // Add the required scope to the Google credential
    GoogleCredential scoped = googleCred.createScoped(
        Arrays.asList(
          "https://www.googleapis.com/auth/firebase"
        )
    );
    
    // Use the Google credential to generate an access token
    scoped.refreshToken();
    String token = scoped.getAccessToken();
    
    // Include the access token in the Authorization header.
    

    Node.js

    <ph type="x-smartling-placeholder"></ph> Node.js용 Google API 클라이언트 라이브러리:

    var { google } = require("googleapis");
    
    // Load the service account key JSON file.
    var serviceAccount = require("path/to/serviceAccountKey.json");
    
    // Specify the required scope.
    var scopes = [
      "https://www.googleapis.com/auth/firebase"
    ];
    
    // Authenticate a JWT client with the service account.
    var jwtClient = new google.auth.JWT(
      serviceAccount.client_email,
      null,
      serviceAccount.private_key,
      scopes
    );
    
    // Use the JWT client to generate an access token.
    jwtClient.authorize(function(error, tokens) {
      if (error) {
        console.log("Error making request to generate access token:", error);
      } else if (tokens.access_token === null) {
        console.log("Provided service account does not have permission to generate access tokens");
      } else {
        var accessToken = tokens.access_token;
    
        // Include the access token in the Authorization header.
      }
    });
    

    Python

    Python용 Google 인증 라이브러리:

    from google.oauth2 import service_account
    from google.auth.transport.requests import AuthorizedSession
    
    # Specify the required scope
    scopes = [
      "https://www.googleapis.com/auth/firebase"
    ]
    
    # Authenticate a credential with the service account
    credentials = service_account.Credentials.from_service_account_file(
        "path/to/serviceAccountKey.json", scopes=scopes)
    
    # Use the credentials object to authenticate a Requests session.
    authed_session = AuthorizedSession(credentials)
    response = authed_session.get(
        "https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION")
    
    # Or, use the token directly, as described below.
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)
    access_token = credentials.token
    
를 통해 개인정보처리방침을 정의할 수 있습니다.

단일 Dynamic Link의 통계 가져오기

linkStats 엔드포인트를 사용하여 단일 Dynamic Link의 이벤트 통계를 가져옵니다.

HTTP 요청

linkStats 요청의 형식은 다음과 같습니다.

GET https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats?durationDays=DURATION

Authorization: Bearer ACCESS_TOKEN

예를 들어 짧은 링크에 대한 지난 7일 동안의 통계를 검색하려면 https://example.page.link/wXYz:

GET https://firebasedynamiclinks.googleapis.com/v1/https%3A%2F%2Fexample.page.link%2FwXYz/linkStats?durationDays=7

Authorization: Bearer ya29.Abc123...
매개변수
SHORT_DYNAMIC_LINK 이벤트 데이터를 가져오려는 URL로 인코딩된 짧은 Dynamic Link입니다.
DURATION 이벤트 데이터를 가져올 기간(일)입니다. 예를 들어 30를 지정하면 요청이 지난 30일 동안의 데이터를 검색합니다. 최근 36시간 동안 기록된 일부 이벤트는 포함되지 않을 수 있습니다.
ACCESS_TOKEN 만료되지 않은 액세스 토큰입니다. API 참조 승인.

응답 본문

요청에 대한 응답은 다음과 같은 형식의 JSON 객체입니다.

{
  "linkEventStats": [
    {
      "platform": "ANDROID",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "IOS",
      "count": "123",
      "event": "CLICK"
    },
    {
      "platform": "DESKTOP",
      "count": "456",
      "event": "CLICK"
    },
    {
      "platform": "ANDROID",
      "count": "99",
      "event": "APP_INSTALL"
    },
    {
      "platform": "ANDROID",
      "count": "42",
      "event": "APP_FIRST_OPEN"
    },

    ...

  ]
}

linkEventStats 목록의 각 항목에는 플랫폼별 일부 Dynamic Link 관련 이벤트 (예: Android의 클릭수) 참고: 이러한 통계에는 최근 20일 동안 기록된 이벤트가 포함되지 36시간

이벤트 설명 Firebase 콘솔 REST API
CLICK 처리 방식 및 대상에 상관없이 동적 링크의 모든 클릭 횟수
REDIRECT App Store 또는 Play 스토어로 사용자를 리디렉션하여 앱을 설치 또는 업데이트하거나 기타 대상으로 리디렉션하려고 시도된 횟수
APP_INSTALL 실제 설치 횟수(Play 스토어만 지원)
APP_FIRST_OPEN 설치 후 처음 연 횟수
APP_RE_OPEN 동적 링크로 인해 앱이 다시 열린 횟수