API phân tích liên kết động Firebase

Bạn có thể sử dụng API REST này để nhận dữ liệu phân tích cho từng Liên kết động ngắn của mình, cho dù được tạo trong bảng điều khiển hay theo chương trình .

Ủy quyền API

Khi đưa ra yêu cầu đối với API Phân tích liên kết động, bạn phải bao gồm mã thông báo truy cập OAuth 2.0 cho phép truy cập vào dự án Firebase của bạn.

Bạn có thể nhận mã thông báo truy cập bằng thư viện ứng dụng khách Google API:

  1. Thêm Firebase vào ứng dụng của bạn như được mô tả trong hướng dẫn thiết lập SDK dành cho quản trị viên. Tức là tạo một tài khoản dịch vụ và tạo khóa riêng.
  2. Sử dụng thư viện ứng dụng khách Google API để nhận mã thông báo truy cập từ thông tin xác thực tài khoản dịch vụ của bạn:

    Java

    Sử dụng Thư viện ứng dụng khách API của Google dành cho Java :

    // 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

    Sử dụng Thư viện ứng dụng khách API của Google cho Node.js :

    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

    Sử dụng thư viện Google Auth cho Python:

    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
    

Nhận số liệu thống kê cho một Liên kết động duy nhất

Sử dụng điểm cuối linkStats để nhận số liệu thống kê sự kiện cho một Liên kết động.

Yêu cầu HTTP

Yêu cầu linkStats có định dạng sau:

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

Authorization: Bearer ACCESS_TOKEN

Ví dụ: để lấy số liệu thống kê trong 7 ngày qua cho liên kết ngắn 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...
Thông số
SHORT_DYNAMIC_LINK Liên kết động ngắn được mã hóa URL mà bạn muốn nhận dữ liệu sự kiện.
DURATION Số ngày nhận dữ liệu sự kiện. Ví dụ: nếu bạn chỉ định 30 thì yêu cầu sẽ truy xuất dữ liệu trong 30 ngày qua. Lưu ý rằng một số sự kiện được ghi trong 36 giờ qua có thể không được đưa vào.
ACCESS_TOKEN Mã thông báo truy cập chưa hết hạn. Xem Ủy quyền API .

Nội dung phản hồi

Phản hồi cho một yêu cầu là một đối tượng JSON như sau:

{
  "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"
    },

    ...

  ]
}

Mỗi mục trong danh sách linkEventStats chứa số lượng sự kiện liên quan đến Liên kết động theo nền tảng cụ thể (chẳng hạn như số lần nhấp chuột trên Android). Lưu ý rằng những thống kê này có thể không bao gồm các sự kiện đã được ghi lại trong vòng 36 giờ qua.

Sự kiện Sự miêu tả Bảng điều khiển Firebase API REST
NHẤP CHUỘT Đếm bất kỳ lần nhấp nào vào Liên kết động, bất kể cách xử lý và đích đến của nó
CHUYỂN HƯỚNG Số lần cố gắng chuyển hướng người dùng đến App Store hoặc Play Store để cài đặt hoặc cập nhật ứng dụng hoặc đến một số đích khác
ỨNG DỤNG_INSTALL Số lượt cài đặt thực tế (chỉ được Play Store hỗ trợ)
APP_FIRST_OPEN Số lần mở lần đầu sau khi cài đặt
APP_RE_OPEN Số lần Liên kết động khiến ứng dụng được mở lại