Meta Install Referrer

เอกสารฉบับนี้แสดงให้คุณทราบถึงวิธีใช้ Meta Install Referrer ในแอพ Android เพื่อรับเมตาดาต้าสำหรับแคมเปญโฆษณาบน Facebook, Instagram และ Audience Network ซึ่งมีวัตถุประสงค์คือการติดตั้งแอพ ในขณะที่ Google Play Install Referrer (GPIR) ให้ข้อมูลสำหรับการติดตั้งแบบคลิกผ่านในเซสชั่นเดียวกันเท่านั้น แต่ Meta Install Referrer จะมีข้อมูลสำหรับการดำเนินการต่อไปนี้ด้วย

  • การติดตั้งแบบดูผ่าน (VT)
  • การติดตั้งแบบคลิกผ่าน (CT)
  • การติดตั้งแบบคลิกผ่านในหลายเซสชั่น

การตั้งค่า Meta Install Referrer สำหรับแคมเปญแอพ Android มี 2 ตัวเลือกด้วยกัน โดยคุณสามารถเลือกการผสานการทำงานโดยตรงหรือการผสานการทำงานแบบมีการสนับสนุนผ่านพาร์ทเนอร์ด้านการวัดผลบนอุปกรณ์มือถือ (MMP) ของคุณก็ได้

ตัวเลือกที่ 1: การผสานการทำงานโดยตรง

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

ก่อนเริ่มต้น คุณจะต้องมีสิ่งต่อไปนี้

ขั้นตอนที่ 1 เพิ่มแอพของ Meta

เพิ่มองค์ประกอบ queries สำหรับแอพ Facebook, Instagram และ Facebook Lite ในไฟล์ AndroidManifest.xml เพื่อให้แอพของคุณสามารถรับข้อมูลการระบุที่มาของการอ้างอิงจากแอพของ Meta ดังกล่าวนี้

<queries>
  <package android:name="com.facebook.katana" />
</queries>

<queries>
  <package android:name="com.instagram.android" />
</queries>

<queries>
  <package android:name="com.facebook.lite" />
</queries>

ขั้นตอนที่ 2 นำ ContentProvider API ไปใช้

เพิ่มโค้ด ContentProvider เพื่อรับข้อมูลการระบุที่มาของการอ้างอิงจากแอพของ Facebook และ Instagram คุณจะต้องรับข้อมูลนี้เมื่อใช้งานแอพครั้งแรก

Cursor c = null;
try {
    String [] projection = { "install_referrer", "is_ct", "actual_timestamp", };
    Uri providerUri = null;
    
    // This IF statement queries the facebook app first.
    // To query from the instagram app first, change the sequence of the IF statement

    if (context.getPackageManager().resolveContentProvider(
           "com.facebook.katana.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.facebook.katana.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.instagram.contentprovider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse(
           "content://com.instagram.contentprovider.InstallReferrerProvider/" + FB_APP_ID);
    } else if (context.getPackageManager().resolveContentProvider(
           "com.facebook.lite.provider.InstallReferrerProvider", 0) != null) {
       providerUri = Uri.parse("content://com.facebook.lite.provider.InstallReferrerProvider/" + FB_APP_ID);
    } else {
       return null;
    }

    c = context.getContentResolver().query(providerUri, projection, null, null, null);
    if (c == null || !c.moveToFirst()) {
       return null;
    }

    int installReferrerIndex = c.getColumnIndex("install_referrer");
    int timestampIndex = c.getColumnIndex("actual_timestamp");
    int isCTIndex = c.getColumnIndex("is_ct");
    String installReferrer = c.getString(installReferrerIndex); // serialized and encrypted attribution details

    // TODO: 
    // 1. deserialize installReferrer (convert String to JSON)
    // 2. decrypt attribution details in install_referrer.utm_content.source.data using 
    // key: GPIR decryption key 
    // nonce: retrieve from installReferrer.utm_content.source.nonce
    // data: retrieve from installReferrer.utm_content.source.data
    // decrypt data 

    long actualTimestamp = c.getLong(timestampIndex); // timestamp in seconds for click/impression
     int isCT = c.getInt(isCTIndex); // VT or CT, 0 = VT, 1 = CT
           
} catch (Exception e) {
    return null;
} finally {
    if (c != null) {
        c.close();
    }
}

ขั้นตอนในการ Deserialize และถอดรหัสข้อมูลจะคล้ายกับขั้นตอนที่มีอยู่ในคู่มือเกี่ยวกับ Install Referrer

การตอบกลับโครงสร้างข้อมูลที่ได้รับจาก install_referrer หลังจากการ Deserialize สำหรับแอพของ Meta แต่ละแอพจะประกอบด้วยค่าดังต่อไปนี้

  • actual_timestamp – ค่านี้คือประทับเวลาเป็นวินาทีเมื่อมีการคลิกหรืออิมเพรสชั่นเกิดขึ้น
  • is_ct – ค่านี้อาจเป็น 1 ซึ่งหมายถึงการคลิกผ่าน หรือ 0 ซึ่งหมายถึงอิมเพรสชั่น
  • install_referrer – ค่านี้คือข้อมูลการระบุที่มาของ GPIR ที่เข้ารหัส

ตัวอย่างการตอบกลับแบบ JSON

{
  is_ct=1,
  actual_timestamp=123,
  install_referrer={
    utm_campaign = fb4a,
    utm_content: {
      source: {
        data: “7fb9bd76…”, // encrypted attribution information
        nonce: “1234” // nonce from encryption
      },
      a: <app_id>,
      t: <timestamp>
    }
    utm_source : “apps.facebook.com” //OR “apps.instagram.com”
  }
}

ตัวอย่างข้อมูลหลังจากถอดรหัส install_referrer.utm_content.source

{ 
  "ad_id":"6110809314024", 
  "adgroup_id":"6110808725024", 
  "adgroup_name":"RTG_Storie_", 
  "campaign_id":"6110808710224", 
  "campaign_name":"Mobex_Conversiones_Storie_Android_21 a 31 de Diciembre_OP39895",
  "campaign_group_id":"6110808710624", 
  "campaign_group_name":"Mobex_Instagram Storie_ Conversiones_ Diciembre OP 43918",
  "account_id":"485495091598353",
  "ad_objective_name":"CONVERSIONS", 
  // data included for Instagram ads
  "is_instagram":true,
  "publisher_platform":"instagram",                
  "platform_position":"instagram_stories"          
}

ขั้นตอนที่ 3 ลบข้อมูลที่ซ้ำออก

หากมีเมตาดาต้าของแคมเปญโฆษณา GPIR คุณควรทำตามขั้นตอนในการลบข้อมูลที่ซ้ำของ GPIR ที่มีอยู่ออก

ลบข้อมูลที่ซ้ำออกโดยใช้ Install Referrer

คุณสามารถลบข้อมูลที่ซ้ำออกโดยใช้ข้อมูลที่ส่งคืนใน install_referrer เนื่องจากค่าที่ได้จะเหมือนกันกับการติดตั้งหรือแคมเปญสำหรับ CT ใน Meta Install Referrer และ GPIR

สำหรับ VT และ CT ข้ามเซสชั่น ให้ใช้ข้อมูล Install Referrer ของ Meta เนื่องจาก GPIR ไม่รองรับ

หากไม่มีข้อมูลเมตาดาต้าของแคมเปญโฆษณา GPIR ให้คุณลบข้อมูลที่ซ้ำออกโดยขึ้นอยู่กับว่าคุณทำงานร่วมกับพาร์ทเนอร์ด้านการวัดผลบนอุปกรณ์มือถือ (MMP) หรือไม่

การลบข้อมูลซ้ำโดยมี MMP

พาร์ทเนอร์ด้านการวัดผลบนอุปกรณ์มือถือ (MMP) มีสิทธิ์เข้าถึงข้อมูลการระบุที่มาระดับแถวสำหรับการติดตั้งที่ไม่มีเครือข่ายโฆษณาที่ชนะ ไม่ว่าจะเป็นเพราะได้รับการระบุที่มาเป็น Meta หรือการติดตั้งแบบออร์แกนิก คุณสามารถตรวจสอบได้ว่ามี Install Referrer ที่ให้บริการผ่าน Meta Install Referrer หรือไม่ หากมี คุณสามารถพิจารณาได้ว่าการติดตั้งดังกล่าวเกิดขึ้นโดย Meta และข้อมูลอ้างอิงการติดตั้งที่ให้มาคือเมตาดาต้าของแคมเปญโฆษณาสำหรับการติดตั้ง

การลบข้อมูลซ้ำที่ไม่มี MMP

Meta Install Referrer จะให้ข้อมูลการสัมผัสท้ายสุดของการติดตั้ง ซึ่งประกอบด้วยเมตาดาต้าของแคมเปญโฆษณา ประทับเวลาจริงของการสัมผัสท้ายสุด และประเภทการดำเนินการของการสัมผัสท้ายสุด (อิมเพรสชั่นหรือการคลิก) คุณสามารถเปรียบเทียบประเภทการดำเนินการและประทับเวลาของการสัมผัสท้ายสุดกับข้อมูลการระบุที่มาที่คุณได้รับจากเครือข่ายโฆษณาอื่นๆ แล้วตัดสินใจเลือกเครือข่ายโฆษณาที่ชนะได้

ตรวจสอบยืนยันการตั้งค่า

อย่างแรก ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชั่นแอพที่รองรับโซลูชั่นนี้อยู่ เวอร์ชั่นขั้นต่ำมีดังนี้

  • Facebook: เวอร์ชั่น 428
  • Instagram: เวอร์ชั่น 296
  • Facebook Lite: เวอร์ชั่น 411

คุณสามารถตรวจสอบยืนยันการตั้งค่าของคุณโดยทำตามขั้นตอนต่อไปนี้

  1. แทรกแคมเปญทดสอบโดยใช้การดูตัวอย่างในตัวจัดการโฆษณา
  2. ค้นหาโฆษณาบน Facebook หรือ Instagram แล้วคลิกโฆษณานั้น
  3. เพิ่มเบรกพอยต์หรือบันทึกลงในโค้ดของคุณในขั้นตอนที่ 2

แอพของคุณควรได้รับการตอบกลับและถอดรหัสเพื่อดูข้อมูลแคมเปญ

ตัวเลือกที่ 2: การผสานการทำงานแบบมีการสนับสนุนผ่าน MMP ของคุณ

ขั้นตอนที่ 1: อัพเดต SDK พาร์ทเนอร์ด้านการวัดผลบนอุปกรณ์มือถือ (MMP) ของคุณ

อัพเดต MMP SDK ให้เป็นเวอร์ชั่นที่ผสานการทำงาน Meta Install Referrer เอาไว้ดังนี้

  • AppsFlyer SDK: AppsFlyer SDK เวอร์ชั่น 6.14.2 ขึ้นไป
  • Adjust SDK: Adjust SDK เวอร์ชั่น 4.36.0 ขึ้นไป (Flutter 4.36.0 ขึ้นไป, Unity 4.37.0 ขึ้นไป)
  • Singular SDK หรือ S2S API: Singular SDK เวอร์ชั่น 12.3.0 ขึ้นไป (Unity 4.2.0 ขึ้นไป, React Native 3.3.0 ขึ้นไป, Unreal 2.2.0 ขึ้นไป)
  • Kochava SDK: Kochava Android SDK เวอร์ชั่น 5.1.0 ขึ้นไป
  • Airbridge SDK: Airbridge Android SDK เวอร์ชั่น 2.22.3 ขึ้นไป
  • Branch SDK: Branch SDK เวอร์ชั่น 5.10.1 ขึ้นไป

ขั้นตอนที่ 2: ตรวจสอบให้แน่ใจว่า ID แอพ Facebook ของคุณเชื่อมกับ MMP SDK แล้ว

ดูคำแนะนำที่ลิงก์ด้านล่าง

ขั้นตอนที่ 3: คุณอาจต้องอัพเดตไฟล์ Android Manifest ให้แอพของคุณ โดยขึ้นอยู่กับ MMP

ดูคำแนะนำที่ลิงก์ด้านล่าง

  • คำแนะนำสำหรับ Kochava (ไปที่ส่วน Meta/Facebook)
  • AppsFlyer, Adjust, Singular และ Airbridge จะดำเนินการสำหรับขั้นตอนนี้ให้โดยอัตโนมัติผ่านทาง SDK
  • โปรดตรวจสอบข้อมูลกับ MMP ว่าใช้ Flutter / React SDK แทน Android SDK หรือไม่

ขั้นตอนที่ 4: แชร์คีย์ถอดรหัส Install Referrer ของคุณเพื่อให้ MMP สามารถถอดรหัสเมตาดาต้าของ Referrer ได้

หมายเหตุ: หากคุณแชร์คีย์ถอดรหัสสำหรับ Google Play Store Install Referrer แล้ว ก็ไม่จำเป็นต้องดำเนินการในขั้นตอนนี้