Content Metadata Reference

Publishing App Link metadata is as simple as adding a few lines to the <head> tag in the HTML for your content. Apps that link to your content can then use this metadata to deep-link into your app, take users to an app store to download the app, or take them directly to the web to view the content. This allows developers to provide the best possible experience for their users when linking to their content.

App Links are specified using the tags defined in the registry below. Each target platform requires a different set of metadata in order to provide enough context for one app to deep-link into another.

A simple web page that provides App Link metadata might look like this, in a file called documentation.html:

<html>
<head>
<meta property="al:ios:url" content="applinks://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<meta property="al:android:url" content="applinks://docs" />
<meta property="al:android:app_name" content="App Links" />
<meta property="al:android:package" content="org.applinks" />
<meta property="al:web:url"
content="http://applinks.org/documentation" />
</head>
<body>
Hello, world!
</body>
</html>

Platform Metadata Schema

The following tags can be used to define App Link metadata for your site. Each device type can be specified multiple times to accommodate multiple values, allowing you to provide a fallback list of apps to search for when navigating (e.g. if both a free and paid version of an app is available, or if multiple versions of the app exist that handle different deep-links).

Your app may also define a single fallback URL to be loaded in a web browser if your app is not installed. If your app has no equivalent web content, you may specify al:web:should_fallback as false to indicate that other apps should not attempt to fall back to displaying your content in a web browser.

Device Type: iOS

PropertyExample ContentDescriptionRequired (Y/N)
al:ios:urlapplinks://docsA custom scheme for the iOS app. The scheme part of the URI may not contain underscores. (In this example, applinks: would be valid, app_links: would not.)Y
al:ios:app_store_id12345The app ID for the App StoreN
al:ios:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: iPhone

PropertyExample ContentDescriptionRequired (Y/N)
al:iphone:urlapplinks://docsA custom scheme for the iPhone appY
al:iphone:app_store_id12345The app ID for the App StoreN
al:iphone:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: iPad

PropertyExample ContentDescriptionRequired (Y/N)
al:ipad:urlapplinks://docsA custom scheme for the iPad appY
al:ipad:app_store_id12345The app ID for the App StoreN
al:ipad:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: Android

PropertyExample ContentDescriptionRequired (Y/N)
al:android:urlapplinks://docsA custom scheme for the Android appN
al:android:packageorg.applinksA fully-qualified package name for intent generationY
al:android:classorg.applinks.DocsActivityA fully-qualified Activity class name for intent generationN
al:android:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: Windows Phone

PropertyExample ContentDescriptionRequired (Y/N)
al:windows_phone:urlapplinks://docsA custom scheme for the Windows Phone appY
al:windows_phone:app_ida14e93aa-27c7-df11-a844-00237de2db9fThe app ID (a GUID) for app storeN
al:windows_phone:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: Windows

PropertyExample ContentDescriptionRequired (Y/N)
al:windows:urlapplinks://docsA custom scheme for the Windows appY
al:windows:app_ida14e93aa-27c7-df11-a844-00237de2db9fThe app ID (a GUID) for app storeN
al:windows:app_nameApp LinksThe name of the app (suitable for display)N

Device Type: Universal Windows

PropertyExample ContentDescriptionRequired (Y/N)
al:windows_universal:urlapplinks://docsA custom scheme for the Windows Universal appY
al:windows_universal:app_ida14e93aa-27c7-df11-a844-00237de2db9fThe app ID (a GUID) for app storeN
al:windows_universal:app_nameApp LinksThe name of the app (suitable for display)N

Web Fallback

PropertyExample ContentDescriptionRequired (Y/N)
al:web:urlhttp://applinks.org/documentationThe web URL; defaults to the URL for the content that contains this tagN
al:web:should_fallbackfalseIndicates if the web URL should be used as a fallback; defaults to trueN

When crawling URLs for App Link metadata, developers should send a request with al as one of the prefix values for the Prefer-Html-Meta-Tags header. Your server may choose to limit its response to only include HTML containing the tags above, and can use this as a signal to return these tags even when the response type for the given location would otherwise be something other than text/html.:

Prefer-Html-Meta-Tags: al

Examples

A few examples of common cases when specifying App Link metadata follows.

An app that is only available on iOS and on the web:

<html>
<head>
<meta property="al:ios:url" content="applinks://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>

An app that has multiple versions on iOS, where apps following a link should attempt to use the latest version available on the device:

<html>
<head>
<meta property="al:ios" />
<meta property="al:ios:url" content="applinks_v2://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<meta property="al:ios" />
<meta property="al:ios:url" content="applinks_v1://browse" />
<meta property="al:ios:app_name" content="App Links" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>

An app with an iPad and iPhone version:

<html>
<head>
<meta property="al:iphone:url" content="applinks://docs" />
<meta property="al:iphone:app_store_id" content="12345" />
<meta property="al:iphone:app_name" content="App Links" />
<meta property="al:ipad:url" content="applinks://docs" />
<meta property="al:ipad:app_store_id" content="67890" />
<meta property="al:ipad:app_name" content="App Links" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>

An app that has no web content, but has apps on iOS and Android:

<html>
<head>
<meta property="al:android:package" content="org.applinks" />
<meta property="al:android:url" content="applinks://docs" />
<meta property="al:android:app_name" content="App Links" />
<meta property="al:ios:url" content="applinks://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<meta property="al:web:should_fallback" content="false" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>

A shared link for an app whose web content may be found at another URL:

<html>
<head>
<meta property="al:android:package" content="org.applinks" />
<meta property="al:android:url" content="applinks://docs" />
<meta property="al:android:app_name" content="App Links" />
<meta property="al:ios:url" content="applinks://docs" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="App Links" />
<meta property="al:web:url"
content="http://www.example.com/applinks_docs" />
<!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>