Hướng dẫn này sẽ chỉ cho bạn cách thêm Sự kiện trong ứng dụng vào ứng dụng mới hoặc ứng dụng hiện có của mình bằng cách tích hợp Facebook SDK rồi ghi lại những sự kiện này.
Sau khi bạn tích hợp Facebook SDK, hệ thống sẽ tự động ghi và thu thập một số Sự kiện trong ứng dụng cho Trình quản lý sự kiện, trừ khi bạn tắt tính năng Tự động ghi sự kiện trong ứng dụng. Bạn có thể thay đổi chế độ này trong mã ứng dụng của mình hoặc thông qua nút bật/tắt trong mục Sự kiện trong ứng dụng của Bảng điều khiển ứng dụng hoặc Trình quản lý sự kiện. Hãy lưu ý rằng trong trường hợp có giá trị xung đột giữa cờ AutoLogAppEventsEnabled
và nút này, chúng tôi sẽ tôn trọng giá trị trong nút bật/tắt "Tự động ghi sự kiện cho Facebook SDK". Để biết chi tiết về loại thông tin được thu thập và cách tắt tính năng Tự động ghi sự kiện trong ứng dụng, hãy xem bài viết Tự động ghi sự kiện trong ứng dụng.
Bạn có thể theo dõi sự kiện trong ứng dụng của mình theo 3 cách sau:
Khi bạn dùng Facebook SDK, SDK này sẽ tự động ghi và thu thập một số sự kiện trong ứng dụng của bạn cho Facebook, trừ khi bạn vô hiệu hóa tính năng tự động ghi sự kiện. Những sự kiện này phù hợp với mọi trường hợp sử dụng - nhắm mục tiêu, đo lường và tối ưu hóa. Quá trình Tự động ghi sự kiện trong ứng dụng sẽ thu thập 3 sự kiện chính sau: Cài đặt ứng dụng, Khởi chạy ứng dụng và Mua hàng. Khi bạn bật tính năng tự động ghi, nhà quảng cáo có thể vô hiệu hóa những sự kiện này cũng như các sự kiện nội bộ khác của Facebook, chẳng hạn như sự kiện hiển thị đăng nhập. Tuy nhiên, nếu bạn đã tắt tính năng tự động ghi nhưng vẫn muốn ghi một số sự kiện cụ thể - chẳng hạn như sự kiện cài đặt hoặc mua hàng, hãy ghi những sự kiện này theo cách thủ công trong ứng dụng của bạn.
Sự kiện | Chi tiết |
---|---|
Cài đặt ứng dụng | Lần đầu tiên một người mới kích hoạt ứng dụng của bạn hoặc lần đầu tiên ứng dụng của bạn khởi động trên một thiết bị cụ thể. |
Khởi chạy ứng dụng | Khi một người khởi chạy ứng dụng của bạn, Facebook SDK sẽ được khởi tạo và ghi sự kiện. Tuy nhiên, nếu sự kiện khởi chạy ứng dụng thứ hai xảy ra trong vòng 60 giây sau sự kiện đầu tiên, sự kiện khởi chạy ứng dụng thứ hai đó sẽ không được ghi lại. Đối với Facebook SDK dành cho Android v4.18 trở xuống, khởi tạo SDK là một quy trình thủ công khác với quy trình ghi sự kiện thủ công được mô tả trong tài liệu này. Hãy nâng cấp lên phiên bản SDK mới nhất hoặc cuộn xuống phần Khởi chạy SDK cũ để thêm sự kiện theo cách thủ công. |
Mua hàng trong ứng dụng | Khi một giao dịch mua do Google Play xử lý đã hoàn tất. Nếu sử dụng các nền tảng thanh toán khác, bạn cần thêm mã sự kiện mua hàng theo cách thủ công. Những ứng dụng đã cài đặt hoặc nâng cấp lên v4.39 sẽ tự động bật tính năng ghi sự kiện mua hàng trong ứng dụng. Đối với những ứng dụng chạy phiên bản cũ hơn, hãy bật sự kiện mua hàng trong ứng dụng trên thẻ Android Cơ bản > Cài đặt trong bảng điều khiển ứng dụng hoặc thêm mã sự kiện mua hàng theo cách thủ công. SDK dành cho Android hiện hỗ trợ thư viện Google Play Billing v2 và v3. Đối với thư viện Google Play Billing v4, bạn phải ghi sự kiện mua hàng trong ứng dụng theo cách thủ công. |
Báo cáo lỗi crash do Facebook SDK (Chỉ dành cho Facebook.) | Nếu ứng dụng của bạn gặp lỗi crash do Facebook SDK, SDK này sẽ tạo và gửi báo cáo lỗi crash đến Facebook khi ứng dụng của bạn được khởi động lại. Báo cáo này không chứa dữ liệu người dùng và giúp Facebook đảm bảo chất lượng cũng như tính ổn định của SDK. Nếu bạn muốn chọn không ghi sự kiện này, hãy vô hiệu hóa sự kiện ghi tự động. |
Báo cáo lỗi ANR do Facebook SDK (Chỉ dành cho Facebook.) | Nếu ứng dụng của bạn gặp lỗi ANR (Ứng dụng không phản hồi) do Facebook SDK, SDK này sẽ tạo và gửi báo cáo lỗi ANR đến Facebook khi ứng dụng của bạn được khởi động lại. Báo cáo này không chứa dữ liệu người dùng và giúp Facebook đảm bảo chất lượng cũng như tính ổn định của SDK. Nếu bạn muốn chọn không ghi sự kiện này, hãy vô hiệu hóa sự kiện ghi tự động. |
Để vô hiệu hóa sự kiện ghi tự động, bạn cần thêm nội dung sau vào file AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="false"/> ... </application>
Trong một số trường hợp, bạn nên trì hoãn việc thu thập sự kiện ghi tự động – chẳng hạn như để nhận được sự đồng ý của người dùng hoặc thực hiện các nghĩa vụ pháp lý – thay vì vô hiệu hóa sự kiện này. Trong trường hợp này, hãy gọi phương thức setAutoLogAppEventsEnabled()
thuộc lớp FacebookSDK
và đặt là true
để bật lại tính năng ghi sự kiện sau khi người dùng cuối đồng ý.
setAutoLogAppEventsEnabled(true);
Nếu bạn lại muốn tạm ngừng ghi sự kiện vì bất cứ lý do nào, hãy đặt phương thức setAutoLogAppEventsEnabled()
là false
.
setAutoLogAppEventsEnabled(false);
Bạn cũng có thể vô hiệu hóa tính năng tự động ghi sự kiện Mua hàng trong ứng dụng thông qua bảng điều khiển ứng dụng. Hãy chuyển đến thẻ Android trong phần Cơ bản > Cài đặt rồi chuyển nút thành Không.
Để vô hiệu hóa tính năng tự động khởi tạo SDK, bạn cần thêm nội dung sau vào file AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AutoInitEnabled" android:value="false"/> ... </application>
Trong một số trường hợp, bạn nên trì hoãn việc khởi tạo SDK – chẳng hạn như để nhận được sự đồng ý của người dùng hoặc thực hiện các nghĩa vụ pháp lý – thay vì vô hiệu hóa tính năng này. Trong trường hợp này, hãy gọi phương thức lớp setAutoInitEnabled
rồi đặt phương thức này là true
để khởi tạo SDK theo cách thủ công sau khi người dùng cuối đồng ý.
FacebookSdk.setAutoInitEnabled(true) FacebookSdk.fullyInitialize()
Để vô hiệu hóa tính năng thu thập advertiser-id
, bạn cần thêm nội dung sau vào file AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled" android:value="false"/> ... </application>
Trong một số trường hợp, bạn nên trì hoãn việc thu thập advertiser_id
- chẳng hạn như để nhận được sự đồng ý của Người dùng hoặc thực hiện các nghĩa vụ pháp lý - thay vì vô hiệu hóa tính năng này. Trong trường hợp này, hãy gọi phương thức setAdvertiserIDCollectionEnabled()
thuộc lớp FacebookSDK
rồi đặt phương thức này là true
để bật lại tính năng thu thập advertiser_id
sau khi người dùng cuối đồng ý.
setAdvertiserIDCollectionEnabled(true);
Nếu bạn muốn tạm ngừng thu thập vì bất cứ lý do nào, hãy đặt phương thức setAdvertiserIDCollectionEnabled()
là false
.
setAdvertiserIDCollectionEnabled(false);
Hãy tạo đối tượng AppEventsLogger
bằng các phương thức trình trợ giúp để ghi sự kiện của bạn, trong đó this
là Activity
mà phương thức của bạn đang sử dụng.
AppEventsLogger logger = AppEventsLogger.newLogger(this);
Sau đó, bạn có thể ghi sự kiện của mình vào logger
, trong đó AppEventConstants.EVENT_NAME_X
là một trong những hằng số có trong bảng Sự kiện tiêu chuẩn hoặc từ mã trong Trình tạo mã.
logger.logEvent(AppEventsConstants.EVENT_NAME_X);
Bạn cũng có thể chỉ định một nhóm thông số trong thuộc tính Bundle
và valueToSum
, đây là một số tùy ý có thể biểu thị bất cứ giá trị nào (ví dụ: giá hoặc số lượng). Khi được báo cáo, tất cả thuộc tính valueToSum
sẽ được cộng lại với nhau. Ví dụ: nếu 10 người mua một mặt hàng và mỗi mặt hàng có giá 10 USD (và đã chuyển vào valueToSum
), họ sẽ được cộng lại với nhau để báo cáo là 100 USD.
Lưu ý rằng cả valueToSum
và parameters
đều không bắt buộc.
Bundle params = new Bundle(); params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]"); logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE, 54.23, params); Bundle params = new Bundle(); params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product"); params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452"); logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART, 54.23, params);
Để ghi một sự kiện tùy chỉnh, bạn chỉ cần chuyển tên của sự kiện đó dưới dạng chuỗi. Chức năng này giả định rằng trình ghi là một phiên bản của AppEventsLogger và đã được tạo thông qua lệnh gọi AppEventsLogger.newLogger().
public void logBattleTheMonsterEvent () { logger.logEvent("BattleTheMonster"); }
Mỗi sự kiện có thể được ghi bằng valueToSum
và một nhóm tối đa 25 thông số. Những thông số này được chuyển qua Bundle
, trong đó khóa giữ tên thông số và giá trị String
hoặc int
. Nếu bạn cung cấp loại giá trị khác không tuân thủ – chẳng hạn như boolean
, SDK sẽ ghi cảnh báo vào LogginBehavior.APP_EVENT
.
Hãy xem Hướng dẫn tham khảo về thông số sự kiện tiêu chuẩn để biết các thông số thường được dùng với sự kiện tiêu chuẩn. Những thông số này nhằm cung cấp hướng dẫn. Tuy nhiên, bạn cũng có thể cung cấp thông số của riêng mình. Ứng dụng của bạn cần ghi các thông số mà bạn muốn xem số liệu chia nhỏ để biết thông tin chi tiết.
Không dùng "event" làm tên thông số. Thông số tùy chỉnh có tên là "event" sẽ không được ghi. Hãy dùng tên khác hoặc thêm tiền tố hay hậu tố vào tên đó, chẳng hạn như my_custom_event
.
Với Trình trợ giúp quảng cáo ứng dụng, bạn có thể thử nghiệm sự kiện trong ứng dụng thuộc ứng dụng của mình để đảm bảo rằng ứng dụng đó đang gửi sự kiện đến Facebook.
Hãy bật nhật ký gỡ lỗi để xác minh việc sử dụng Sự kiện trong ứng dụng từ phía máy khách. Nhật ký gỡ lỗi chứa yêu cầu chi tiết và phản hồi ở định dạng JSON. Bạn có thể bật nhật ký gỡ lỗi bằng cách thêm mã dưới đây sau khi khởi tạo Facebook SDK dành cho Android:
FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);
Việc bật nhật ký gỡ lỗi chỉ nhằm mục đích gỡ lỗi. Vui lòng vô hiệu hóa nhật ký gỡ lỗi trước khi triển khai ứng dụng của bạn ở chế độ công khai.
Để biết thêm thông tin và gợi ý hữu ích về Sự kiện trong ứng dụng, hãy xem:
Chúng tôi đã tạo một số ví dụ về các loại ứng dụng khác nhau để chỉ cho bạn cách dùng sự kiện trong ứng dụng. Mỗi ứng dụng mẫu sẽ cung cấp số liệu chia nhỏ theo từng màn hình về các sự kiện khác nhau cùng với mã mẫu. Bạn cần lưu ý rằng những ví dụ này là điểm bắt đầu cho ứng dụng của bạn và sẽ do bạn tùy chỉnh.