{"id":10058,"date":"2024-07-01T12:57:18","date_gmt":"2024-07-01T10:57:18","guid":{"rendered":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagger-wrappers-guidelines\/"},"modified":"2024-07-02T10:24:59","modified_gmt":"2024-07-02T08:24:59","slug":"tagged-wrappers-guidelines","status":"publish","type":"docs","link":"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/","title":{"rendered":"Tagged Wrappers Guidelines"},"content":{"rendered":"<div class=\"ak-renderer-extension\" data-layout=\"default\">\n<div class=\"ak-renderer-extension-overflow-container\">\n<div class=\"_1reo1wug _18m91wug _ugi3idpf _gutmidpf\" title=\"Macro (toc)\" data-fabric-macro=\"777344f6-2908-4c99-9ce1-e08403c2045a\" data-macro-body=\"true\" data-macro-parameters=\"{}\" data-testid=\"printable-wrapper\">\n<div class=\"macro-core toc-macro conf-macro output-block\" data-headerelements=\"H1,H2,H3,H4,H5,H6\" data-hasbody=\"false\" data-macro-name=\"toc\" data-macro-id=\"777344f6-2908-4c99-9ce1-e08403c2045a\">\n<ul data-testid=\"list-style-toc-level-container\">\n<li class=\"_qtt8140o\" data-testid=\"list-style-toc-item-container\"><span class=\"toc-item-body\" data-outline=\"1\"><a class=\"_1wyb3gti toc-link\" href=\"#What-are-they?\" data-testid=\"toc-item-body\">What are they?<\/a><\/span><\/li>\n<li class=\"_qtt8140o\" data-testid=\"list-style-toc-item-container\"><span class=\"toc-item-body\" data-outline=\"2\"><a class=\"_1wyb3gti toc-link\" href=\"#Where-to-add-the-wrappers?\" data-testid=\"toc-item-body\">Where to add the wrappers?<\/a><\/span><\/li>\n<li class=\"_qtt8140o\" data-testid=\"list-style-toc-item-container\"><span class=\"toc-item-body\" data-outline=\"3\"><a class=\"_1wyb3gti toc-link\" href=\"#Best-Practices-when-adding-a-wrapper\" data-testid=\"toc-item-body\">Best<br \/>\nPractices when adding a wrapper<\/a><\/span><\/li>\n<li class=\"_qtt8140o\" data-testid=\"list-style-toc-item-container\"><span class=\"toc-item-body\" data-outline=\"4\"><a class=\"_1wyb3gti toc-link\" href=\"#Limitations\" data-testid=\"toc-item-body\">Limitations<\/a><\/span><\/li>\n<li class=\"_qtt8140o\" data-testid=\"list-style-toc-item-container\"><span class=\"toc-item-body\" data-outline=\"5\"><a class=\"_1wyb3gti toc-link\" href=\"#Example\" data-testid=\"toc-item-body\">Example<\/a><\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h1 id=\"What-are-they?\" data-renderer-start-pos=\"2\">What are they?<\/h1>\n<p data-renderer-start-pos=\"18\">Tagged wrappers are normal android views with two requirements:<\/p>\n<ol class=\"ak-ol\" start=\"1\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"85\">Has the <a class=\"cc-1rn59kg\" title=\"https:\/\/developer.android.com\/reference\/android\/view\/View#attr_android:tag\" href=\"https:\/\/developer.android.com\/reference\/android\/view\/View#attr_android:tag\" data-testid=\"link-with-safety\" data-renderer-mark=\"true\">XML attribute<\/a> <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">android:tag<\/code> defined or added with the <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">setTag<\/code> <a class=\"cc-1rn59kg\" title=\"https:\/\/developer.android.com\/reference\/android\/view\/View#setTag(java.lang.Object)\" href=\"https:\/\/developer.android.com\/reference\/android\/view\/View#setTag(java.lang.Object)\" data-testid=\"link-with-safety\" data-renderer-mark=\"true\">method<\/a>. This is used to find the views in the Single tag where you want us to add the monetization inventory.<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"265\">It is a <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">ViewGroup<\/code> or a <a class=\"cc-1rn59kg\" title=\"https:\/\/developer.android.com\/reference\/android\/view\/ViewGroup\" href=\"https:\/\/developer.android.com\/reference\/android\/view\/ViewGroup\" data-testid=\"link-with-safety\" data-renderer-mark=\"true\">Subtype<\/a>, like <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">FrameLayout<\/code>, <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">LinearLayout<\/code>, <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">ConstraintLayout<\/code>, <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">Relativelayout<\/code>,etc.<\/p>\n<\/li>\n<\/ol>\n<h1 id=\"Where-to-add-the-wrappers?\" data-renderer-start-pos=\"370\">Where to add the wrappers?<\/h1>\n<p data-renderer-start-pos=\"398\">While it is true that overload your app with ads is not the best user experience, <strong data-renderer-mark=\"true\">we recommend you add the wrappers everywhere where is a blank space in the screen<\/strong>. Even if<strong data-renderer-mark=\"true\"> you do not want to fill them in, <\/strong>that is acceptable. We can manage which ones are and are not filled the our dashboard.<\/p>\n<h1 id=\"Best-Practices-when-adding-a-wrapper\" data-renderer-start-pos=\"692\">Best Practices when adding a wrapper<\/h1>\n<p data-renderer-start-pos=\"730\">Creating views, you need to ensure the wrapper view:<\/p>\n<ul class=\"ak-ul\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"786\">Do not overlap other wrappers on the app content.<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"839\">Every blank space is a good space for a wrapper (even if you do not plan to use it).<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"927\">Do not use only one tag for all of your wrappers, it will be hard to configure your monetization and change it according to your needs. So use as many different id\u2019s as possible<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"1108\">Use <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">Framelayout<\/code> as the wrapper view (if possible), because it is the cheapest <code class=\"code cc-1o5d2cw\" data-renderer-mark=\"true\">ViewGroup<\/code> inheritor.<\/p>\n<\/li>\n<\/ul>\n<h1 id=\"Limitations\" data-renderer-start-pos=\"1210\">Limitations<\/h1>\n<ul class=\"ak-ul\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"1225\"><strong data-renderer-mark=\"true\">We can fill either all of the wrappers with a tag or just the first one we find with that tag<\/strong>: if you want to differentiate any wrappers you need to assign a different tag to those. <strong>E.g.:<\/strong> if you want us to fill a wrapper at the bottom of the screen that has the <strong>tag<\/strong> <code>ads_wrapper<\/code> we can fill that. However, if you have multiple wrappers with the same tag, and you want to fill all of them and exclude some while having the same tag, it\u2019s not possible. We encourage you to ask for advice to our technical support on how to group wrappers.<\/p>\n<\/li>\n<\/ul>\n<h1 id=\"Example\" data-renderer-start-pos=\"1764\">Example<\/h1>\n<div class=\"code-block\">\n<pre>      # activity_main.xml\r\n      ...\r\n      &lt;!-- this would be your layout --&gt;\r\n      &lt;ConstraintLayout\r\n          android:layout_width=\"match_parent\"\r\n          android:layout_height=\"wrap_content\"\r\n          android:layout_marginStart=\"10dp\"\r\n          android:layout_marginEnd=\"10dp\"&gt;\r\n          ...\r\n          &lt;!-- this is the wrapper --&gt;\r\n          &lt;LinearLayout\r\n              android:layout_width=\"match_parent\"\r\n              android:layout_height=\"match_parent\"\r\n              android:tag=\"single_tag_infinite_scroll_ad_wrapper_tag\"\r\n              app:layout_constraintBottom_toBottomOf=\"parent\"\r\n              app:layout_constraintEnd_toEndOf=\"parent\"\r\n              app:layout_constraintStart_toStartOf=\"parent\"\r\n              app:layout_constraintTop_toBottomOf=\"parent\"\r\n              app:layout_constraintVertical_bias=\"0.0\"&gt;\r\n          &lt;\/LinearLayout&gt;\r\n      &lt;\/ConstraintLayout&gt;\r\n      ...\r\n<\/pre>\n<\/div>\n<p data-renderer-start-pos=\"2525\">","protected":false},"featured_media":0,"parent":10013,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-10058","docs","type-docs","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tagged Wrappers Guidelines | Refinery89<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tagged Wrappers Guidelines | Refinery89\" \/>\n<meta property=\"og:description\" content=\"What are they? Where to add the wrappers? Best Practices when adding a wrapper Limitations Example What are they? Tagged wrappers are normal android views with two requirements: Has the XML attribute android:tag defined or added with the setTag method. This is used to find the views in the Single tag where you want us [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/\" \/>\n<meta property=\"og:site_name\" content=\"Refinery89\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Refinery89\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-02T08:24:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@refinery89\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/\",\"url\":\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/\",\"name\":\"Tagged Wrappers Guidelines | Refinery89\",\"isPartOf\":{\"@id\":\"https:\/\/refinery89.com\/#website\"},\"datePublished\":\"2024-07-01T10:57:18+00:00\",\"dateModified\":\"2024-07-02T08:24:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/refinery89.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android &#8211; Monetize App SDK Documentation\",\"item\":\"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Private: Use Manual\",\"item\":\"https:\/\/refinery89.com\/?post_type=docs&p=10006\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Creating a Wrapper\",\"item\":\"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Tagged Wrappers Guidelines\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/refinery89.com\/#website\",\"url\":\"https:\/\/refinery89.com\/\",\"name\":\"Refinery89\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/refinery89.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/refinery89.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/refinery89.com\/#organization\",\"name\":\"Refinery89\",\"alternateName\":\"R89\",\"url\":\"https:\/\/refinery89.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/refinery89.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png\",\"contentUrl\":\"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png\",\"width\":200,\"height\":200,\"caption\":\"Refinery89\"},\"image\":{\"@id\":\"https:\/\/refinery89.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Refinery89\/\",\"https:\/\/x.com\/refinery89\",\"https:\/\/www.linkedin.com\/company\/refinery89\/\",\"https:\/\/www.youtube.com\/@refinery89\",\"https:\/\/www.instagram.com\/refinery_89\/\",\"https:\/\/www.reddit.com\/user\/Refinery89\/\",\"https:\/\/share.google\/K8hFf3ktmUrTi1XCa\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tagged Wrappers Guidelines | Refinery89","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/","og_locale":"it_IT","og_type":"article","og_title":"Tagged Wrappers Guidelines | Refinery89","og_description":"What are they? Where to add the wrappers? Best Practices when adding a wrapper Limitations Example What are they? Tagged wrappers are normal android views with two requirements: Has the XML attribute android:tag defined or added with the setTag method. This is used to find the views in the Single tag where you want us [&hellip;]","og_url":"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/","og_site_name":"Refinery89","article_publisher":"https:\/\/www.facebook.com\/Refinery89\/","article_modified_time":"2024-07-02T08:24:59+00:00","og_image":[{"width":200,"height":200,"url":"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@refinery89","twitter_misc":{"Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/","url":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/","name":"Tagged Wrappers Guidelines | Refinery89","isPartOf":{"@id":"https:\/\/refinery89.com\/#website"},"datePublished":"2024-07-01T10:57:18+00:00","dateModified":"2024-07-02T08:24:59+00:00","breadcrumb":{"@id":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/tagged-wrappers-guidelines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/refinery89.com\/"},{"@type":"ListItem","position":2,"name":"Android &#8211; Monetize App SDK Documentation","item":"https:\/\/refinery89.com\/docs\/monetize-app-sdk-documentation\/"},{"@type":"ListItem","position":3,"name":"Private: Use Manual","item":"https:\/\/refinery89.com\/?post_type=docs&p=10006"},{"@type":"ListItem","position":4,"name":"Creating a Wrapper","item":"https:\/\/refinery89.com\/it\/docs\/monetize-app-sdk-documentation\/use-manual\/creating-a-wrapper\/"},{"@type":"ListItem","position":5,"name":"Tagged Wrappers Guidelines"}]},{"@type":"WebSite","@id":"https:\/\/refinery89.com\/#website","url":"https:\/\/refinery89.com\/","name":"Refinery89","description":"","publisher":{"@id":"https:\/\/refinery89.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/refinery89.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/refinery89.com\/#organization","name":"Refinery89","alternateName":"R89","url":"https:\/\/refinery89.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/refinery89.com\/#\/schema\/logo\/image\/","url":"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png","contentUrl":"https:\/\/refinery89.com\/wp-content\/uploads\/2025\/08\/r89-thumbnail.png","width":200,"height":200,"caption":"Refinery89"},"image":{"@id":"https:\/\/refinery89.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Refinery89\/","https:\/\/x.com\/refinery89","https:\/\/www.linkedin.com\/company\/refinery89\/","https:\/\/www.youtube.com\/@refinery89","https:\/\/www.instagram.com\/refinery_89\/","https:\/\/www.reddit.com\/user\/Refinery89\/","https:\/\/share.google\/K8hFf3ktmUrTi1XCa"]}]}},"comment_count":0,"_links":{"self":[{"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/docs\/10058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/comments?post=10058"}],"version-history":[{"count":0,"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/docs\/10058\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/docs\/10013"}],"wp:attachment":[{"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/media?parent=10058"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/refinery89.com\/it\/wp-json\/wp\/v2\/doc_tag?post=10058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}