딥 링크를 만든 후에는 앱 캠페인에서 사용할 수 있도록 측정 SDK에서 딥 링크를 사용 설정해야 합니다.
이 도움말에서는 지원되는 서드 파티 앱 기여 분석 파트너(AAP) 또는 최신 Firebase용 Google 애널리틱스(GA4F) SDK에서 지연된 딥 링크(DDL)를 사용 설정하는 방법을 설명합니다. 서드 파티 도구를 이용해 모바일 앱 전환추적을 추적하는 방법을 알아보세요.
시작하기 전에
지원되는 AAP에서 DDL을 사용 설정하려면 연결된 피드에 올바르게 포함되었거나 광고 그룹 DDL로 제출된 작동하는 딥 링크가 있어야 합니다.
안내
지원되는 AAP에서 DDL을 활성화하는 방법
현재 DDL에 대해 Google에서 지원하는 서드 파티 AAP는 다음과 같습니다.
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
선택한 AAP에서 DDL을 사용 설정하려면 아래 단계를 따르세요.
Adjust
AppsFlyer
- AppsFlyer에서 Configuration(구성) > Integrated Partners(통합 파트너)를 클릭한 다음 Google Ads(Adwords)를 선택합니다.
- Integration(통합) 탭에서 'Deferred deep linking with Google feeds(Google 피드와의 지연된 딥 링크)'를 사용 설정합니다.
- Save integration(통합 저장)을 클릭합니다.
Branch
Kochava
Singular
앱 기여 분석 파트너를 통한 앱 전환 추적에 대해 자세히 알아보세요.
GA4F SDK에서 DDL을 활성화하는 방법
다음 단계에 따라 Android 버전 17.2.0 이상의 최신 버전을 사용하여 GA4F SDK에서 DDL을 활성화할 수 있습니다.
GA4F SDK에서 DDL을 활성화하는 단계
1. Firebase용 Google 애널리틱스를 사용하도록 앱 구성하기
앱 build.gradle에서 firebase-core
의 모든 종속 항목을 삭제합니다. 그런 다음 firebase-analytics
버전 17.2.0 이상에 대한 종속 항목을 추가하거나 업데이트합니다. 아래 예에서는 최신 버전의 SDK를 사용합니다.
종속 항목 {
...
implementation 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2. 앱에서 기능 사용 설정하기
애플리케이션 태그에 다음 메타데이터 태그를 추가하여 애플리케이션 매니페스트를 수정합니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myawesome.app">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainActivity">
<!-- 지연된 딥 링크를 사용 설정하기 위해 추가할 값 -->
<meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
사용 설정하면 앱 시작 시 GA4F는 구성한 해당 캠페인에 대해 구성된 딥 링크를 가져옵니다.
3. 딥 링크 캡처하기
기본 시작 활동 클래스 내에서 SharedPreferences 변경 리스너를 설정합니다. 이는 DDL을 사용할 수 있을 때 트리거됩니다. 앱 수명 주기 후반에 리스너를 등록하는 경우 딥 링크가 이미 가져와진 상태일 수도 있습니다. 이 경우 리스너가 트리거되지 않으며 SharedPreferences를 읽어 딥 링크의 값을 즉시 조회할 수 있습니다.
GA4F는 deeplink
키를 사용하여 딥 링크를 SharedPreferences 파일 google.analytics.deferred.deeplink.prefs
에 저장합니다. 또한 GA4F는 동일한 SharedPreferences 파일에 timestamp
키를 사용하여 광고 클릭 타임스탬프를 저장합니다. 타임스탬프의 형식은 마이크로초(밀리초 다음에 점과 마이크로초)이며 유형이 Double인 경우 Long을 사용하여 SharedPreferences에 저장됩니다. Double.longBitsToDouble(...)을 사용하여 실제 값을 파싱합니다.
예:
/**
* 앱의 기본 시작 활동.
*/
public class MainActivity extends AppCompatActivity {
private SharedPreferences preferences;
private SharedPreferences.OnSharedPreferenceChangeListener deepLinkListener;
@Override
protected void onStart() {
super.onStart();
preferences.registerOnSharedPreferenceChangeListener(deepLinkListener);
}
@Override
protected void onStop() {
super.onStop();
preferences.unregisterOnSharedPreferenceChangeListener(deepLinkListener);
deepLinkListener = null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preferences =
getSharedPreferences("google.analytics.deferred.deeplink.prefs", MODE_PRIVATE);
deepLinkListener = (sharedPreferences, key) -> {
Log.d("DEEPLINK_LISTENER", "Deep link changed");
if ("deeplink".equals(key)) {
String deeplink = sharedPreferences.getString(key, null);
Double cTime = Double.longBitsToDouble(sharedPreferences.getLong("timestamp", 0));
Log.d("DEEPLINK_LISTENER", "Deep link retrieved: " + deeplink);
showDeepLinkResult(deeplink);
}
};
}
public void showDeepLinkResult(String result) {
String toastText = result;
if (toastText == null) {
toastText = "The deep link retrieval failed";
} else if (toastText.isEmpty()) {
toastText = "Deep link empty";
}
Toast.makeText(MainActivity.this, toastText, Toast.LENGTH_LONG).show();
Log.d("DEEPLINK", toastText);
}
}
4. 진단 테스트용 데이터 준비하기
구현을 검증하려면 테스트할 기기의 AdID를 가져옵니다. 다음 명령어를 사용하여 앱에서 수신할 DDL을 설정할 수 있습니다.
"googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<your device adid>>&id_type=adid&bundleid=<<your application package>>&deeplink=<<deeplink you want to receive>>&ddl_test=1"
딥 링크가 올바르게 설정되었는지 확인하려면 이 요청을 사용하여 응답을 확인하면 됩니다.
이 테스트 딥 링크는 24시간 후에 만료됩니다. 테스트 딥 링크가 만료되면 이 단계를 반복합니다.
5 테스트 모드를 사용 설정하여 테스트 DDL 가져오기
DDL 테스트 모드를 사용 설정하여 기기에서 테스트를 시작합니다.
adb shell setprop debug.deferred.deeplink <<애플리케이션 패키지>>
그런 다음 기기에서 디버그 모드를 사용 설정합니다. 앱을 사용하면서 Logcat에서 로그 메시지에 gmp_version
이 최소 18200
으로 표시되는지 확인합니다. deferred
키워드를 검색하면 해당 기능과 관련된 Firebase용 Google 애널리틱스의 모든 디버그 메시지가 필터링됩니다.
예:
D/FA: 지연된 딥 링크 기능을 사용 설정했습니다.
FA-SVC: 업로드 중 데이터. 앱, 압축되지 않은 크기, 데이터: <<애플리케이션 패키지>>,
…
gmp_version: 18200