¿Cómo agrego soporte URI a mi aplicación?

Parte 1: definir la estructura de URI

El primer paso es descubrir cómo se verá el URI. Como mínimo, se verá más o menos así:

com.myshoppingsite: //

En la jerga URI, ” compras” se considera el esquema y es lo que quieras que sea. Entonces, primero elija un esquema apropiado. Por lo general, seguirá algo muy similar al nombre de su aplicación.

Lo siguiente es considerar la ruta después del esquema. En el ejemplo com.myshoppingsite: // diga si desea vincular a un producto específico dentro de su aplicación, puede hacer algo como:

com.myshoppingsite: // productos / 123

Aquí hay algunos ejemplos más de esquemas de URI que están disponibles:
http://wiki.akosma.com/IPhone_UR…
http://handleopenurl.com/

También he respondido otra pregunta aquí que ilustra la mejor manera de definir la estructura de URI:

https://www.quora.com/URIs/What-best-practices-should-I-follow-when-creating-URI-structures-for-mobile-apps/answer/Simon-Tam-5

Parte 2: integra el esquema en tu aplicación

Sin ser demasiado técnico, aquí está la versión rápida y sucia. Consulte aquí para obtener una vista más detallada:

https://www.sparq.it/web/api/v1/…

Dispositivos IOS

1. Defina el esquema URI en Info.plist en CFBundleURLTypes -> CFBundleURLSchemes.

2. Implemente la aplicación: openURL: sourceApplication: annotation: en el delegado de su aplicación. (handleOpenUrl está en desuso)

3. Se pasará el URI completo en el que luego puede analizar y manejar dentro de su aplicación

Referencia completa: http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW50

Dispositivos Android

Primero determine qué conjunto de actividades manejará sus URI. Por ejemplo, supongamos que su aplicación puede mostrar productos y desea que su URI se vincule a ellos de la siguiente manera:

com.myshoppingsite: // productos

Luego deberá definir un filtro de intención en AndroidManifest.xml:
Referencia completa: http://developer.android.com/training/basics/intents/filters.html#AddIntentFilter