딥 링크 지원

문서

딥링킹 지원 추가

딥링크는 사용자를 앱 내의 특정 콘텐츠로 안내하는 URL입니다. 사용자가 앱이 이미 설치된 기기에서 딥링크를 탭하면 앱이 의도한 제품 페이지 또는 경험으로 바로 열립니다. Singular 추적 링크는 딥링킹과 디퍼드 딥링킹을 모두 지원합니다. 자세한 내용은 딥링킹 FAQSingular 링크 FAQ를 참조하세요.


요구 사항

  1. 앱에 딥링크를 사용하려면 Singular 링크 사전 요구 사항을 완료해야 합니다.

  2. Singular 링크 핸들러 구현

    Singular 링크 핸들러는 Singular 추적 링크에서 딥링크(_dl), 디퍼드 딥링크(_ddl), 패스스루(_p ) 파라미터를 검색하는 콜백 메커니즘을 제공합니다. 이러한 매개변수는 앱이 열릴 때(이미 설치된 경우) 또는 앱이 설치된 후에 전달됩니다.


SingularConfig 개체 업데이트

들어오는 딥링크 및 디퍼드 딥링크 데이터를 처리하기 위해 SDK 초기화 중에 SingularLinkHandler 콜백을 SingularConfig 객체에 추가합니다.

JavaKotlin
private void initSingularSDK() {
    SingularConfig config = new SingularConfig("SDK KEY", "SDK SECRET")
            .withSingularLink(getIntent(), new SingularLinkHandler() {
                @Override
                public void onResolved(SingularLinkParams params) {
                    String deeplink = params.getDeeplink();
                    String passthrough = params.getPassthrough();
                    boolean isDeferred = params.isDeferred();
                    Log.d("SingularLink", "Deeplink: " + (deeplink != null ? deeplink : "null"));
                    Log.d("SingularLink", "Passthrough: " + (passthrough != null ? passthrough : "null"));
                    Log.d("SingularLink", "Is Deferred: " + isDeferred);
                }
            });
    try {
        Singular.init(getApplicationContext(), config);
        Log.d("Singular", "SDK initialized successfully");
    } catch (Exception e) {
        Log.e("Singular", "SDK initialization failed: " + e.getMessage());
    }
}

참고: Singular링크 핸들러는 앱이 Singular 링크를 통해 열릴 때만 트리거됩니다. 자세한 내용은 (싱귤래러 링크 FAQ를 참조하세요.)


  • 새로 설치할 경우 앱이 실행될 때 열기 URL이 없습니다. 따라서 Singular는 마지막 터치포인트에 대한 어트리뷰션을 완료하고 추적 링크에 구성된 딥링크 또는 디퍼드 딥링크(DDL) 값이 포함되어 있는지 확인해야 합니다. 이 프로세스는 Singular SDK가 첫 번째 세션을 Singular 서버로 전송할 때 발생합니다. 해당되는 경우 딥링크 값은 SDK의 SingularLinkHandler로 반환되어 "deeplink " 매개변수에 표시됩니다.

    이 시나리오를 테스트하려면 다음과 같이 하세요:

    1. 기기에서 앱을 제거합니다(현재 설치되어 있는 경우).
    2. Google 광고 ID(GAID)를 재설정합니다.
    3. 기기에서 Singular 추적 링크를 클릭합니다. Singular 추적 링크가 딥링크 값으로 구성되어 있는지 확인합니다.
    4. 앱을 설치하고 엽니다.

    프로 팁: 다른 패키지 이름(예: com.example.prod 대신 com.example.dev )을 사용하는 앱의 개발 버전에서 딥링크 또는 디퍼드 딥링크를 테스트하는 경우, 추적 링크가 프로덕션 앱이 아닌 개발 앱의 패키지 이름에 맞게 특별히 구성되어 있는지 확인하세요. 또한 기기에서 테스트 링크를 클릭한 후 앱 스토어에서 프로덕션 앱을 다운로드하지 않고 개발 빌드를 테스트 기기에 직접 설치합니다(예: 안드로이드 스튜디오 또는 APK를 통해).

    어트리뷰션이 성공적으로 완료되고 DDL 값이 앱에 전달됩니다.

  • 추적 링크에 passthrough (_p) 파라미터가 포함된 경우, SingularLinkHandler 의 패스스루 파라미터에 해당 데이터가 포함됩니다. 이는 앱의 클릭에서 추가 데이터를 캡처하는 데 유용합니다.
  • 추적 링크 URL에서 모든 쿼리 파라미터를 캡처하려면 추적 링크에 _forward_params=2 파라미터를 추가합니다. 모든 쿼리 파라미터는 SingularLinkHandler딥링크 파라미터에 포함됩니다.
  • 앱이 이미 설치되어 있는 경우, Singular 링크를 클릭하면 앱이 열립니다. Singular는 이를 위해 안드로이드 앱 링크 기술을 사용합니다. 안드로이드 OS는 전체 Singular 트래킹 링크가 포함된 오픈 URL을 제공합니다. SDK를 초기화하는 동안 Singular SDK는 안드로이드 Intent 를 파싱하여 딥링크패스스루 값을 추출한 후 SingularLinkHandler 을 통해 반환합니다.