این پیاده سازی تلفن همراه Google Tag Manager (GTM) است. استفاده از نمونه:
Container container = TagManager.getInstance(context).openContainer(myContainerId); String value = container.getString("myKey"); DataLayer dataLayer = TagManager.getInstance(context).getDataLayer(); dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));یک ظرف مجموعه ای از ماکروها، برچسب ها و قوانین است. در برنامه GTM ایجاد می شود و یک شناسه کانتینر به آن اختصاص می یابد. این شناسه کانتینر همان شناسه ای است که در این API استفاده می شود.
کلاس Container
روش هایی را برای بازیابی مقادیر داده شده با یک کلید ارائه می کند. روالهای getBoolean(String)
، getDouble(String)
، getLong(String)
، getString(String)
بسته به قوانین مرتبط با کانتینر، مقدار فعلی کلید یک ماکرو مجموعه مقادیر را برمیگردانند.
به عنوان مثال، اگر کانتینر شما دارای یک ماکرو جمعآوری مقدار با speed
کلید است که مقدار آن 32 است و قانون فعالکننده Language
«en» است. و یک ماکرو جمعآوری مقادیر دیگر با speed
کلید که مقدار آن 45 است و قانون فعالکننده Language
«en» نیست، سپس فراخوانی زیر را انجام دهید:
container.getLong("speed")اگر زبان فعلی دستگاه انگلیسی باشد، یا 32 را برمیگرداند، یا 45 در غیر این صورت.
لایه داده یک نقشه است که اطلاعات عمومی در مورد برنامه را در خود دارد. کلاس DataLayer
روش هایی را برای فشار دادن و بازیابی داده ها از لایه داده ارائه می دهد. با فشار دادن یک کلید event
به لایه داده، برچسب هایی که با این رویداد مطابقت دارند فعال می شوند.
یک نسخه اولیه از کانتینر با برنامه همراه است. باید بهعنوان یک دارایی با نام tagmanager/ containerId قرار گیرد که در آن ContainerId همان شناسه کانتینری است که در این API استفاده میکنید. وقتی openContainer(String, Container.Callback)
را فرا میخوانید، کانتینر با آن قوانین/ماکروهای همراه بازگردانده میشود. شما کانتینر را در رابط کاربری ایجاد میکنید و از دکمه دانلود برای دانلود آن استفاده میکنید.
می توانید ظرف را در رابط کاربری تغییر دهید و نسخه جدیدی را منتشر کنید. در این صورت، دفعه بعد که اپلیکیشن موبایل کانتینر را از شبکه رفرش کند (در حال حاضر هر 12 ساعت)، آن نسخه جدید را دریافت خواهد کرد. وقتی یکی از روال های دریافت را فراخوانی می کنید، مقدار با استفاده از جدیدترین قوانین محاسبه می شود.
ظرف بارگیری شده به صورت محلی ذخیره می شود. وقتی openContainer(String, Container.Callback)
را فرا میخوانید، ابتدا کانتینر پیشفرض را بارگیری میکند و سپس هر کانتینر ذخیرهشده را بهصورت ناهمزمان بارگیری میکند. اگر هیچ کدام پیدا نشد، یا اگر قدیمیتر از 12 ساعت باشد، سعی میکند نسخه جدیدتری را از شبکه بازیابی کند. میتوانید با ارسال Container.Callback
به openContainer(String, Container.Callback)
وضعیت آن بارهای ناهمزمان را پیدا کنید.
گاهی اوقات ممکن است بخواهید تا زمانی که یک کانتینر غیرپیشفرض در دسترس نباشد، یا تا زمانی که یک کانتینر تازه در دسترس نباشد، مسدود کنید. ContainerOpener
یک کلاس کاربردی است که می تواند کمک کند.
وقتی کارتان با یک ظرف تمام شد، close()
فراخوانی کنید.
خلاصه کلاس تودرتو
رابط | TagManager.Logger | یک رابط ساده برای خطا/هشدار/اطلاعات/اشکالزدایی/گزارش دقیق. | |
enum | TagManager.RefreshMode | حالت برای تازه کردن ظرف. |
خلاصه روش عمومی
ظرف | getContainer ( String containerId ) |
متن نوشته | getContext () |
لایه داده | getDataLayer () |
Static TagManager | getInstance ( متن زمینه ) |
متمرکز ساز | getLogger () |
TagManager.RefreshMode | |
ظرف | |
خالی | |
خالی | setRefreshMode ( حالت TagManager.RefreshMode ) |
روش های عمومی
کانتینر عمومی getContainer ( رشته ContainerId )
ظرف باز شده مرتبط با containerId
را برمی گرداند. اگر ظرف از قبل باز نشده باشد، null
برمیگرداند.
متن عمومی getContext ()
زمینه ذخیره شده مرتبط با این شی را برمی گرداند.
getInstance TagManager static عمومی ( متن زمینه )
نمونه singleton کلاس TagManager
را دریافت کنید و در صورت لزوم آن را ایجاد کنید.
عمومی TagManager.RefreshMode getRefreshMode ()
حالت تازهسازی مورد استفاده برای همه کانتینرها را برمیگرداند.
کانتینر عمومی openContainer ( رشته ContainerId , Container. Callback Callback )
یک ظرف را برمی گرداند. هنگامی که موارد مختلفی برای کانتینر اتفاق می افتد، Callback فراخوانی می شود. حداقل، openContainer سعی خواهد کرد یک نسخه ذخیره شده از کانتینر را بارگیری کند. اگر نسخه ذخیره شده ای وجود نداشته باشد، یا اگر نسخه ذخیره شده قدیمی باشد، سعی می شود از شبکه بارگیری شود.
معمولاً کانتینر برگشتی خالی خواهد بود، اما بارگیری در یک رشته جداگانه اتفاق می افتد، بنابراین ظرف برگشتی ممکن است قبل از بازگرداندن، پس از بازگرداندن، رفرش شود، یا ممکن است هرگز رفرش نشود (اگر، برای مثال، وجود نداشته باشد. اتصال به شبکه در طول عمر کانتینر).
اگر برای بار دوم با openContainer
برای یک containerId
تماس بگیرید، یک استثنا ایجاد میشود.
مولفه های
شناسه کانتینر | شناسه کانتینر برای باز کردن |
پاسخ به تماس | شیئی که متدهای مختلف آن در طی بخشهایی از فرآیند بارگذاری فراخوانی خواهد شد. توجه داشته باشید که متدها ممکن است از رشته های مختلف فراخوانی شوند. علاوه بر این، آنها ممکن است قبل از بازگشت openContainer فراخوانی شوند. |
حالت خالی عمومی setRefreshMode ( حالت TagManager.RefreshMode )
حالت تازه سازی مورد استفاده برای همه کانتینرها را تنظیم می کند.