Analizler
listingsapi-js SDK ile Google, Bing ve Facebook profil analizlerini alın.
Analiz metotları, Google Business Profile, Bing Places ve Facebook Pages üzerinden arama gösterimleri, tıklamalar, yol tarifi istekleri ve telefon aramaları gibi platform düzeyindeki istatistikleri getirir. Tüm analiz metotları doğrudan ListingsAPI istemci örneğinde bulunur ve kapsamları bir konum kimliğiyle sınırlıdır. Sayısal konum kimlikleri otomatik olarak kodlanır; bu nedenle 16808 ve 'TG9jYXRpb246MTY4MDg=' birbirinin yerine kullanılabilir.
Üç metodun da imzası aynıdır: bir konum kimliği ve isteğe bağlı bir { fromDate, toDate } aralığı. Tarihlerin her biri isteğe bağlıdır; platformun varsayılan raporlama dönemini kullanmak için birini veya her ikisini belirtmeyin.
Her metrik bir zaman serisidir
Bu veri yüklerinde skaler toplamlar bulunmaz. Her metrik, her gün için (Bing'de her hafta için) bir nokta içeren bir { startTime, value } noktaları dizisidir ve verisi bulunmayan bir metrik 0 veya [] yerine null olarak döner. Bu nedenle serinin toplamını kendiniz hesaplayın ve "veri yok" ile "sıfır" arasındaki ayrımı koruyun:
type Point = { startTime: string; value: number | null }; // null when the metric is absent, so an empty profile never reads as 0.function sumSeries(series: Point[] | null | undefined): number | null {if (!Array.isArray(series)) return null;return series.reduce((acc, p) => acc + (p.value ?? 0), 0);} function show(label: string, series: Point[] | null | undefined) {const total = sumSeries(series);console.log(label, total === null ? 'unavailable' : total);}fetchGoogleAnalytics
Bir konumun Google Business Profile istatistiklerini getirin.
const google = await client.fetchGoogleAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Impressions (total)', google.total);show('Search impressions', google.search);show('Maps impressions', google.maps);show('Website clicks', google.websiteAction);Seçenekler
Veri yükü, googleInsights nesnesidir ve bu nesnedeki her anahtar bir { startTime, value }[] serisidir: total, search, maps, websiteAction, directionsAction, phoneAction, businessBookings, businessFoodOrders ve businessFoodMenuClicks. total, profil gösterimleridir ve search ile maps toplamına eşittir; işlem metriklerini içermez. Google'ın veri sağlamadığı tüm seriler null olarak döner. Alanların tam açıklamaları için Bir konumun Google analiz verilerini getirme sayfasına bakın.
fetchBingAnalytics
Bir konumun Bing Places istatistiklerini getirin.
const bing = await client.fetchBingAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Bing views', bing.views);Bing, günlük yerine haftalık olarak gruplandırılmış tek bir metrik raporlar: views.
Seçenekler
fetchFacebookAnalytics
Bir konumun Facebook sayfası istatistiklerini getirin.
const facebook = await client.fetchFacebookAnalytics(16808, {fromDate: '2024-01-01',toDate: '2024-12-31',}); show('Page views', facebook.views);show('CTA clicks', facebook.ctaAction);Facebook veri yükü views, ctaAction, websiteAction, directionsAction ve phoneAction içerir. pageLikes bulunmaz.
Seçenekler
Birden fazla platform için rapor
Promise.all ile üç platformun da verilerini paralel olarak getirin:
import { ListingsAPI } from 'listingsapi-js'; const client = new ListingsAPI(); // reads LISTINGSAPI_KEY from envconst LOCATION_ID = 16808;const range = { fromDate: '2024-01-01', toDate: '2024-12-31' }; const [google, bing, facebook] = await Promise.all([client.fetchGoogleAnalytics(LOCATION_ID, range),client.fetchBingAnalytics(LOCATION_ID, range),client.fetchFacebookAnalytics(LOCATION_ID, range),]); show('Google impressions:', google.total);show('Bing views:', bing.views);show('Facebook views:', facebook.views);Belirli bir platform için profil bağlı değilse metot reddedilmek yerine boş bir nesneyle başarıyla tamamlanır ve tekil bir seri null olarak döner. Bu durumu ?? ile 0 değerine dönüştürmek yerine "kullanılamıyor" olarak raporlayın; aksi takdirde bağlı olmayan bir profil, kontrol panelinizde gerçek bir sıfır değeri olarak görünür. Başarısız istekler yine SDK'nın tür tanımlı hatalarını fırlatır.
İlgili kaynaklar
- Konumlar: konum kimliklerini bulma
- Yorumlar: yorum analizleri (overview, timeline, sites-stats)
- Kullanım senaryoları: analiz raporu oluşturma örneği