# DoveRunner on Android

This article describes how to configure [DoveRunner Multi-DRM](https://doverunner.com/docs/content-security/multi-drm/) with THEOplayer. This content is based on DoveRunner's documentation.

**Note**: The details in the guide apply for DoveRunner (formerly known as "PallyCon"). While most details, API hostnames and variables have been updated to reflect DoveRunner, certain configurations such as the `pallycon-customdata-v2` HTTP request header will still apply.

Head to our page on [DRM](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/introduction.md) for more general information.

## Integration

We provide open-source DRM integrations which are easy to maintain and allow for a modular approach. You can find them in the [DRM integration samples repository](https://github.com/THEOplayer/samples-drm-integration), alongside guides on how to integrate and use them.

There currently is no ready-made integration for this DRM provider: you can choose to develop one based on the examples in the repository, or get in contact with us about making one.

## Code example

```java
// Map<String, String> headers =  new HashMap<String, String>();
// headers.put("<CUSTOM_HEADER_NAME>", "<CUSTOM_HEADER_VALUE>"); // e.g. "pallycon-customdata-v2", "eyJkYXRhIjoibWJLV1NjSUNIU25WMjZQWFB4cGlDQUJVbnZsOGxCOWRNZDhHZ3dhbjZqRDFwNFZoQk51VlhQY2RMaG9nNTNYbngyTjFaalwvQ3BxZ3RUS2k5Rzd3MUZ3PT0iLCJzaXRlX2lkIjoiREVNTyIsImRybV90eXBlIjoiUGxheVJlYWR5In0="
DRMConfiguration drmConfiguration = new DRMConfiguration.Builder()
    .widevine(
        new KeySystemConfiguration(
            "<LICENSE_KEY_URL_WIDEVINE>", headers, false, null
        )
    )
    .build();
TypedSource typedSource = new TypedSource.Builder()
    .src("<DASH_STREAM_URL>")
    .drm(drmConfiguration)
    .build();
SourceDescription sourceDescription = SourceDescription.Builder.sourceDescription()
    .sources(typedSource)
    .build();
theoplayer.getPlayer().setSource(sourceDescription);
```

## Resources

* <https://doverunner.com/docs/content-security/multi-drm/>
* <https://doverunner.com/docs/content-security/multi-drm/clients/widevine-android/>

## Related articles

* [Uplynk](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/uplynk.md)
* [Xstream](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/xstream.md)
* [Vualto VuDRM](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/vualto-vudrm.md)
* [Vimond](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/vimond.md)
* [Verimatrix MultiRights](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/verimatrix-multirights.md)
* [Nagra Conax Contego](https://docs-preview.optiview.dolby.com/pr-861/theoplayer/how-to-guides/android/drm/nagra-conax-contego.md)
