# Adding App Links to Your Existing Web Content



You can add support for App Links to existing web content by defining metadata that details how apps link to your content.  You need to add the following information to your URLs:

1. A custom URL that will be used to launch your app.
2. The app store ID / package that will handle the content.
3. The app name that will handle the content.

The metadata is added to your web page's `<head>` tag.  The full list of options is documented at [applinks.org](http://applinks.org).

**Warning:** App Links for Web are not supported for Catalog ads. Instead, see [Product Deep Links](https://developers.facebook.com/documentation/ads-commerce/catalog/guides/product-deep-links).

## iOS {#ios}

As an example, let's say you've got a page located at:

`http://example.com/applinks`

In that page you need to add some metadata to describe what app will handle it:

```
<html>
<head>
    <meta property="al:ios:url" content="example://applinks" />
    <meta property="al:ios:app_store_id" content="12345" />
    <meta property="al:ios:app_name" content="Example App" />
    <meta property="og:title" content="example page title" />
    <meta property="og:type" content="website" />
    <!-- Other headers -->
</head>
<!-- Other HTML content -->
</html>
</head>
```

If the person has your app installed, the content at this URL appears in your app, as documented in our [iOS documentation](https://developers.facebook.com/documentation/applinks/ios):

```
example://applinks?al_applink_data=%7B%22user_agent%22%3A%22Bolts%20iOS%201.0.0%22%2C%22target_url%22%3A%22http%3A%5C%2F%5C%2Fexample.com%5C%2Fapplinks%22%2C%22extras%22%3A%7B%22myapp_token%22%3A%22t0kEn%22%7D%7D
```

The `url` property must match a custom scheme that you've defined in your app's `.plist` file.

If the person doesn't have your app installed, App Links opens the App Store page for your app instead:

```
http://example.com/applinks?al_applink_data=%7B%22user_agent%22%3A%22Bolts%20iOS%201.0.0%22%2C%22target_url%22%3A%22http%3A%5C%2F%5C%2Fexample.com%5C%2Fapplinks%22%2C%22extras%22%3A%7B%22myapp_token%22%3A%22t0kEn%22%7D%7D
```

The `url` property is a URL that your app will receive when it's launched along with the other data JSON-encoded.  Please see more about how to handle the incoming links in our [iOS documentation](https://developers.facebook.com/documentation/applinks/ios) or on the [applinks.org](http://applinks.org/documentation/#publishingapplinks) site.

## Android {#android}

As an example for Android, let's add support to

`https://example.com/android`

so it will be handled by your app. Just like with iOS we need to add Android-specific data that describes what app will handle the page:

```
<head>
    ...
    <meta property="al:android:url" content="sharesample://story/1234">
    <meta property="al:android:package" content="com.facebook.samples.sharesample">
    <meta property="al:android:app_name" content="ShareSample">
    <meta property="og:title" content="example page title" />
    <meta property="og:type" content="website" />
    ...
</head>
```

When someone clicks on the story, your Android app will be loaded with the target URI, as documented on the [android documentation](https://developers.facebook.com/documentation/applinks/android).  In this example, the URI will be `sharesample://story/1234`.

The `sharesample` URI scheme represents your unique custom scheme. To set up your app to respond to this `URI`, you need to add an intent filter in your app's manifest file. The filter should respond to your custom scheme, handle implicit intents, and accept the `ACTION_VIEW` action. The example below adds a filter to the activity that handles the `sharesample` custom URL scheme:

```
<activity android:name=".MainActivity"
    android:label="@string/app_name" >
    ...
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="sharesample" />
    </intent-filter>
</activity>
```

Please see more about how to handle the incoming links in our [Android documentation](https://developers.facebook.com/documentation/applinks/android) or on the [applinks.org](http://applinks.org/documentation/#publishingapplinks) site.