Chiến lược về quyền riêng tư

Để biết những điểm quan trọng cần cân nhắc khi chuẩn bị ứng dụng của bạn cho những thay đổi về quyền riêng tư trên iOS, hãy xem bài viết Chiến lược về quyền riêng tư cho iOS.

Bật SKAdNetwork để theo dõi lượt chuyển đổi

Điều kiện tiên quyết: SDK Quảng cáo của Google trên thiết bị di động phiên bản 7.64.0 trở lên

SDK quảng cáo trên thiết bị di động của Google hỗ trợ tính năng theo dõi lượt chuyển đổi bằng SKAdNetwork của Apple, cho phép Google và người mua bên thứ ba tham gia phân bổ một lượt cài đặt ứng dụng ngay cả khi không có IDFA (Mã nhận dạng cho nhà quảng cáo).

Để bật tính năng này, hãy cập nhật khoá SKAdNetworkItems bằng một từ điển bổ sung giúp xác định các giá trị SKAdNetworkIdentifier của Google và của người mua bên thứ ba tham gia trong Info.plist.

Đoạn mã dưới đây bao gồm giá trị nhận dạng SKAdNetwork của Google (cstr6suwn9.skadnetwork) và một số người mua khác đã được cung cấp cho Google. Google cam kết cập nhật danh sách này để thêm những người mua khác, đồng thời làm việc với các đơn vị trong ngành để tìm ra giải pháp chia sẻ các giá trị SKAdNetworkIdentifier ở phạm vi rộng hơn. Trang này chứa các bản cập nhật mới nhất.

<key>SKAdNetworkItems</key>
<array>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cstr6suwn9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4fzdc2evr5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4pfyvq9l8r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>5a6flpkh64.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>p78axxw29g.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v72qych5uu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ludvb6z3bs.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>cp8zw746q7.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3sh42y64q3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>c6k4g5qg8m.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>s39g8k73mm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qy4746246.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v4nxqhlyqp.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>wzmmz9fp6w.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>t38b2kh725.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>7ug5zh24hu.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>y5ghdn5j9k.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n6fk4nfna4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>v9wttpbfk9.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>n38lu8286q.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>47vhws6wlr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>kbd757ywx3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>9t245vhmpl.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>eh6m2bh4zr.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>a2p9lx4jpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>22mmun2rn5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4468km3ulz.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>2u9pt9hc89.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8s468mfl3y.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ecpz2srf59.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>uw77j35x4d.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>pwa73g5rt2.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>e5fvkxwrpn.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>8c4e2ghe7u.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>zq492l623r.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3rd42ekr43.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Dàn xếp

Nếu bạn sử dụng tính năng dàn xếp, hãy xem tài liệu của từng đối tác mạng quảng cáo để biết các giá trị SKAdNetworkIdentifier khác mà họ yêu cầu.

Đối với các nguồn quảng cáo không công khai, hãy liên hệ với nhóm quản lý tài khoản của bạn để biết các giá trị SKAdNetworkIdentifier bắt buộc.

Yêu cầu uỷ quyền Minh bạch về việc theo dõi ứng dụng

Điều kiện tiên quyết: SDK Quảng cáo của Google trên thiết bị di động phiên bản 7.64.0 trở lên

Để hiển thị yêu cầu uỷ quyền Minh bạch về việc theo dõi ứng dụng nhằm truy cập vào IDFA, hãy cập nhật Info.plist để thêm khoá NSUserTrackingUsageDescription bằng thông báo tuỳ chỉnh mô tả việc sử dụng của bạn. Dưới đây là nội dung mô tả mẫu:

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

Nội dung mô tả về việc sử dụng sẽ xuất hiện trong hộp thoại App Tracking Transparency:

Để hiển thị yêu cầu uỷ quyền, hãy gọi requestTrackingAuthorizationWithCompletionHandler:. Bạn nên đợi lệnh gọi lại hoàn thành trước khi tải quảng cáo để nếu người dùng cấp quyền Minh bạch về việc theo dõi ứng dụng, SDK quảng cáo trên thiết bị di động của Google có thể sử dụng IDFA trong các yêu cầu quảng cáo.

Swift

import AppTrackingTransparency
import AdSupport
...
func requestIDFA() {
  ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
  })
}

Objective-C

#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
...
- (void)requestIDFA {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Tracking authorization completed. Start loading ads here.
    // [self loadAd];
  }];
}

Để biết thêm thông tin về các giá trị trạng thái có thể có, hãy xem ATTrackingManager.AuthorizationStatus.

SKOverlay

Điều kiện tiên quyết: SDK Quảng cáo của Google trên thiết bị di động phiên bản 8.5.0 trở lên

SKOverlay hiển thị một ứng dụng đề xuất dưới dạng lớp phủ trên một quảng cáo, nhờ đó, người dùng có thể cài đặt ứng dụng đó mà không cần rời khỏi ứng dụng của bạn.

Nếu sử dụng SDK quảng cáo trên thiết bị di động của Google phiên bản 8.5.0 trở lên, bạn không cần làm gì để bật SKOverlay cho ứng dụng của mình. Khi người dùng và nhà quảng cáo mang lại lợi ích tích cực về hiệu suất, quảng cáo sẽ tự động được cải thiện bằng SKOverlay.

Hạn mức miền trong ứng dụng

Vào tháng 6 năm 2020, Apple đã ra mắt App-Bound Domains (Miền trong phạm vi ứng dụng) dưới dạng một tính năng chọn sử dụng để nhà phát triển giới hạn số lượng miền cho toàn bộ WKWebView trong một ứng dụng ở mức 10 miền trở xuống, thông qua khoá WKAppBoundDomains Info.plist.

Nếu bạn thêm khoá WKAppBoundDomains vào tệp Info.plist, SDK quảng cáo trên thiết bị di động của Google có thể sẽ không tải quảng cáo được.

Mã nhận dạng bên thứ nhất của nhà xuất bản, trước đây gọi là cùng một khoá ứng dụng

Điều kiện tiên quyết: Google Mobile Ads SDK 8.3.0 trở lên

Google Mobile Ads SDK được giới thiệu Publisher first-party ID, trước đây được gọi là cùng một khoá ứng dụng để giúp bạn phân phát các quảng cáo được cá nhân hoá và phù hợp hơn bằng cách sử dụng dữ liệu được thu thập từ các ứng dụng của bạn.

Mã nhận dạng bên thứ nhất của nhà xuất bản được bật theo mặc định. Tuy nhiên, bạn có thể tắt mã nhận dạng này bằng phương thức sau.

Swift

@import GoogleMobileAds

// Disables Publisher first-party ID, formerly known as same app key.
GADMobileAds.sharedInstance().requestConfiguration.setPublisherFirstPartyIDEnabled(false)

Objective-C

@import GoogleMobileAds;

// Disables Publisher first-party ID, formerly known as same app key.
[GADMobileAds.sharedInstance.requestConfiguration setPublisherFirstPartyIDEnabled:NO];