Integración de enlaces profundos
Comenzar
Deep Linking Types
- Enlaces profundos diferidos: proporcionan contenido personalizado a usuarios nuevos o antiguos, directamente después de la instalación.
- Enlaces profundos directos: proporcionan contenido personalizado directamente a los usuarios existentes, que ya tienen instalada la aplicación móvil.
Unified deep linking (UDL) - an API which enables you to send new and existing users to a specific in-app activity as soon as the app is opened.
Para más información, consulta la guía de enlaces profundos deOneLink™ y la guía para desarrolladores.
Configuración de enlaces profundos de Android
El SDK de AppsFlyer inspecciona el objeto de intención de actividad durante onResume(). Debido a eso, para cada actividad que pueda configurarse o iniciarse con cualquier modo de inicio no estándar, asegúrate de agregar el siguiente código a MainActivity.java
en la carga útil de android/app/src/main/java/com...
:
...
import android.content.Intent;
...
public class MainActivity extends ReactActivity {
...
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
}
App Links
Primero, debes generar la huella digital SHA256, luego agregar el siguiente filtro de intención a la actividad relevante en el manifiesto de tu aplicación:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="onelink-basic-app.onelink.me"
android:scheme="https" />
</intent-filter>
Para más información sobre los enlaces de aplicaciones, consulta la guía aquí.
URI Scheme
En el manifiesto de tu aplicación, agrega el siguiente filtro de intención a la actividad pertinente:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="mainactivity"
android:scheme="afshopapp" />
</intent-filter>
For more on URI Scheme check out the guide here.
Configuración de enlaces profundos para iOS
Para registrar el retargeting y utilizar las devoluciones de llamada onAppOpenAttribution/UDL en iOS, el desarrollador debe transmitir la Actividad del usuario / URL a nuestro SDK, a través de los siguientes métodos en el archivo AppDelegate.m :
#import <RNAppsFlyer.h>
// Deep linking
// Open URI-scheme for iOS 9 and above
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *) options {
[[AppsFlyerAttribution shared] handleOpenUrl:url options:options];
return YES;
}
// Open URI-scheme for iOS 8 and below
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {
[[AppsFlyerAttribution shared] handleOpenUrl:url sourceApplication:sourceApplication annotation:annotation];
return YES;
}
// Open Universal Links
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
[[AppsFlyerAttribution shared] continueUserActivity:userActivity restorationHandler:restorationHandler];
return YES;
}
Universal Links
Los Enlaces universales enlazan entre una aplicación móvil de iOS y un sitio web/dominio asociado, como el dominio de OneLink de AppsFlyer (xxx.onelink.me). Para ello, es necesario:
- Configurar el subdominio de OneLink y enlazar a la aplicación móvil (alojando el archivo 'apple-app-site-association'): AppsFlyer se encarga de esta parte de la configuración de OneLink en tu panel de control).
- Configurar la aplicación móvil para registrar los dominios aprobados:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:test.onelink.me</string>
</array>
</dict>
</plist>
Para más información sobre los enlaces universales, consulta la guía aquí.
URI Scheme
A URI scheme is a URL that leads users directly to the mobile app.
When an app user enters a URI scheme in a browser address bar box, or clicks on a link based on a URI scheme, the app launches and the user is deep-linked.
Para configurarlo tendrás que:
- Agregar un identificador de URL único en la entrada de tipos de URL en el
info.plist
- Agregar el esquema de URL como valor.
Ejemplo de una configuración de esquema de URL en el info.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>YOUR.URL.IDENTIFIER</string>
<key>CFBundleURLSchemes</key>
<array>
<string>YOUR-URL-SCHEME</string>
</array>
</dict>
</array>
...
</dict>
</plist>
For more on URI Scheme check out the guide here.
Actualizado hace aproximadamente 1 año