Sau khi tạo đường liên kết sâu, bạn cần phải bật các đường liên kết sâu đó trong SDK đo lường để sử dụng trong chiến dịch Quảng cáo ứng dụng.
Bài viết này giải thích cách bật tính năng tạm hoãn liên kết sâu (DDL) trong Đối tác phân bổ ứng dụng (AAP) bên thứ ba được hỗ trợ hoặc trong SDK Google Analytics cho Firebase (GA4F) mới nhất. Tìm hiểu cách theo dõi qua bài viết Theo dõi lượt chuyển đổi đối với ứng dụng di động bằng công cụ của bên thứ ba.
Trước khi bắt đầu
Để bật DDL trong một AAP được hỗ trợ, bạn phải có các đường liên kết sâu đang hoạt động và được thêm vào nguồn cấp dữ liệu đính kèm hoặc được gửi dưới dạng DDL của nhóm quảng cáo.
Hướng dẫn
Cách kích hoạt DDL trong AAP được hỗ trợ
Sau đây là các AAP bên thứ ba hiện được Google hỗ trợ cho DDL:
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
Hãy làm theo các bước dưới đây để bật DDL trong AAP mà bạn đã chọn.
Adjust
AppsFlyer
- Trong AppsFlyer, hãy nhấp vào Cấu hình > Đối tác tích hợp, rồi chọn Google Ads (AdWords).
- Trong thẻ Tích hợp, hãy bật tuỳ chọn "Deferred deep linking with Google feeds" ("Tạm hoãn liên kết sâu với nguồn cấp dữ liệu của Google").
- Nhấp vào Lưu dữ liệu tích hợp.
Branch
Kochava
Singular
Tìm hiểu thêm qua bài viết Giới thiệu về hoạt động theo dõi lượt chuyển đổi đối với ứng dụng thông qua Đối tác phân bổ ứng dụng.
Cách kích hoạt DDL trong SDK GA4F
Bạn có thể kích hoạt DDL trong SDK GA4F thông qua phiên bản Android 17.2.0+ trở lên bằng cách làm theo các bước sau:
Các bước kích hoạt DDL trong SDK GA4F
1. Thiết lập ứng dụng để sử dụng Google Analytics cho Firebase
Trong tệp build.gradle của ứng dụng, hãy xoá tất cả phần phụ thuộc trên firebase-core
. Sau đó, hãy thêm hoặc cập nhật phần phụ thuộc trên firebase-analytics
phiên bản 17.2.0 trở lên. Ví dụ dưới đây sử dụng SDK phiên bản mới hơn.
dependencies {
...
implementation 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2. Bật tính năng trong ứng dụng
Sửa đổi tệp kê khai ứng dụng của bạn bằng cách thêm thẻ siêu dữ liệu sau vào thẻ ứng dụng.
<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">
<!-- Value to be added to enable deferred deep links -->
<meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
Khi được bật, GA4F sẽ tìm nạp đường liên kết sâu đã thiết lập (khi khởi động ứng dụng) cho chiến dịch tương ứng mà bạn đã thiết lập.
3. Ghi lại đường liên kết sâu
Thiết lập trình nghe thay đổi SharedPreferences trong lớp hoạt động khởi chạy chính của bạn. Hoạt động này sẽ được kích hoạt khi có DDL. Nếu sau này bạn đăng ký trình nghe trong vòng đời của ứng dụng, thì đường liên kết sâu có thể đã được truy xuất. Trong trường hợp đó, trình nghe sẽ không được kích hoạt và bạn có thể tra cứu ngay lập tức giá trị của đường liên kết sâu bằng cách đọc SharedPreferences.
GA4F lưu trữ đường liên kết sâu trong tệp SharedPreferences google.analytics.deferred.deeplink.prefs
bằng khoá deeplink
. GA4F cũng lưu trữ dấu thời gian của lượt nhấp vào quảng cáo bằng khoá timestamp
trong cùng một tệp SharedPreferences. Xin lưu ý rằng định dạng của dấu thời gian là micrô giây (mili giây, theo sau là dấu chấm và micrô giây) và được lưu trữ trong SharedPreferences bằng cách sử dụng định dạng "Dài" khi loại này là "Đôi". Hãy sử dụng Double.longBitsToDouble(...) để phân tích cú pháp giá trị thực tế.
Ví dụ:
/**
* The main launch activity of the app.
*/
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. Chuẩn bị dữ liệu để thử nghiệm thông tin chẩn đoán
Để xác thực cấu hình triển khai của bạn, hãy tải mã nhận dạng cho quảng cáo (AdID) cho thiết bị mà bạn muốn thử nghiệm. Bạn có thể sử dụng lệnh sau đây để đặt DDL mà ứng dụng sẽ nhận được.
"www.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"
Để kiểm tra xem đường liên kết sâu đã được đặt đúng cách hay chưa, bạn có thể dùng yêu cầu này để xác minh thông tin phản hồi.
Đường liên kết sâu thử nghiệm này sẽ hết hạn sau 24 giờ. Hãy lặp lại bước này nếu đường liên kết sâu thử nghiệm hết hạn.
5. Bật chế độ thử nghiệm để tìm nạp DDL thử nghiệm
Bật chế độ thử nghiệm DDL để bắt đầu thử nghiệm trên các thiết bị của bạn.
adb shell setprop debug.deferred.deeplink <<your application package>>
Tiếp theo, hãy bật chế độ gỡ lỗi trên thiết bị. Bắt đầu sử dụng ứng dụng của bạn và trong Logcat, hãy kiểm tra để đảm bảo rằng thông điệp nhật ký hiển thị gmp_version
có giá trị ít nhất là 18200
. Khi bạn tìm kiếm từ khoá bị tạm hoãn
, tất cả thông báo gỡ lỗi từ Google Analytics cho Firebase liên quan đến chức năng đó sẽ được lọc.
Ví dụ:
D/FA: Đã bật tính năng Tạm hoãn liên kết sâu.
FA-SVC: Uploading data. app, uncompressed size, data: <<your application package>>,
…
gmp_version: 18200