Suporte de ligações diretas
As ligações diretas são URLs que direcionam os utilizadores para conteúdos específicos dentro de uma aplicação. Quando um utilizador toca numa hiperligação num dispositivo onde a aplicação já está instalada, a aplicação abre-se diretamente para a página do produto ou experiência pretendida. Os links de rastreamento singulares suportam links diretos e links diretos adiados. Para obter mais detalhes, consulte nossas Perguntas frequentes sobre links diretos e Perguntas frequentes sobre links singulares.
Requisitos
-
Conclua os Pré-requisitos de links singulares.
Implementação
Atualizar o AppDelegate do iOS
Pré-requisitos do iOS
Para permitir que o SDK Singular processe dados relacionados à inicialização e manipule links diretos em seu aplicativo iOS, você precisa passar os objetos launchOptions e userActivity para o SDK Singular em seu arquivo AppDelegate.m. Esses objetos, fornecidos pelo iOS, contêm informações críticas sobre como e por que seu aplicativo foi iniciado, que o Singular usa para rastreamento de atribuição e navegação de link profundo.
// Top of AppDelegate.m
#import "SingularAppDelegate.h"
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self];
[SingularAppDelegate shared].launchOptions = launchOptions;
return [super application:application
didFinishLaunchingWithOptions:launchOptions];
}
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>>
*restorableObjects))restorationHandler {
[[SingularAppDelegate shared] continueUserActivity:userActivity
restorationHandler:restorationHandler];
return [super application:application continueUserActivity:userActivity
restorationHandler:restorationHandler ];
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
[[SingularAppDelegate shared] handleOpenUrl:url options:options];
return [super application:app openURL:url options: options];
}
import singular_flutter_sdk
override func application(_ application: UIApplication,
didFinishLaunchingWithOptions
launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GeneratedPluginRegistrant.register(with: self) if
let singularAppDelegate = SingularAppDelegate.shared() {
singularAppDelegate.launchOptions = launchOptions
}
return super.application(application, didFinishLaunchingWithOptions:launchOptions)
}
override func application(_ application: UIApplication,
continue userActivity:NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?)-> Void) -> Bool {
if let singularAppDelegate = SingularAppDelegate.shared() {
singularAppDelegate.continueUserActivity(userActivity, restorationHandler:nil)
}
return super.application(application, continue:userActivity,
restorationHandler: restorationHandler);
}
override func application(_ app: UIApplication,
open url: URL, options:[UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if let singularAppDelegate = SingularAppDelegate.shared() {
singularAppDelegate.handleOpen(url, options: options)
}
return super.application(app, open: url, options: options);
}
Atualizar a MainActivity do Android
Pré-requisitos do Android
Para permitir que o SDK Singular processe dados relacionados à inicialização e manipule links profundos em seu aplicativo Android, você precisa modificar o arquivo MainActivity para passar o objeto Intent para o SDK Singular. O objeto Intent, fornecido pelo sistema Android, contém informações sobre como e por que seu aplicativo foi iniciado, que o Singular usa para rastreamento de atribuição e navegação de link profundo.
// Add as part of the imports at the top of the class
import android.content.Intent;
import com.singular.flutter_sdk.SingularBridge;
// Add to the MainActivity class
@Override
public void onNewIntent(Intent intent) {
if(intent.getData() != null) {
setIntent(intent);
super.onNewIntent(intent);
SingularBridge.onNewIntent(intent);
}
}
// Add as part of the imports at the top of the class
import android.content.Intent
import com.singular.flutter_sdk.SingularBridge
// Add to the MainActivity class
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
if (intent.data != null) {
setIntent(intent)
SingularBridge.onNewIntent(intent)
}
}
Atualizar o objeto SingularConfig
-
Adicione o retorno de chamada singularLinksHandler ao objeto SingularConfig durante a inicialização do SDK para manipular os dados de deep link recebidos e os dados de deep link adiados.
Observação: O singularLinksHandler é acionado somente quando o aplicativo é aberto por meio de um Singular Link. Para obter mais informações, consulte (consulte as Perguntas frequentes sobre links singulares).
Notas sobre o comportamento de retorno de chamada do singularLinksHandler:
-
Em uma nova instalação, não há uma URL aberta quando o aplicativo é iniciado. Portanto, o Singular deve concluir a atribuição ao último ponto de contato e determinar se o link de rastreamento continha um valor configurado de Deep Link ou Deferred Deep Link (DDL). Esse processo ocorre quando o SDK da Singular envia a primeira sessão para os servidores da Singular. Se aplicável, o valor do deep link é retornado para o callback singularLinksHandler do SDK e apresentado no parâmetro "deeplink".
Para testar esse cenário:
- Desinstale a aplicação do dispositivo (se estiver atualmente instalada).
- Reponha o seu Google Advertising ID (GAID).
- Clique na ligação de seguimento Singular a partir do dispositivo. Certifique-se de que o link de rastreamento Singular está configurado com um valor de link profundo.
- Instale e abra a aplicação.
Dica profissional: Ao testar links diretos ou links diretos adiados em uma versão de desenvolvimento do seu aplicativo com um nome de pacote diferente (por exemplo, com.example.dev em vez de com.example.prod), certifique-se de que o link de rastreamento esteja configurado especificamente para o nome do pacote do aplicativo de desenvolvimento, e não para o do aplicativo de produção. Além disso, depois de clicar no link de teste no seu dispositivo, instale a compilação de desenvolvimento diretamente no dispositivo de teste (por exemplo, através do Android Studio ou de um APK) em vez de transferir a aplicação de produção a partir da loja de aplicações.
A atribuição deve ser concluída com êxito e o valor DDL será passado para o aplicativo.
- Se um parâmetro passthrough (_p) for incluído no link de rastreamento, o parâmetro de passagem do retorno de chamada singularLinksHandler conterá os dados correspondentes. Isso é útil para capturar dados adicionais do clique no aplicativo.
- Para capturar todos os parâmetros de consulta do URL do link de rastreamento, anexe o parâmetro _forward_params=2 ao link de rastreamento. Todos os parâmetros de consulta serão incluídos no parâmetro deeplink do retorno de chamada singularLinksHandler.
- Se o aplicativo já estiver instalado, clicar em um Singular Link abrirá o aplicativo. A Singular usa a tecnologia Android App Links para fazer isso. O sistema operacional Android fornecerá uma URL aberta contendo todo o link de rastreamento do Singular. Durante a inicialização do SDK, o Singular SDK analisará o Android Intent, extrairá os valores de deeplink e passthrough e os retornará através do callback singularLinksHandler.