เปิดใช้การทำ Deferred Deep Link ใน SDK การวัดผล

หลังจากที่สร้าง Deep Link แล้ว คุณจะต้องเปิดใช้ใน SDK การวัดผลเพื่อนำไปใช้กับ App Campaign

บทความนี้อธิบายวิธีเปิดใช้การทำ Deferred Deep Link (DDL) ใน App Attribution Partner (AAP) บุคคลที่สามที่รองรับ หรือใน SDK ของ Google Analytics สำหรับ Firebase (GA4F) เวอร์ชันล่าสุด ดูวิธีติดตามเครื่องมือวัด Conversion ของแอปบนอุปกรณ์เคลื่อนที่ด้วยเครื่องมือของบุคคลที่สาม


ก่อนเริ่มต้น

หากต้องการเปิดใช้ DDL ใน AAP ที่รองรับ คุณต้องมี Deep Link ที่ใช้งานได้ซึ่งรวมอยู่ในฟีดที่แนบมาอย่างถูกต้องหรือส่งเป็น DDL ของกลุ่มโฆษณา


วิธีการ

วิธีเปิดใช้งาน DDL ใน AAP ที่รองรับ

AAP บุคคลที่สามที่ Google รองรับในปัจจุบันสำหรับ DDL มีดังนี้

  • Adjust
  • AppsFlyer
  • Branch
  • Kochava
  • Singular
หมายเหตุ: AAP อื่นๆ อยู่ในขั้นตอนการพัฒนาที่แตกต่างกัน ไม่รองรับ Deep Link ของบุคคลที่สาม เช่น AppsFlyer Onelinks และ "ลิงก์อัจฉริยะ" อื่นๆ โปรดติดต่อตัวแทนของ AAP นั้นๆ เพื่อขอข้อมูลอัปเดตล่าสุดเกี่ยวกับการเปิดใช้ DDL

ทำตามขั้นตอนด้านล่างเพื่อเปิดใช้ DDL ใน AAP ที่เลือก

Adjust

ไม่ต้องตั้งค่าเพิ่มเติมเพื่อเปิดใช้ระบบรายงานผล Conversion จาก DDL ไปยัง Google Ads หากต้องการปิดใช้หรือเปลี่ยนลักษณะการทำงานนี้ คุณต้องตั้งค่าโค้ดเรียกกลับการทำ Deferred Deep Link

AppsFlyer

  1. ใน AppsFlyer ให้คลิก Configuration > Integrated Partners จากนั้นเลือก Google Ads (AdWords)
  2. ในแท็บการผสานรวม ให้เปิดใช้ "การทำ Deferred Deep Link ด้วยฟีด Google"
  3. คลิก Save integration

Branch

คุณต้องได้รับอนุญาตจาก Branch ให้เปิดใช้ระบบรายงานผล Conversion จาก DDL โปรดติดต่อทีมสนับสนุนของ Branch เพื่อรับสิทธิ์เข้าถึงฟีเจอร์นี้

Kochava

ตรวจสอบว่าเปิดใช้การตั้งค่า "คำขอทำ Deep Link" แล้ว การตั้งค่านี้จะกําหนดไว้โดยค่าเริ่มต้นเพื่อเปิดใช้ระบบรายงานผล Conversion จาก DDL ไปยัง Google Ads

Singular

ไม่ต้องตั้งค่าเพิ่มเติมเพื่อเปิดใช้ระบบรายงานผล Conversion จาก DDL ไปยัง Google Ads

ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตาม Conversion ของแอปด้วย App Attribution Partner

วิธีเปิดใช้งาน DDL ใน SDK ของ GA4F

คุณเปิดใช้งาน DDL ใน SDK ของ GA4F ได้ด้วย Android เวอร์ชัน 17.2.0 ขึ้นไปโดยทําตามขั้นตอนต่อไปนี้

ขั้นตอนการเปิดใช้งาน DDL ใน SDK ของ GA4F

1. กําหนดค่าแอปให้ใช้ Google Analytics สำหรับ Firebase

ในแอป build.gradle ให้นำทรัพยากร Dependency ใน firebase-core ออกทั้งหมด จากนั้นเพิ่มหรืออัปเดตทรัพยากร Dependency ใน firebase-analytics เวอร์ชัน 17.2.0 ขึ้นไป ตัวอย่างด้านล่างใช้ SDK เวอร์ชันใหม่

dependencies {
    ...

    implementation 'com.google.firebase:firebase-analytics:21.0.0'
    ...
}

2. เปิดใช้ฟีเจอร์ในแอป

แก้ไขไฟล์ Manifest ของแอปพลิเคชันโดยเพิ่มแท็กข้อมูลเมตาต่อไปนี้ลงในแท็กของแอปพลิเคชัน

<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">

     <!-- ค่าที่ต้องเพิ่มเพื่อเปิดใช้ Deferred Deep Link -->
     <meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>

       <activity
            android:name=".MainActivity" >
       </activity>

    </application>

</manifest>

เมื่อเปิดใช้แล้ว GA4F จะดึงข้อมูล Deep Link ที่กําหนดค่าเมื่อเริ่มต้นแอปสําหรับแคมเปญที่เกี่ยวข้องที่คุณกําหนดค่าไว้

หมายเหตุ: การบันทึก Receiver ผ่านไฟล์ Manifest มีข้อเสีย เช่น การใช้งานหน่วยความจำและเวลาในการตอบสนองเริ่มต้น แต่คุณลดความรุนแรงของปัญหาเหล่านี้ได้โดยกําหนดรีจิสทรีบริบท

3. บันทึก Deep Link

ตั้งค่า Listener การเปลี่ยนแปลง SharedPreferences ภายในคลาสกิจกรรมการเปิดใช้งานหลัก ซึ่งจะทริกเกอร์เมื่อมี DDL พร้อมใช้งาน หากคุณบันทึก Listener ในวงจรช่วงต่อมาของแอป ระบบอาจเรียก Deep Link อยู่แล้ว ในกรณีนี้ Listener จะไม่ทริกเกอร์ และคุณจะมองหาค่าของ Deep Link ได้ทันทีโดยอ่าน SharedPreferences

GA4F จัดเก็บ Deep Link ไว้ในไฟล์ SharedPreferences google.analytics.deferred.deeplink.prefs ด้วยคีย์ ldeeplink และยังจัดเก็บการประทับเวลาการคลิกโฆษณาด้วยคีย์ timestamp ไว้ในไฟล์ SharedPreferences เดียวกันด้วย โปรดทราบว่ารูปแบบการประทับเวลาคือไมโครวินาที (มิลลิวินาทีตามด้วยจุดและไมโครวินาที) และจัดเก็บไว้ใน SharedPreferences โดยใช้ Long เมื่อประเภทเป็น Double ใช้ 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. เตรียมข้อมูลสำหรับการทดสอบเชิงวินิจฉัย

หากต้องการตรวจสอบการใช้งาน ให้ไปหารหัสโฆษณาสำหรับอุปกรณ์ที่ต้องการใช้ทดสอบ คุณสามารถใช้คําสั่งต่อไปนี้เพื่อตั้งค่า DDL ที่แอปจะได้รับ

curl "googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<รหัสโฆษณาสำหรับอุปกรณ์>>&id_type=adid&bundleid=<<แพ็กเกจแอปพลิเคชัน>>&deeplink=<<Deep Link ที่ต้องการรับ>>&ddl_test=1"

หากต้องการตรวจสอบว่าตั้งค่า Deep Link ถูกต้องหรือไม่ ให้ใช้คําขอนี้เพื่อยืนยันการตอบกลับ

curl "googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<รหัสโฆษณาสำหรับอุปกรณ์>>&id_type=adid&bundleid=<<แพ็กเกจแอปพลิเคชัน>>&ddl_test=1"

Deep Link ทดสอบนี้จะหมดอายุหลังผ่านไป 24 ชั่วโมง ทําขั้นตอนนี้ซ้ำหาก Deep Link ทดสอบหมดอายุ

5. เปิดใช้โหมดทดสอบสําหรับการดึงข้อมูล DDL ทดสอบ

เปิดใช้โหมดทดสอบ DDL เพื่อเริ่มการทดสอบในอุปกรณ์

adb shell setprop debug.deferred.deeplink << แพ็กเกจแอปพลิเคชัน>>

จากนั้นเปิดใช้โหมดแก้ไขข้อบกพร่องในอุปกรณ์ เริ่มใช้แอปและตรวจสอบจาก Logcat ว่าข้อความในบันทึกแสดง gmp_version เป็นอย่างน้อย 18200 การค้นหาคีย์เวิร์ด "deferred" จะกรองข้อความการแก้ไขข้อบกพร่องทั้งหมดจาก Google Analytics สําหรับ Firebase ที่เกี่ยวข้องกับฟังก์ชันการทํางานนั้น

ตัวอย่าง

D/FA: Deferred Deep Link feature enabled.
FA-SVC:
Uploading data. app, uncompressed size, data: << แพ็กเกจแอปพลิเคชัน>>,

gmp_version:
18200


ลิงก์ที่เกี่ยวข้อง

ข้อมูลนี้มีประโยชน์ไหม

เราจะปรับปรุงได้อย่างไร
ค้นหา
ล้างการค้นหา
ปิดการค้นหา
แอป Google
เมนูหลัก
12465054615379315044
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
73067
false
false
false