QUORA

Wednesday, 29 July 2026

Robot.txt Google URL

 # Robots.txt Introduction and Guide | Google Search Central


# Introduction to robots.txt


[Video](https://www.youtube.com/watch?v=IXNEVt9rZG8)



A robots.txt file tells search engine crawlers which URLs the crawler can access on your site.

This is used mainly to avoid overloading your site with requests; **it is not a

mechanism for keeping a web page out of Google** . To keep a web page out of Google,

[block indexing with `noindex`](https://developers.google.com/search/docs/crawling-indexing/block-indexing)

or password-protect the page.


> [!IMPORTANT]

>

> **If you use a CMS, such as Wix or Blogger**, you might not need to (or

> be able to) edit your robots.txt file directly. Instead, your CMS might expose a search

> settings page or some other mechanism to tell search engines whether or not to crawl your

> page.

>

>

> If you want to hide or unhide one of your pages from search engines, search for instructions

> about modifying your page visibility in search engines on your CMS (for example,

> search for "wix hide page from search engines").


## What is a robots.txt file used for?



A robots.txt file is used primarily to manage crawler traffic to your site, and

*usually* to keep a file off Google, depending on the file type:


| robots.txt effect on different file types ||

|---|---|

| Web page | You can use a robots.txt file for web pages (HTML, PDF, or other [non-media formats that Google can read](https://developers.google.com/search/docs/crawling-indexing/indexable-file-types)), to manage crawling traffic if you think your server will be overwhelmed by requests from Google's crawler, or to avoid crawling unimportant or similar pages on your site. > [!WARNING] > **Warning**: Don't use a robots.txt file as a means to hide your web pages > (including PDFs and other text-based formats supported by Google) from Google Search > results. > If other pages point to your page with descriptive text, Google could still index > the URL without visiting the page. If you want to block your page from search > results, use another method such as password protection or > [`noindex`](https://developers.google.com/search/docs/crawling-indexing/block-indexing). **If your web page is blocked with a robots.txt file** , its URL can still appear in search results, but the search result [won't have a description](https://support.google.com/webmasters/answer/7489871). Image files, video files, PDFs, and other non-HTML files embedded in the blocked page will be excluded from crawling, too, unless they're referenced by other pages that are allowed for crawling. If you see this search result for your page and want to fix it, remove the robots.txt entry blocking the page. If you want to hide the page completely from Search, use [another method](https://developers.google.com/search/docs/crawling-indexing/remove-information#i-control-the-web-page). |

| Media file | Use a robots.txt file to manage crawl traffic, and also to prevent image, video, and audio files from appearing in Google Search results. This won't prevent other pages or users from linking to your image, video, or audio file. - [Read more about preventing images from appearing on Google.](https://developers.google.com/search/docs/crawling-indexing/prevent-images-on-your-page) - [Read more about how to remove or restrict your video files from appearing on Google.](https://developers.google.com/search/docs/appearance/video#remove) |

| Resource file | You can use a robots.txt file to block resource files such as unimportant image, script, or style files, **if you think that pages loaded without these resources won't be significantly affected by the loss**. However, if the absence of these resources make the page harder for Google's crawler to understand the page, don't block them, or else Google won't do a good job of analyzing pages that depend on those resources. |


## Understand the limitations of a robots.txt file



Before you create or edit a robots.txt file, you should know the limits of this URL blocking

method. Depending on your goals and situation, you might want to consider other mechanisms to

ensure your URLs are not findable on the web.


- **robots.txt rules may not be supported by all search engines.**   

  The instructions in robots.txt files cannot enforce crawler behavior to your site; it's up to the crawler to obey them. While Googlebot and other respectable web crawlers obey the instructions in a robots.txt file, other crawlers might not. Therefore, if you want to keep information secure from web crawlers, it's better to use other blocking methods, such as [password-protecting private files on your server](https://developers.google.com/search/docs/crawling-indexing/control-what-you-share).

- **Different crawlers interpret syntax differently.**   

  Although respectable web crawlers follow the rules in a robots.txt file, each crawler might interpret the rules differently. You should know the [proper syntax](https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt#syntax) for addressing different web crawlers as some might not understand certain instructions.

- **A page that's disallowed in robots.txt can

  still be indexed if linked to from other sites.**   

  While Google won't crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web. As a result, the URL address and, potentially, other publicly available information such as anchor text in links to the page can still appear in Google Search results. To properly prevent your URL from appearing in Google Search results, [password-protect the files on your server](https://developers.google.com/search/docs/crawling-indexing/control-what-you-share), [use the `noindex` `meta` tag or response header](https://developers.google.com/search/docs/crawling-indexing/block-indexing), or remove the page entirely.


> [!CAUTION]

> **Caution** : Combining multiple crawling and indexing rules might cause some rules to counteract other rules. Learn how to [combine crawling with indexing and serving rules](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#combining).


## Create or update a robots.txt file



If you decided that you need one, learn how to

[create a robots.txt file](https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt). Or if

you already have one, learn how to

[update it](https://developers.google.com/search/docs/crawling-indexing/robots/submit-updated-robots-txt).


Want to learn more? Check out the following resources:


- [How to write and submit a robots.txt file](https://developers.google.com/crawling/docs/robots-txt/create-robots-txt)

- [Update your robots.txt file](https://developers.google.com/crawling/docs/robots-txt/submit-updated-robots-txt)

- [How Google interprets the robots.txt specification](https://developers.google.com/crawling/docs/robots-txt/robots-txt-spec)

Website URL Sitemap

 # Video sitemaps and alternatives



A video sitemap is a [sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview)

with additional information about videos hosted on your pages. Creating a video sitemap is a

good way to help Google find and understand the video content on your site, especially

content that was recently added or that we might not otherwise discover with our usual

crawling mechanisms.



Google recommends using video sitemaps, however we also support [mRSS feeds](https://developers.google.com/search/docs/crawling-indexing/sitemaps/video-sitemaps#sitemap_alternatives).


## Video sitemap best practices



Video sitemaps are based on generic sitemaps, so the

[general sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#general-guidelines)

also apply to video sitemaps. You can create a separate sitemap or mRSS feed just for video,

or you can add video sitemap tags within an existing

[sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#xml), whichever is more

convenient for you.


Additionally, the following requirements apply to video sitemaps specifically:


- Don't list videos that are unrelated to the content of the host page. For example, a video that is a small addendum to the page, or unrelated to the main text content.

- All files referenced in the video sitemap must be accessible to Googlebot. This means that all URLs in the video sitemap:

  - must not be disallowed for crawling by [robots.txt](https://developers.google.com/search/docs/crawling-indexing/robots/intro) rules,

  - must be accessible without metafiles and without logging in,

  - must not be blocked by firewalls or similar mechanism,

  - and must be accessible on a supported protocol: HTTP and FTP (streaming protocols are not supported).



  If you want to prevent spammers from accessing your video content at the

  `<player_loc>` or `<content_loc>` URLs,

  [verify that any bots accessing your server are really Googlebot](https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot).



For more tips about videos in Google Search, see our

[video best practices](https://developers.google.com/search/docs/appearance/video).


## Example video sitemap



The following example shows a regular sitemap with video extension. It includes two video

entries nested in the single `<url>` tag. The first

`<video>` entry includes all the tags that Google can use while the second

only the required tags.


```xml

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">

  <url>

    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>

    <video:video>

      <video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>

      <video:title>Grilling steaks for summer</video:title>

      <video:description>

        Alkis shows you how to get perfectly done steaks every time

      </video:description>

      <video:content_loc>

        http://streamserver.example.com/video123.mp4

      </video:content_loc>

      <video:player_loc>

        https://www.example.com/videoplayer.php?video=123

      </video:player_loc>

      <video:duration>600</video:duration>

      <video:expiration_date>2021-11-05T19:20:30+08:00</video:expiration_date>

      <video:rating>4.2</video:rating>

      <video:view_count>12345</video:view_count>

      <video:publication_date>2007-11-05T19:20:30+08:00</video:publication_date>

      <video:family_friendly>yes</video:family_friendly>

      <video:restriction relationship="allow">IE GB US CA</video:restriction>

      <video:platform relationship="allow">web tv</video:platform>

      <video:requires_subscription>yes</video:requires_subscription>

      <video:uploader

        info="https://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson

      </video:uploader>

      <video:live>no</video:live>

      <video:tag>steak</video:tag>

      <video:tag>meat</video:tag>

      <video:tag>summer</video:tag>

    </video:video>

    <video:video>

      <video:thumbnail_loc>https://www.example.com/thumbs/345.jpg</video:thumbnail_loc>

      <video:title>Grilling steaks for winter</video:title>

      <video:description>

        In the freezing cold, Roman shows you how to get perfectly done steaks every time.

      </video:description>

      <video:content_loc>

        http://streamserver.example.com/video345.mp4

      </video:content_loc>

      <video:player_loc>

        https://www.example.com/videoplayer.php?video=345

      </video:player_loc>

    </video:video>

  </url>

</urlset>

```


#### More examples



The following example demonstrates how to add a Vimeo video embed to a video sitemap:


```xml

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">

  <url>

    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>

    <video:video>

      <video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>

      <video:title>Lizzi is painting the wall</video:title>

      <video:description>

        Gary is watching the paint dry on the wall Lizzi painted.

      </video:description>

      <video:player_loc>

        https://player.vimeo.com/video/987654321

      </video:player_loc>

    </video:video>

  </url>

</urlset>

```



The following example demonstrates how to add a YouTube video embed to a video sitemap:


```xml

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"

    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">

  <url>

    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>

    <video:video>

      <video:thumbnail_loc>https://www.example.com/thumbs/345.jpg</video:thumbnail_loc>

      <video:title>John teaches cheese</video:title>

      <video:description>

        John explains the differences between a banana and cheese.

      </video:description>

      <video:player_loc>

        https://www.youtube.com/embed/1a2b3c4d

      </video:player_loc>

    </video:video>

  </url>

</urlset>

```


## Video sitemap reference



The `video` tags are defined in the video sitemaps namespace:

[`http://www.google.com/schemas/sitemap-video/1.1`](http://www.google.com/schemas/sitemap-video/1.1).

Each tag can only be added one time per video, unless otherwise specified.



To make sure Google can use your video sitemap, you must use the following required tags:


| Required tags ||

|---|---|

| `<video:video>` | The parent element for all information about a single video on the page specified by the `<loc>` tag. You can include multiple `<video:video>` tags nested in the `<loc>` tag, one for each video on the hosting page. |

| `<video:thumbnail_loc>` | A URL pointing to the video thumbnail image file. Follow the [video thumbnail requirements.](https://developers.google.com/search/docs/appearance/video#thumbnails) |

| `<video:title>` | The title of the video. All HTML entities must be escaped or wrapped in a [`CDATA` block](http://wikipedia.org/wiki/CDATA). We recommend that this match the video title displayed on the web page where the video is embedded. |

| `<video:description>` | A description of the video. Maximum 2048 characters. All HTML entities must be escaped or wrapped in a [`CDATA` block](http://wikipedia.org/wiki/CDATA). It must match the description displayed on the web page where the video is embedded, but it doesn't need to be a word-for-word match. |

| `<video:content_loc>` | A URL pointing to the actual video media file. The file must be one of the [supported formats.](https://developers.google.com/search/docs/appearance/video#file-types) > [!NOTE] > It's required to provide either a `<video:content_loc>` or `<video:player_loc>` tag. We recommend that your provide the `<video:content_loc>` tag, if possible. This is the most effective way for Google to fetch your video content files. If `<video:content_loc>` isn't available, provide `<video:player_loc>` as an alternative. **Additional guidelines** - HTML and Flash aren't supported formats. - Must not be the same as the URL in the parent `<loc>` tag. - This is the equivalent of `https://developers.google.com/search/docs/appearance/structured-data/video` in structured data. - **Best practice:** If you want to restrict access to your content but still have it crawled, ensure that Googlebot can access your content by using [verifying Googlebot](https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot). |

| `<video:player_loc>` | A URL pointing to a player for a **specific** video. Usually this is the information in the `src` attribute of an `<embed>` tag. > [!NOTE] > It's required to provide either a `<video:content_loc>` or `<video:player_loc>` tag. We recommend that your provide the `<video:content_loc>` tag, if possible. This is the most effective way for Google to fetch your video content files. If `<video:content_loc>` isn't available, provide `<video:player_loc>` as an alternative. **Additional guidelines** - Must not be the same as the `<loc>` URL. - For Vimeo, YouTube, and other video hosting platforms that allow embedding videos through `iframe` videos, this value is used rather than `video:content_loc`. This is the equivalent of `https://developers.google.com/search/docs/appearance/structured-data/video` in structured data. - **Best practice:** If you want to restrict access to your content but still have it crawled, ensure that Googlebot can access your content by using [verifying Googlebot](https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot). |



Additionally, the following optional tags may help Google better understand your videos and

its properties:


| Optional tags ||

|---|---|

| `<video:duration>` | The duration of the video, in seconds. Value must be from `1` to `28800` (8 hours). |

| `<video:expiration_date>` | The date after which the video is no longer be available, in [W3C format](http://www.w3.org/TR/NOTE-datetime). Omit this tag if your video doesn't expire. If present, Google Search won't show your video after this date. For recurring videos at the same URL, update the expiration date to the new expiration date. Supported values are complete date (`YYYY-MM-DD`), or complete date plus hours, minutes and seconds, and timezone (`YYYY-MM-DDThh:mm:ss+TZD`). **Example:** `2012-07-16T19:20:30+08:00`. |

| `<video:rating>` | The rating of the video. Supported values are float numbers in the range `0.0` (low) to `5.0` (high). |

| `<video:view_count>` | The number of times the video has been viewed. |

| `<video:publication_date>` | The date the video was first published, in [W3C format](http://www.w3.org/TR/NOTE-datetime). Supported values are complete date (`YYYY-MM-DD`) or complete date plus hours, minutes and seconds, and timezone (`YYYY-MM-DDThh:mm:ss+TZD`). **Example:** `2007-07-16T19:20:30+08:00` |

| `<video:family_friendly>` | Whether the video is available with [SafeSearch](https://developers.google.com/search/docs/crawling-indexing/safesearch). If you omit this tag, the video is available when SafeSearch is turned on. **Supported values**: - `yes`: The video is available when SafeSearch is turned on. - `no`: The video is only available when SafeSearch is turned off. |

| `<video:restriction>` | Whether to show or hide your video in search results from specific countries. Specify a space-delimited list of country codes in [ISO 3166 format](http://wikipedia.org/wiki/ISO_3166). If there's no `<video:restriction>` tag, Google assumes that the video can be shown in all locations. *Note that this tag only affects search results; it doesn't prevent a user from finding or playing your video in a restricted location through other means.* [Learn more about applying country restrictions.](https://developers.google.com/search/docs/appearance/video#restrict_by_country) **Attributes:** If the parent tag `<video:restriction>` is used, the following attribute is required: - `relationship`: Whether the video is allowed or denied in search results in the specified countries. Supported values are: - `allow`: The listed countries are allowed and unlisted countries are denied. - `deny`: The listed countries are denied and unlisted countries are allowed. **Example:** This example allows the video search result to be shown only in Canada and Mexico: `<video:restriction relationship="allow">CA MX</video:restriction>` |

| `<video:platform>` | Whether to show or hide your video in search results on specified platform types. This is a list of space-delimited platform types. *Note that this only affects search results on the specified device types; it doesn't prevent a user from playing your video on a restricted platform.* If there's no `<video:platform>` tag, Google assumes that the video can be played on all platforms. [Learn more about applying platform restrictions.](https://developers.google.com/search/docs/appearance/video#restrict_by_platform) **Supported values**: - `web`: Computer browsers on desktops and laptops. - `mobile`: Mobile browsers, such as those on cellular phones or tablets. - `tv`: TV browsers, such as those available through Google TV devices and game consoles. **Attributes:** If the parent tag `<video:platform>` is used, the following attributes are required: - `relationship`: Specifies whether the video is restricted or permitted for the specified platforms. Supported values are: - `allow`: Any omitted platforms will be denied. - `deny`: Any omitted platforms will be allowed. **Example:** The following example allows users on web or TV, but not mobile devices: `<video:platform relationship="allow">web tv</video:platform>` |

| `<video:requires_subscription>` | Indicates whether a subscription (either paid or free) is required to view the video. Supported values are: - `yes`: Subscription is required. - `no`: Subscription is not required. |

| `<video:uploader>` | The video uploader's name. The string value can be a maximum of 255 characters. **Attributes:** - `info` \[*Optional*\]: Specifies the URL of a web page with additional information about this uploader. This URL must be in the same domain as the `<loc>` tag. |

| `<video:live>` | Indicates whether the video is a livestream. Supported values are: - `yes`: The video is a livestream. - `no`: The video is not a livestream. |

| `<video:tag>` | An arbitrary string tag describing the video. Tags are generally very short descriptions of key concepts associated with a video or piece of content. A single video could have several tags, although it might belong to only one category. For example, a video about grilling food may belong in the "grilling" category, but could be tagged "steak", "meat", "summer", and "outdoor". Create a new `<video:tag>` element for each tag associated with a video. A maximum of 32 tags is permitted per video. |


### Deprecated tags and attributes



We removed the following tags and attributes from our documentation:

`<video:category>`, `<video:gallery_loc>`, the

`autoplay` and `allow_embed` attributes of the

`<video:player_loc>` tag, the `<video:price>` tag and its

attributes, and the `<video:tvshow>` tag and its attributes. See the

[deprecation announcement](https://developers.google.com/search/blog/2022/05/spring-cleaning-sitemap-extensions)

for more information.


## Sitemap alternative: mRSS



While Google recommends using video sitemaps, we also support mRSS feeds.



Google supports [mRSS](http://www.rssboard.org/media-rss),

an RSS module that supplements the element capabilities of

[RSS 2.0](http://cyber.law.harvard.edu/rss/rss.html).

mRSS feeds are very similar to video sitemaps and can be tested, submitted, and updated just

like sitemaps.



For more information about media feeds, see the

[official media RSS documentation](http://www.rssboard.org/media-rss).


> [!NOTE]

> **RSS vs mRSS**: mRSS is a RSS extension used for syndicating multimedia files. It allows for a much more detailed description of the content than the RSS standard.


### mRSS Example


Here's an example of an mRSS entry that provides all the tags that Google uses.


```xml

<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">

  <channel>

    <title>Example MRSS</title>

    <link>https://www.example.com/examples/mrss/</link>

    <description>MRSS Example</description>

    <item xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/">

      <link>https://www.example.com/examples/mrss/example.html</link>

      <media:content url="https://www.example.com/examples/mrss/example.flv" fileSize="405321"

                        type="video/x-flv" height="240" width="320" duration="120" medium="video" isDefault="true">

        <media:player url="https://www.example.com/shows/example/video.swf?flash_params" />

        <media:title>Grilling Steaks for Summer</media:title>

        <media:description>Get perfectly done steaks every time</media:description>

        <media:thumbnail url="https://www.example.com/examples/mrss/example.png" height="120" width="160"/>

        <media:price price="19.99" currency="EUR" />

        <media:price type="subscription" />

      </media:content>

      <media:restriction relationship="allow" type="country">us ca</media:restriction>

      <dcterms:valid xmlns:dcterms="http://purl.org/dc/terms/">end=2020-10-15T00:00+01:00; scheme=W3C-DTF</dcterms:valid>

      <dcterms:type>live-video</dcterms:type>

    </item>

  </channel>

</rss>

```


### mRSS reference



The

[full mRSS specification](http://www.rssboard.org/media-rss)

contains more optional tags, best practices, and examples.



To make sure Google can use your mRSS feed, you must use the following required tags:


| Required tags ||

|---|---|

| `<media:content>` | Encloses information about the video. Attributes: - `medium`: Type of content. Set to `video`. - `url`: The direct URL to the raw video content. **If this isn't specified, you must specify the `<media:player>` tag.** - `duration` \[*Optional but recommended*\]: Length of the video in seconds. For all of the other optional attributes and child fields of the `<media:content>` tag, see the [mRSS specification](http://www.rssboard.org/media-rss). |

| `<media:player>` | **You must specify at least one of `<media:player>` or the `url` attribute in `<media:content>`.** A URL pointing to a player for a **specific** video. Usually this is the information in the `src` attribute of an `<embed>` tag and must not be the same as the content of the `<loc>` tag. It can't be the same URL as the `<link>` tag. The `<link>` tag points to the URL of the page hosting the video, while this tag points to a player. |

| `<media:title>` | The title of the video. Maximum 100 characters. All HTML entities must be escaped or wrapped in a [CDATA bock](http://wikipedia.org/wiki/CDATA). |

| `<media:description>` | The description of the video. Maximum 2048 characters. All HTML entities must be escaped or wrapped in a [CDATA block](http://wikipedia.org/wiki/CDATA). |

| `<media:thumbnail>` | A URL pointing to a preview thumbnail. Follow the [Video thumbnail requirements.](https://developers.google.com/search/docs/appearance/video#thumbnails) |



Additionally, the following optional tags may help Google better understand your videos and

its properties:


| Optional tags ||

|---|---|

| `<dcterms:valid>` | The publication and expiration date of the video. Here's the [Full specification of the `dcterms:valid`](https://www.dublincore.org/specifications/dublin-core/dcmi-terms/terms/valid/) tag. **Example:** ```xml <dcterms:valid> start=2002-10-13T09:00+01:00; end=2002-10-17T17:00+01:00; scheme=W3C-DTF <dcterms:valid> ``` |

| `<media:restriction>` | A space-delimited list of countries /www.dublincore.org/specifications/dublin-core/dcmi-terms/terms/valid/) tag. **Example:** ```xml <dcterms:valid> start=2002-10-13T09:00+01:00; end=2002-10-17T17:00+01:00; scheme=W3C-DTF <dcterms:valid> ``` |

| `<media:restriction>` | A space-delimited list of countries 

Wednesday, 11 March 2026

Pinterest Updates

 

[ { "name": "Ad Group For Pin: 687195905986", "status": "ACTIVE", "budget_in_micro_currency": 5000000, "bid_in_micro_currency": 5000000, "optimization_goal_metadata": { "conversion_tag_v3_goal_metadata": { "attribution_windows": { "click_window_days": 0, "engagement_window_days": 0, "view_window_days": 0 }, "conversion_event": "string", "conversion_tag_id": "string", "cpa_goal_value_in_micro_currency": "string", "is_roas_optimized": "false", "reporting_event": "string" }, "frequency_goal_metadata": { "frequency": 0, "timerange": "string" }, "scrollup_goal_metadata": { "scrollup_goal_value_in_micro_currency": "string" } }, "budget_type": "string", "start_time": 5686848000, "end_time": 5705424000, "targeting_spec": { "AGE_BUCKET": [ "string" ], "APPTYPE": [ "string" ], "AUDIENCE_EXCLUDE": [ "string" ], "AUDIENCE_INCLUDE": [ "string" ], "GENDER": [ "string" ], "GEO": [ "string" ], "GEO_EXCLUDE": [ "string" ], "INTEREST": [ "string" ], "LOCALE": [ "string" ], "LOCATION": [ "string" ], "LOCATION_EXCLUDE": [ "string" ], "MAXIMUM_AGE": "string", "MINIMUM_AGE": "string", "SHOPPING_RETARGETING": [ { "lookback_window": 30, "exclusion_window": 14, "tag_types": [ 0, 6 ] } ], "TARGETING_STRATEGY": [ "string" ] }, "lifetime_frequency_cap": 100, "tracking_urls": { "audience_verification": [ "string" ], "buyable_button": [ "string" ], "click": [ "string" ], "engagement": [ "string" ], "impression": [ "string" ] }, "auto_targeting_enabled": true, "placement_group": "ALL", "pacing_delivery_type": "string", "campaign_id": "626736533506", "billable_event": "string", "bid_strategy_type": "string", "targeting_template_ids": [ "643" ], "is_creative_optimization": true, "promotion_id": "7834020347906", "promotion_ids": [ "7834020347906", "7834020347907" ], "promotion_application_level": "ITEM", "id": "2680060704746", "bid_multiplier": 1, "targeting_spec_operations": [ { "field": "string", "values": [ "string" ], "operation": "string" } ] } ]

Saturday, 27 September 2025

Markeeting2023Google

https://github.com/googlemaps-samples/android-samples/tree/main/ApiDemos/java./* * The snippet below shows code for the activity file. To view the complete code sample, * visit https://github.com/googlemaps-samples/android-samples/tree/main/ApiDemos/java. */ // Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.example.mapdemo; import android.Manifest.permission; import android.annotation.SuppressLint; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; import com.google.android.gms.maps.GoogleMap.OnMyLocationClickListener; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import android.Manifest; import android.content.pm.PackageManager; import android.location.Location; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import android.widget.Toast; /** * This demo shows how GMS Location can be used to check for changes to the users location. The "My * Location" button uses GMS Location to set the blue dot representing the users location. * Permission for {@link android.Manifest.permission#ACCESS_FINE_LOCATION} and {@link * android.Manifest.permission#ACCESS_COARSE_LOCATION} are requested at run time. If either * permission is not granted, the Activity is finished with an error message. */ // [START maps_android_sample_my_location] public class MyLocationDemoActivity extends AppCompatActivity implements OnMyLocationButtonClickListener, OnMyLocationClickListener, OnMapReadyCallback, ActivityCompat.OnRequestPermissionsResultCallback { /** * Request code for location permission request. * * @see #onRequestPermissionsResult(int, String[], int[]) */ private static final int LOCATION_PERMISSION_REQUEST_CODE = 1; /** * Flag indicating whether a requested permission has been denied after returning in {@link * #onRequestPermissionsResult(int, String[], int[])}. */ private boolean permissionDenied = false; private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_location_demo); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(@NonNull GoogleMap googleMap) { map = googleMap; map.setOnMyLocationButtonClickListener(this); map.setOnMyLocationClickListener(this); enableMyLocation(); } /** * Enables the My Location layer if the fine location permission has been granted. */ @SuppressLint("MissingPermission") private void enableMyLocation() { // [START maps_check_location_permission] // 1. Check if permissions are granted, if so, enable the my location layer if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(this, permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { map.setMyLocationEnabled(true); return; } // 2. Otherwise, request location permissions from the user. PermissionUtils.requestLocationPermissions(this, LOCATION_PERMISSION_REQUEST_CODE, true); // [END maps_check_location_permission] } @Override public boolean onMyLocationButtonClick() { Toast.makeText(this, "MyLocation button clicked", Toast.LENGTH_SHORT).show(); // Return false so that we don't consume the event and the default behavior still occurs // (the camera animates to the user's current position). return false; } @Override public void onMyLocationClick(@NonNull Location location) { Toast.makeText(this, "Current location:\n" + location, Toast.LENGTH_LONG).show(); } // [START maps_check_location_permission_result] @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); return; } if (PermissionUtils.isPermissionGranted(permissions, grantResults, Manifest.permission.ACCESS_FINE_LOCATION) || PermissionUtils .isPermissionGranted(permissions, grantResults, Manifest.permission.ACCESS_COARSE_LOCATION)) { // Enable the my location layer if the permission has been granted. enableMyLocation(); } else { // Permission was denied. Display an error message // [START_EXCLUDE] // Display the missing permission error dialog when the fragments resume. permissionDenied = true; // [END_EXCLUDE] } } // [END maps_check_location_permission_result] @Override protected void onResumeFragments() { super.onResumeFragments(); if (permissionDenied) { // Permission was not granted, display error dialog. showMissingPermissionError(); permissionDenied = false; } } /** * Displays a dialog with error message explaining that the location permission is missing. */ private void showMissingPermissionError() { PermissionUtils.PermissionDeniedDialog .newInstance(true).show(getSupportFragmentManager(), "dialog"); } } // [END maps_android_sample_my_location]

Friday, 4 October 2024

Google Reviews

 Google Review


Thursday, 8 August 2024

PHOTO PICKER(SWIFT UI)

 PHOTO PICKER(SWIFT UI)

PHTO PICKER APPLICATION(APP) DEMONSTRATION(DEMO)

PHOTO PICKER 

The photo picker provides a browsable interface that presents the user with their media library, sorted by date from newest to oldest. As shown in the privacy best practices codelab, the photo picker provides a safe, built-in way for users to grant your app access to only selected images and videos, instead of their entire media library.

Users who have eligible cloud media providers on their device are also able to select from photos and videos stored remotely. Learn more about cloud media providers.

The tool updates automatically, offering expanded functionality to your app's users over time without requiring any code changes.

https://goniks.blogspot.com/

Social Security Values

 https://www.freep.com/story/money/personal-finance/2026/10/01/cost-of-living-adjustment-social-security-october-payment-dates/92036139007/

https://goniks.blogspot.com/