Hướng dẫn tích hợp SDK cơ bản

Khái quát: Làm việc với đội ngũ phát triển ứng dụng thiết bị di động của bạn để tích hợp và cài đặt SDK vào các ứng dụng Android hoặc iOS. Sau khi các tác vụ tích hợp cơ bản hoàn tất, ứng dụng của bạn đã sẵn sàng cho việc phân bổ lượt cài đặt và đo lường sự kiện trong ứng dụng.   

 Bài đọc liên quan

Để nắm rõ đầy đủ về việc lập kế hoạch tích hợp SDK với ứng dụng của bạn, hãy nhớ đọc các bài viết sau:

Truy xuất dev key

Trước khi nhà phát triển của bạn có thể cài đặt và tích hợp SDK, bạn phải truy xuất dev key. AppsFlyer sử dụng dev key để xác định duy nhất tài khoản của bạn. Dev key là bắt buộc vì nó cho phép SDK gửi và truy xuất an toàn dữ liệu thuộc tài khoản của bạn.

Để lấy khóa dev của bạn:

  1. Trong AppsFlyer, đi tới Configuration (Cấu hình) > App Settings (Cài đặt của Ứng dụng)
  2. Sao chép dev key và gửi cho nhà phát triển ứng dụng thiết bị di động của bạn.

    af_devkey.png

  3. Cung cấp cho nhà phát triển thiết bị di động các hướng dẫn cài đặttích hợp SDK.

Phân bổ

SDK thu thập các số mã định danh cho các mục đích phân bổ. Để đảm bảo rằng số lượt cài đặt được ghi nhận và phân bổ chính xác, hãy xem lại và làm theo các nguyên tắc này. 

Tất cả các nền tảng

Mã định danh duy nhất cho lượt cài đặt

ID AppsFlyer được tạo tự động cho mỗi lượt cài đặt ứng dụng mới. Nhà tiếp thị không cần phải thực hiện bất kỳ hành động nào.

Bạn có thể sử dụng mã định danh này để thực hiện các hoạt động sau:

Tích hợp mã định danh duy nhất từ hệ thống BI của bạn với AppsFlyer

Đặt Customer user ID (CUID) của riêng bạn trong SDK AppsFlyer để tham chiếu chéo ID duy nhất từ hệ thống BI với ID AppsFlyer và các mã định danh khác. CUID có sẵn trong các báo cáo dữ liệu thô của AppsFlyer. Bạn cũng có thể sử dụng CUID này trong API postback để tham chiếu chéo với ID nội bộ của bạn. 

Xem hướng dẫn triển khai CUID dành cho nhà phát triển.

Chỉ dành cho Android

Các phần sau đây mô tả những vấn đề cần lưu ý về phân bổ đối với Cửa hàng Google Play hoặc các cửa hàng ứng dụng của bên thứ ba.

Các ứng dụng phân bổ được xuất bản trên Google Play 

Người giới thiệu Cài đặt Google Play

API của Người giới thiệu Cài đặt Google Play giúp cải thiện độ chính xác của phân bổ, bảo vệ khỏi bị gian lận lượt cài đặt và cho phép truy xuất an toàn dữ liệu lượt giới thiệu từ Google Play (ví dụ: phiên bản của ứng dụng tại thời điểm ứng dụng được cài đặt lần đầu). 

Bạn nên cung cấp cho nhà phát triển của mình các hướng dẫn này để thêm API của Người giới thiệu Cài đặt Google Play

GAID

Kể từ phiên bản SDK V4.8.0, AppsFlyer sẽ tự động thu thập mã nhận dạng thiết bị này.

Phân bổ thiết bị trong cửa hàng ứng dụng của bên thứ ba

Với AppsFlyer, bạn có thể phân bổ lượt cài đặt bắt nguồn từ các cửa hàng ứng dụng của bên thứ ba, chẳng hạn như Amazon, Opera, GetJar, Baidu và Huawei. Điều này cho phép bạn quảng bá ứng dụng của mình và tiếp cận đối tượng lớn hơn ở các thị trường không có Google Play.

SDK sử dụng các phương thức sau để phân bổ thiết bị trong cửa hàng ứng dụng của bên thứ ba:

  • IMEI hoặc ID Android: SDK không tự động thu thập IMEI hoặc ID Android. Tuy nhiên, nếu có nhu cầu thu thập các mã định danh này (ví dụ: đối với các ứng dụng ở thị trường nội địa Trung Quốc) thì nhà phát triển của bạn có thể triển khai một trong các hình thức thu thập sau:
    • Thu thập thủ công: Các ứng dụng chuyển IMEI hoặc ID Android đến SDK (sử dụng setImeiData hoặc APIsetAndroidIdData) . SDK gửi dữ liệu đến máy chủ AppsFlyer. 
    • Chọn tham gia thu thập ID thiết bị: Buộc SDK thu thập IMEI hoặc ID Android
  • OAID: Phân bổ lượt cài đặt từ các cửa hàng ứng dụng Android của bên thứ ba. Để biết thêm thông tin, hãy xem hướng dẫn triển khai OAID.

Chỉ dành cho iOS

Các phần sau đây đề cập những thông tin quan trọng về hỗ trợ cho các thiết bị iOS 14+.

Hỗ trợ Định cấu hình Minh bạch về Theo dõi Ứng dụng (ATT)

Thông tin cơ bản

Kể từ phiên bản iOS 14.5, chức năng thu thập IDFA yêu cầu phải có sự đồng ý của người dùng. Trên thực tế, điều đó có nghĩa là quyền truy cập IDFA được điều chỉnh bởi khung Minh bạch về Theo dõi Ứng dụng (ATT). Trên thiết bị iOS từ phiên bản 14 trở lên, SDK sử dụng khung ATT để được quyền truy cập vào IDFA của thiết bị. 

Để biết thông tin giới thiệu về ATT, hãy xem các nguyên tắc về ATT .

Khi phân bổ xảy ra bằng cách sử dụng IDFA, quan trọng là IDFA phải được gửi vào lần khởi chạy đầu tiên. Vì lý do này, SDK cung cấp tiện ích waitForATTUserAuthorization.

Tổng quan về waitForATTUserAuthorization

 Quan trọng!

Không gọi ra waitForATTUserAuthorization nếu bạn không có ý định gọi ra lời nhắc ATT.

waitForATTUserAuthorization cho phép bạn định cấu hình thời gian SDK sẽ trì hoãn và chờ trạng thái ATT trước khi gửi dữ liệu đến máy chủ AppsFlyer.

ATT-flowchart_en-us.png

Khi người dùng khởi chạy ứng dụng, trạng thái ATT là notDetermined. Trong thời gian chờ waitForATTUserAuthorization, SDK sẽ tạo hàng đợi sự kiện khởi chạy và các sự kiện trong ứng dụng liên tiếp trong bộ nhớ, tương tự như cách ghi nhận các sự kiện ngoại tuyến:

  • Nếu người dùng đồng ý với lời nhắc ATT (Thu thập IDFA):
    • SDK sẽ thêm IDFA vào các sự kiện được lưu trong bộ nhớ tạm.
    • SDK bắt đầu và gửi các sự kiện được lưu trong bộ nhớ tạm kèm theo IDFA (mà không cần đợi hết thời gian chờ).
  • Nếu người dùng từ chối lời nhắc ATT: SDK bắt đầu và gửi các sự kiện được lưu trong bộ nhớ đệm mà không kèm IDFA (mà không cần đợi hết thời gian chờ).
  • Nếu thời gian chờ kết thúc và trạng thái ATT vẫn là notDetermined: SDK sẽ bắt đầu và gửi các sự kiện đã lưu trong bộ nhớ đệm mà không kèm theo IDFA.

Những điều cần lưu ý

  • Việc gọi ra requestTrackingAuthorization mà không cài đặt waitForATTUserAuthorization sẽ dẫn đến việc khởi chạy và gửi sự kiện mà không kèm theo IDFA đối với thiết bị iOS từ phiên bản 14 trở lên.
  • Nếu người dùng chuyển ứng dụng sang chạy ngầm trong thời gian chờ:
    • Bộ định thời tạm dừng cho đến khi ứng dụng quay trở lại chế độ chạy nổi.
    • Sự kiện được lưu vào bộ nhớ tạm.
  • Nếu người dùng tắt ứng dụng, ứng dụng sẽ tắt hẳn trong thời gian chờ:
    • Bộ định thời được khởi động lại vào lần khởi chạy ứng dụng tiếp theo.
    • Sự kiện được lưu vào bộ nhớ tạm sẽ bị mất.

Tùy chỉnh hộp thoại đồng ý ATT

Bạn có thể tùy chỉnh lời nhắc ATT. Thông báo nêu rõ mục đích của yêu cầu có thể giúp tăng tỷ lệ người dùng chọn đồng ý.

Hãy cem xét những điều sau khi tạo tin nhắn:

Sau khi thông báo đã hoàn tất, hãy cung cấp cho nhà phát triển ứng dụng của bạn văn bản và hướng dẫn triển khai.

Xem một số ví dụ bên ngoài về lời nhắc ATT.

Hỗ trợ phân bổ SKAN

 Lưu ý

Để hỗ trợ đầy đủ tính năng phân bổ SKAN, hãy nâng cấp lên SDK iOS V6.2.3+.

SKAN là một lớp được iOS sử dụng để xác thực các lượt cài đặt ứng dụng do nhà quảng cáo thúc đẩy. Quy trình xác thực lượt cài đặt ứng dụng liên quan đến ứng dụng nguồn và ứng dụng được quảng cáo. 

Ứng dụng nguồn là một ứng dụng tham gia vào các chiến dịch quảng cáo bằng cách hiển thị quảng cáo từ một mạng quảng cáo. Việc cấu hình ứng dụng của bạn để hiển thị quảng cáo không nằm trong phạm vi của SDK AppsFlyer. Để cấu hình, hãy làm theo hướng dẫn của Apple.

Đối với ứng dụng được quảng cáo (ứng dụng có SDK AppsFlyer), Giải pháp SKAN của AppsFlyer sử dụng SKAN để cung cấp tính năng đăng lại phân bổ trong khi AppsFlyer thu thập, dịch và tổng hợp dữ liệu, đồng thời duy trì quyền riêng tư của người dùng. Khi ứng dụng được khởi chạy lần đầu tiên, nền tảng AppsFlyer sử dụng cấu hình do nhà tiếp thị cài đặt để hướng dẫn SDK về cách cài đặt giá trị chuyển đổi SKAN.

Để sử dụng giải pháp SKAN:

  • Nhà tiếp thị cần cấu hình đo lường SKAN trong AppsFlyer. Nhà phát triển không phải thực hiện bất kỳ công việc nào.
  • SDK AppsFlyer tự động gọi ra các API SKAN cần thiết.
  • Đảm bảo vô hiệu các lệnh gọi SKAN trong các SDK khác nếu bạn sử dụng AppsFlyer để phân bổ SKAN.
  • Không yêu cầu nhà phát triển hoặc nhà tiếp thị phải có hành động hoặc quy trình đăng ký nào khác trong App Store. 

Để tắt tính năng phân bổ SKAN, hãy hướng dẫn nhà phát triển của bạn tắt các lệnh gọi này trong SDK

Ghi nhận sự kiện trong ứng dụng

Các sự kiện trong ứng dụng (IAE) cung cấp thông tin chi tiết về những gì đang xảy ra trong ứng dụng của bạn. Việc ghi nhận sự kiện trong ứng dụng giúp bạn đo lường các giá trị KPI như Lợi tức đầu tư (ROI) và Giá trị vòng đời (LTV). Bạn nên dành thời gian xác định các sự kiện bạn muốn ghi nhận.

Sau khi đã xác định các sự kiện trong ứng dụng bạn muốn đo lường, hãy gửi tên sự kiện và tham số cho nhà phát triển ứng dụng và kèm theo một đường dẫn liên kết đến hướng dẫn triển khai

Để tìm hiểu thêm về các sự kiện trong ứng dụng, hãy xem hướng dẫn Sự kiện phong phú trong ứng dụng của chúng tôi.

Tất cả các nền tảng

Ghi nhận doanh thu

Bạn có thể gửi doanh thu với bất kỳ sự kiện trong ứng dụng. Đảm bảo bạn sử dụng thông số af_revenue để bao gồm doanh thu. Đây là thông số sự kiện duy nhất mà AppsFlyer tính là doanh thu thực trên bảng điều khiển và trong báo cáo dữ liệu thô. Tìm hiểu thêm.

Để biết hướng dẫn dành cho nhà phát triển, hãy xem ghi lại doanh thu.

Xác thực mua hàng trong ứng dụng

SDK của AppsFlyer cung cấp xác minh máy chủ cho các giao dịch mua trong ứng dụng. Xác thực mua hàng trong ứng dụng sẽ tự động gửi một sự kiện mua trong ứng dụng tới AppsFlyer. Tự gửi sự kiện này tạo ra báo cáo sự kiện trùng lặp.

Các ngành dọc

Xem danh sách các sự kiện trong ứng dụng được đề xuất theo ngành, ví dụ, du lịch, trò chơi hoặc Thương mại điện tử.

Liên kết sâu với OneLink

OneLink là giải pháp của AppsFlyer để phân bổ đa nền tảng, chuyển hướng và liên kết sâu.

Tất cả các nền tảng

Nhận diện và chuyển hướng thiết bị

Đối với người dùng chưa cài đặt ứng dụng của bạn, OneLink sẽ phát hiện loại thiết bị và chuyển hướng họ đến đích chính xác (ví dụ: Google Play, Apple App Store, cửa hàng ứng dụng của bên thứ ba hoặc trang web). Điều này dựa vào cài đặt mẫu OneLink của bạn. Tìm hiểu thêm

Deep Linking

Đối với người dùng đã cài đặt ứng dụng của bạn, OneLink sẽ mở ứng dụng. Ngoài việc mở ứng dụng, bạn cũng có thể liên kết sâu người dùng với một hoạt động hoặc trang cụ thể trong ứng dụng. Điều này yêu cầu nhà phát triển của bạn triển khai Liên kết sâu hợp nhất (UDL).

Lưu ý:

  • UDL yêu cầu SDK V6.1+.
  • Những khách hàng đã sử dụng OneLink để liên kết sâu có thể đang sử dụng phương thức kế thừa, thay vì UDL.

Xem hướng dẫn của chúng tôi về thiết lập liên kết sâu với OneLink.

Deferred deep linking

Đối với người dùng chưa cài đặt ứng dụng của bạn, OneLink sẽ nhận diện loại thiết bị và chuyển hướng họ đến điểm đích chính xác: Google Play, Apple App Store, cửa hàng ứng dụng của bên thứ ba hoặc trang web. Sau khi người dùng khởi chạy ứng dụng, bạn có thể sử dụng liên kết sâu gián tiếp để chuyển hướng họ đến một hoạt động hoặc trang cụ thể trong ứng dụng.

Điều này yêu cầu nhà phát triển của bạn triển khai Liên kết sâu hợp nhất (UDL).

Lưu ý:

  • UDL yêu cầu SDK V6.1+.
  • Những khách hàng đã sử dụng OneLink để liên kết sâu gián tiếp có thể đang sử dụng phương thức kế thừa, thay vì UDL

Xem hướng dẫn của chúng tôi về cách thiết lập deferred deep linking bằng OneLink.

Truy cập dữ liệu phân bổ và liên kết sâu

Bảng sau mô tả các phương thức có sẵn để truy xuất dữ liệu phân bổ và liên kết sâu:

Phương thức Đối tượng tham gia là ai? Trả về kết quả Phương thức truy xuất Dữ liệu phân bổ Dữ liệu liên kết sâu Tính khả dụng
API Push
  • Nhà tiếp thị
  • Nhà phát triển back-end
Thông thường trong vòng vài phút Backend Y N Cao cấp
Nhận dữ liệu chuyển đổi (GCD) 
  • Nhà tiếp thị
  • Nhà phát triển ứng dụng di động

Xem tài liệu dành cho nhà phát triển

Tối đa 5 giây  SDK Y Y Tất cả các tài khoản
Liên kết Sâu Hợp nhất (UDL)
  • Nhà tiếp thị
  • Nhà phát triển ứng dụng di động

Xem tài liệu dành cho nhà phát triển

Tối đa 1 giây SDK N Y Tất cả các tài khoản
API Pull
  • Nhà tiếp thị
  • Nhà phát triển back-end
  • Định kỳ (không theo thời gian thực).
  • Bạn có thể lên lịch tải xuống báo cáo dữ liệu thô. 
Backend Y Y Tính năng cao cấp cho các báo cáo dữ liệu thô

Lưu ý những điều sau đối với người dùng iOS 14.5+ không đồng ý:

  • Khi sử dụng UDL cho truyền thông có trả phí và được sở hữu, bạn sẽ có dữ liệu liên kết sâu.
  • Khi sử dụng GCD cho truyền thông trả phí, dữ liệu sẽ bị hạn chế và không bao gồm thông tin chi tiết về phân bổ và liên kết sâu.

 Lời khuyên

Chúng tôi đề xuất những điều sau:

  • Sử dụng API Push khi truy xuất dữ liệu phân bổ và gửi đến máy chủ của bạn để xử lý thêm. Phương thức này sẽ chờ khi có dữ liệu và do đó có độ chính xác cao và gần với theo thời gian thực. GCD trả về dữ liệu theo thời gian thực, nhưng có thể không chính xác khi các quyết định phân bổ cuối cùng được xác định sau hơn 5 giây.
  • Sử dụng API Pull để bổ sung định kỳ (ví dụ: hàng ngày) dữ liệu phân bổ theo thời gian thực và để bù cho bất kỳ lỗi giao tiếp nào có thể xảy ra.

Kiểm tra tích hợp SDK

Sau khi quá trình tích hợp SDK hoàn tất, bạn có thể truy cập bảng điều khiển AppsFlyer và từ trang Thử nghiệm Tích hợp SDK, hãy thử nghiệm lượt cài đặt tự nhiên và không tự nhiên, sự kiện trong ứng dụng và liên kết sâu (nhắm mục tiêu lại). Điều này đảm bảo rằng các lượt cài đặt và sự kiện trong ứng dụng được ghi nhận và phân bổ một cách chính xác.

Nếu bạn cần nhà phát triển của mình thử nghiệm tích hợp SDK, hãy thêm nhà phát triển làm thành viên nhóm trong tài khoản của bạn để họ có thể truy cập bảng điều khiển. 

Để biết các hướng dẫn và tình huống thử nghiệm, hãy xem thử nghiệm tích hợp SDK.

Bài viết này có hữu ích không?