ارسال - iOS SDK

این سند نحوه مدیریت ارسال داده ها به Google Analytics را با استفاده از Google Analytics SDK برای iOS نسخه 2 توضیح می دهد.

بررسی اجمالی

در Google Analytics SDK برای iOS، داده‌های جمع‌آوری‌شده مانند نماهای صفحه یا رویدادها قبل از ارسال به سرورهای Google Analytics به صورت محلی در یک صف ذخیره می‌شوند. فرآیندی که طی آن این داده‌ها (که در اینجا به آنها "بازدیدها" گفته می‌شود) از SDK به Google Analytics ارسال می‌شوند، به عنوان ارسال شناخته می‌شوند.

Dispatching منحصر به کتابخانه های مجموعه های تلفن همراه است و برای کاهش چالش های دسترسی غیرقابل اعتماد به شبکه و عمر باتری محدود طراحی شده است.

دو نوع ارسال وجود دارد:

  • ارسال دوره ای - به طور خودکار بازدیدها را در بازه زمانی تکراری که شما مشخص می کنید ارسال می کند.
  • ارسال دستی – ارسال دستی بازدیدها برای ارسال داده در زمانی که برای شما راحت است، به عنوان مثال زمانی که یک اتصال HTTP موجود وجود دارد.

بقیه این سند نگاه عمیق تری به هر نوع ارسال و نحوه پیاده سازی آنها در برنامه شما ارائه می دهد.

اعزام دوره ای

همانطور که برنامه شما داده‌های GA را جمع‌آوری می‌کند، این داده‌ها به یک صف اضافه می‌شوند و به صورت دوره‌ای به Google Analytics ارسال می‌شوند. ارسال دوره‌ای ممکن است زمانی رخ دهد که برنامه شما در پیش‌زمینه یا پس‌زمینه اجرا شود.

مدت زمان پیش فرض ارسال 2 دقیقه است. با فراخوانی setDispatchPeriod:(NSTimeInterval) مانند این مثال می توانید فاصله زمانی خود را در چند ثانیه ارائه دهید:

[[GAI sharedInstance] setDispatchPeriod:60];

تنظیم یک مقدار منفی، ارسال دوره‌ای را غیرفعال می‌کند و اگر می‌خواهید هر داده‌ای را به Google Analytics ارسال کنید، باید از ارسال دستی استفاده کنید. از سوی دیگر، تنظیم مقدار 0 در صورت وجود اتصال شبکه، هر ضربه را بلافاصله ارسال می کند.

هنگامی که همه بازدیدها ارسال شد، ارسال دوره ای وارد حالت ذخیره انرژی می شود و تا زمانی که تماس ارسال دیگری برقرار شود غیرفعال می شود.

اگر کاربر دسترسی به شبکه را از دست بدهد یا از برنامه شما خارج شود در حالی که هنوز بازدیدهایی در انتظار ارسال هستند، این بازدیدها در حافظه محلی باقی می مانند. دفعه بعد که برنامه شما اجرا می شود و ارسال فراخوانی می شود، ارسال خواهند شد.

ارسال دستی

جدا از تکیه بر ارسال دوره ای، ممکن است مواقعی پیش بیاید که بخواهید بازدیدهای خود را به صورت دستی ارسال کنید. برای مثال، می‌توانید ارسال‌های خود را با سایر درخواست‌های HTTP که توسط برنامه‌تان ارسال می‌شود، به منظور کاهش هزینه‌های اضافی، دسته‌بندی کنید.

بازدیدها را می توان به صورت دستی با فراخوانی dispatch مطابق شکل زیر ارسال کرد:

[[GAI sharedTracker] dispatch];