דיווח על סטרימינג באמצעות GoogleAdsService
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי לאחזר ישויות של Google Ads API ונתוני דיווח, אפשר להשתמש באחת מהשיטות הבאות:
אלה ההבדלים העיקריים בין שתי השיטות:
|
GoogleAdsService.SearchStream |
GoogleAdsService.Search |
מתאים לקוד ייצור |
כן |
כן |
שירות |
GoogleAdsService |
GoogleAdsService |
תרחיש |
אחזור אובייקטים ודוחות |
אחזור אובייקטים ודוחות |
תשובה |
זרם של GoogleAdsRow אובייקטים |
דפים של GoogleAdsRow אובייקטים |
השדות של התשובה |
רק אלה שצוינו בשאילתה |
רק אלה שצוינו בשאילתה |
מגבלות יומיות |
מגבלות יומיות על סמך רמות גישה |
מגבלות יומיות על סמך רמות גישה |
SearchStream
מול Search
Search
יכול לשלוח כמה בקשות עם מספור עמודים כדי להוריד את הדוח כולו, אבל SearchStream
שולח בקשה אחת ויוצר חיבור קבוע ל-Google Ads API בלי קשר לגודל הדוח.
במקרה של SearchStream
, חבילות הנתונים מתחילות להוריד באופן מיידי, והתוצאה כולה נשמרת במטמון במאגר נתונים. הקוד יכול להתחיל לקרוא את הנתונים שנשמרו במאגר הזמני בלי לחכות לסיום הסטרימינג כולו.
הפונקציה SearchStream
מאפשרת לשפר את הביצועים בהשוואה להחלפת דפים, במיוחד בדוחות גדולים יותר, כי היא מבטלת את זמן ההלוך ושוב ברשת שנדרש כדי לבקש כל דף בנפרד בתגובה של Search
, בהתאם לאפליקציה.
דוגמה
בדוגמה הזו מוצג דוח שמורכב מ-100,000
שורות. בטבלה הבאה מפורטים ההבדלים בחשבונאות בין שתי השיטות.
|
SearchStream |
חיפוש |
גודל דף |
לא רלוונטי |
10,000 שורות בכל דף |
מספר בקשות ה-API |
בקשה אחת |
10 בקשות |
מספר התגובות מה-API |
שידור רציף אחד |
10 תשובות |
ברוב תרחישי השימוש, אנחנו ממליצים על SearchStream
במקום על Search
מהסיבות הבאות:
בדוחות של דף אחד (עד 10,000 שורות): אין הבדלים משמעותיים בביצועים בין שתי השיטות.
בדוחות עם כמה דפים: בדרך כלל SearchStream
מהיר יותר כי נמנעים מכמה הלוך ושוב, וקריאה או כתיבה ממטמון הדיסק פחות משפיעות.
מגבלות קצב
המגבלות היומיות בשתי השיטות תואמות למגבלות הרגילות ולרמות הגישה של אסימון המפתח. שאילתה או דוח בודדים נספרים כפעולה אחת, גם אם התוצאה מחולקת לדפים או מועברת בסטרימינג.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-27 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-27 (שעון UTC)."],[[["\u003cp\u003eThe Google Ads API offers two primary methods for retrieving data: \u003ccode\u003eSearchStream\u003c/code\u003e and \u003ccode\u003eSearch\u003c/code\u003e, both suitable for production environments and fetching objects and reports.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSearchStream\u003c/code\u003e delivers results as a continuous stream, ideal for large reports, while \u003ccode\u003eSearch\u003c/code\u003e provides paginated responses.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSearchStream\u003c/code\u003e often offers performance advantages by reducing network round trips, especially for reports exceeding 10,000 rows.\u003c/p\u003e\n"],["\u003cp\u003eBoth methods are subject to the same daily limits and access levels, with a single query or report counting as one operation regardless of the method.\u003c/p\u003e\n"],["\u003cp\u003eGoogle recommends using \u003ccode\u003eSearchStream\u003c/code\u003e for most use cases due to its performance benefits for larger reports.\u003c/p\u003e\n"]]],[],null,["# Report streaming using GoogleAdsService\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nTo retrieve Google Ads API entities and reporting data, use one of these methods:\n\n- [`GoogleAdsService.SearchStream`](/google-ads/api/reference/rpc/v21/GoogleAdsService/SearchStream)\n- [`GoogleAdsService.Search`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Search)\n\nHere are the high-level distinctions for the two methods:\n\n| | GoogleAdsService.SearchStream | GoogleAdsService.Search |\n| Suitable for production code | **Yes** | **Yes** |\n| Service | [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) | [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) |\n| Scenario | Fetching objects and reports | Fetching objects and reports |\n| Response | **Stream** of [`GoogleAdsRow`](/google-ads/api/reference/rpc/v21/GoogleAdsRow) objects | Pages of [`GoogleAdsRow`](/google-ads/api/reference/rpc/v21/GoogleAdsRow) objects |\n| Response's fields | Only those specified in the query | Only those specified in the query |\n| Daily limits | Daily limits based on [access levels](/google-ads/api/docs/access-levels) | Daily limits based on [access levels](/google-ads/api/docs/access-levels) |\n|------------------------------|----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|\n\n`SearchStream` versus `Search`\n------------------------------\n\nWhile [`Search`](/google-ads/api/reference/rpc/v21/GoogleAdsService/Search) can send multiple\npaginated requests to download the entire report, [`SearchStream`](/google-ads/api/reference/rpc/v21/GoogleAdsService/SearchStream) sends a single request and\ninitiates a persistent connection with the Google Ads API regardless of report size.\n\nFor `SearchStream`, data packets start to download immediately with the entire\nresult cached in a data buffer. Your code can start reading the buffered data\nwithout having to wait for the entire stream to finish.\n\nBy eliminating the round-trip network time required to request each individual\npage of a `Search` response, depending on your app, `SearchStream` can offer\nimproved performance over paging, especially for bigger reports.\n\n### Example\n\nThis example looks at a report that consists of `100,000` rows. The following\ntable breaks down the accounting differences between the two methods.\n\n| | SearchStream | Search |\n| Page size | Not Applicable | 10,000 rows per page |\n| Number of API requests | 1 request | 10 requests |\n| Number of API responses | 1 continuous stream | 10 responses |\n|-------------------------|---------------------|----------------------|\n\n### Performance factors\n\nFor most use cases, we recommend `SearchStream` over `Search` for the following\nreasons:\n\n- For single page reports (under 10,000 rows): No significant performance\n differences between the two methods.\n\n- For multiple page reports: `SearchStream` is typically faster since multiple\n round trips are avoided, and reading or writing from disk cache is less of a\n factor.\n\n### Rate limits\n\nDaily limits for both methods adhere to the standard limits and [access\nlevels](/google-ads/api/docs/access-levels) of your developer token. A single query or report\nis counted as one operation regardless of the result being paged or streamed."]]