Integração de deep linking
Começando
Deep Linking Types
- Deferred Deep Linking - fornecendo conteúdo personalizado para novos ou antigos usuários, diretamente após a instalação.
- Direct Deep Linking - fornecendo diretamente o conteúdo personalizado aos usuários existentes, que já têm o aplicativo móvel instalado.
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 mais informações, consulte o guia OneLink™ Deep Linking e o guia de desenvolvedores.
Configuração do Android Deeplink
O SDK da AppsFlyer inspeciona o objeto de intent de atividade durante onResume(). Por isso, para cada atividade que pode ser configurada ou iniciada com qualquer modo de inicialização não padrão, certifique-se de adicionar o seguinte código a MainActivity.java
no payload 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
Primeiro, você precisa gerar a impressão digital SHA256 e, em seguida, adicionar o seguinte filtro de intent à atividade relevante no manifesto do seu aplicativo:
<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 mais informações sobre links de aplicativo, consulte o guia aqui.
URI Scheme
No manifesto do seu aplicativo, adicione o seguinte filtro de intent à sua atividade relevante:
<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.
Configuração do iOS Deeplink
Para registrar o redirecionamento e usar os callbacks onAppOpenAttribution/UDL no iOS, o desenvolvedor precisa passar a Atividade do usuário/URL para nosso SDK, por meio dos seguintes métodos no arquivo 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
Link de links universais entre um aplicativo móvel iOS e um site/domínio associado, como o domínio OneLink da AppsFlyer (xxx.onelink.me). Para isso, é necessário:
- Configurar o subdomínio do OneLink e o link para o aplicativo móvel (hospedando o arquivo 'apple-app-site-association' - a AppsFlyer cuida dessa parte na configuração do Onelink em seu painel)
- Configure o aplicativo móvel para registrar domínios aprovados:
<?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 mais informações sobre links universais, consulte o guia aqui.
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 configurá-lo, você terá que:
- Adicionar um identificador de URL exclusivo na entrada de tipos de URL no aplicativo
info.plist
- Adicionar esquema de URL como um valor.
exemplo de configuração de esquema de URL no 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.
Atualizado 12 meses atrás