يمكنك استخدام REST API للحصول على بيانات تحليلية لكل رابط من الروابط الديناميكية القصيرة، سواء تم إنشاؤها في وحدة التحكم أو برمجيًا .
ترخيص API
عند تقديم طلبات إلى واجهات برمجة تطبيقات Dynamic Link Analytics، يجب عليك تضمين رمز وصول OAuth 2.0 الذي يسمح بالوصول إلى مشروع Firebase الخاص بك.
يمكنك الحصول على رموز الوصول باستخدام مكتبة عميل Google API:
- أضف Firebase إلى تطبيقك كما هو موضح في دليل إعداد Admin SDK. أي إنشاء حساب خدمة وإنشاء مفتاح خاص.
- استخدم مكتبة عميل Google API للحصول على رمز وصول من بيانات اعتماد حساب الخدمة الخاص بك:
جافا
استخدام مكتبة عميل 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
استخدام مكتبة عميل Google API لـ 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. } });
بايثون
باستخدام مكتبة Google Auth لبيثون:
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
احصل على إحصائيات لارتباط ديناميكي واحد
استخدم نقطة نهاية linkStats
للحصول على إحصائيات الأحداث لارتباط ديناميكي واحد.
طلب 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 والذي تريد الحصول على بيانات الحدث الخاصة به. |
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
على عدد خاص بالنظام الأساسي لبعض الأحداث ذات الصلة بالارتباط الديناميكي (مثل عدد النقرات على Android). لاحظ أن هذه الإحصائيات قد لا تتضمن الأحداث التي تم تسجيلها خلال آخر 36 ساعة.
حدث | وصف | وحدة تحكم Firebase | واجهة برمجة تطبيقات REST |
---|---|---|---|
انقر | حساب أي نقرة على الرابط الديناميكي، بغض النظر عن كيفية التعامل معه ووجهاته | ||
إعادة توجيه | عدد محاولات إعادة توجيه المستخدمين، إما إلى App Store أو Play Store لتثبيت التطبيق أو تحديثه، أو إلى وجهة أخرى | ||
APP_INSTALL | عدد عمليات التثبيت الفعلية (يدعمها متجر Play فقط) | ||
APP_FIRST_OPEN | عدد عمليات الفتح الأولى بعد التثبيت | ||
APP_RE_OPEN | عدد المرات التي تسبب فيها الارتباط الديناميكي في إعادة فتح التطبيق |