딥링크 지원
딥링크는 사용자를 앱 내의 특정 콘텐츠로 안내하는 URL입니다. 사용자가 앱이 이미 설치된 기기에서 딥링크를 탭하면 앱이 의도한 제품 페이지 또는 경험으로 바로 연결됩니다. Singular 추적 링크는 딥링킹과 디퍼드 딥링킹을 모두 지원합니다. 자세한 내용은 딥링킹 FAQ 및 Singular 링크 FAQ를 참조하세요.
요구 사항
-
Singular 링크 사전 요구 사항을 완료합니다.
구현
iOS 앱 델리게이트 업데이트
iOS 전제 조건
Singular SDK가 iOS 앱에서 실행 관련 데이터를 처리하고 딥링크를 처리할 수 있도록 하려면 AppDelegate.m 파일에서 launchOptions 및 userActivity 객체를 Singular SDK에 전달해야 합니다. iOS에서 제공하는 이러한 개체에는 앱이 실행된 방법과 이유에 대한 중요한 정보가 포함되어 있으며, Singular는 어트리뷰션 추적 및 딥링크 탐색에 사용합니다.
// Top of the AppDelegate.m
#import <Singular-React-Native/SingularBridge.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Add inside didFinishLaunchingWithOptions
[SingularBridge startSessionWithLaunchOptions:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
[SingularBridge startSessionWithUserActivity:userActivity];
return YES;
}
안드로이드 메인 액티비티 업데이트
안드로이드 전제 조건
Singular SDK가 안드로이드 앱에서 실행 관련 데이터를 처리하고 딥링크를 처리할 수 있도록 하려면 MainActivity 파일을 수정하여 Intent 객체를 Singular SDK에 전달해야 합니다. 안드로이드 시스템에서 제공하는 Intent 오브젝트에는 앱이 실행된 방법과 이유에 대한 정보가 포함되어 있으며, Singular는 이를 어트리뷰션 추적 및 딥링크 탐색에 사용합니다.
// Add as part of the imports at the top of the class
import android.content.Intent;
import net.singular.react_native.SingularBridgeModule;
// Add to the MainActivity class
@Override
public void onNewIntent(Intent intent) {
if(intent.getData() != null) {
setIntent(intent);
super.onNewIntent(intent);
SingularBridgeModule.onNewIntent(intent);
}
}
// Add as part of the imports at the top of the class
import android.content.Intent
import net.singular.react_native.SingularBridgeModule
// Add to the MainActivity class
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
if (intent.data != null) {
setIntent(intent)
SingularBridgeModule.onNewIntent(intent)
}
}
SingularConfig 개체 업데이트
-
SingularConfig 객체에 withSingularLink 콜백을 SDK 초기화 중에 SingularConfig 객체에 추가하여 들어오는 딥링크 및 디퍼드 딥링크 데이터를 처리합니다.
참고: withSingularLink 은 앱이 Singular 링크를 통해 열릴 때만 트리거됩니다. 자세한 내용은 ( Singular 링크 FAQ를 참조하세요)를 참조하세요.
withSingular링크 콜백 동작에 대한 참고 사항:
-
새로 설치할 경우 앱이 실행될 때 열기 URL이 없습니다. 따라서 Singular는 마지막 터치포인트에 대한 어트리뷰션을 완료하고 추적 링크에 구성된 딥링크 또는 디퍼드 딥링크(DDL) 값이 포함되어 있는지 확인해야 합니다. 이 프로세스는 Singular SDK가 첫 번째 세션을 Singular 서버로 전송할 때 발생합니다. 해당되는 경우 딥링크 값은 SDK의 withSingularLink 콜백에 반환되고 "deeplink " 매개변수에 표시됩니다.
이 시나리오를 테스트하려면 다음과 같이 하세요:
- 기기에서 앱을 제거합니다(현재 설치되어 있는 경우).
- Google 광고 ID(GAID)를 재설정합니다.
- 기기에서 Singular 추적 링크를 클릭합니다. Singular 추적 링크가 딥링크 값으로 구성되어 있는지 확인합니다.
- 앱을 설치하고 엽니다.
프로 팁: 다른 패키지 이름(예: com.example.prod 대신 com.example.dev )을 사용하는 앱의 개발 버전에서 딥링크 또는 디퍼드 딥링크를 테스트하는 경우, 추적 링크가 프로덕션 앱이 아닌 개발 앱의 패키지 이름에 맞게 특별히 구성되었는지 확인하세요. 또한 기기에서 테스트 링크를 클릭한 후 앱 스토어에서 프로덕션 앱을 다운로드하지 않고 개발 빌드를 테스트 기기에 직접 설치합니다(예: 안드로이드 스튜디오 또는 APK를 통해).
어트리뷰션이 성공적으로 완료되고 DDL 값이 앱에 전달됩니다.
- 추적 링크에 passthrough (_p) 파라미터가 포함된 경우, withSingularLink 콜백의 패스스루 파라미터에 해당 데이터가 포함됩니다. 이는 앱의 클릭에서 추가 데이터를 캡처하는 데 유용합니다.
- 추적 링크 URL에서 모든 쿼리 파라미터를 캡처하려면 추적 링크에 _forward_params=2 파라미터를 추가합니다. 모든 쿼리 파라미터는 withSingularLink 콜백의 딥링크 파라미터에 포함됩니다.
- 앱이 이미 설치되어 있는 경우 Singular 링크를 클릭하면 앱이 열립니다. Singular는 이를 위해 안드로이드 앱 링크 기술을 사용합니다. 안드로이드 OS는 전체 Singular 트래킹 링크가 포함된 오픈 URL을 제공합니다. SDK 초기화 중에 Singular SDK는 안드로이드 Intent 를 파싱하여 딥링크 및 패스스루 값을 추출한 후 withSingularLink 콜백을 통해 반환합니다.