ÿÿ Xác Äịnh Ngưá»i Dùng | Unity SDK | Tài liệu Adapty

Xác định ngưá»i dùng trong Unity SDK

Adapty tạo má»™t ID hồ sÆ¡ ná»™i bá»™ cho má»—i ngưá»i dùng. Tuy nhiên, nếu bạn có hệ thống xác thá»±c riêng, bạn nên đặt Customer User ID cá»§a mình. Bạn có thể tìm ngưá»i dùng theo Customer User ID cá»§a há» trong phần Profiles và sá»­ dụng nó trong server-side API, thông tin này sẽ được gá»­i đến tất cả các tích hợp.

Äặt customer user ID khi cấu hình

Nếu bạn có user ID trong quá trình cấu hình, chỉ cần truyá»n nó dưới dạng tham số customerUserId vào phương thức .activate():

using UnityEngine;
using AdaptySDK;

var builder = new AdaptyConfiguration.Builder("YOUR_API_KEY")
    .SetCustomerUserId("YOUR_USER_ID");

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
}); 

Muốn xem ví dụ thá»±c tế vá» cách tích hợp Adapty SDK vào ứng dụng di động? Hãy xem ứng dụng mẫu cá»§a chúng tôi, nÆ¡i minh há»a toàn bá»™ quá trình thiết lập, bao gồm hiển thị paywall, thá»±c hiện mua hàng và các chức năng cÆ¡ bản khác.

Äặt customer user ID sau khi cấu hình

Nếu bạn không có user ID trong cấu hình SDK, bạn có thể đặt nó sau bất kỳ lúc nào bằng phương thức .identify(). Các trưá»ng hợp phổ biến nhất khi sá»­ dụng phương thức này là sau khi đăng ký hoặc đăng nhập, khi ngưá»i dùng chuyển từ ngưá»i dùng ẩn danh sang ngưá»i dùng đã xác thá»±c.

Adapty.Identify("YOUR_USER_ID", (error) => {
  if(error == null) {
    // successful identify
  }
});

Tham số yêu cầu:

  • Customer User ID (bắt buá»™c): chuá»—i định danh ngưá»i dùng.

Gá»­i lại dữ liệu ngưá»i dùng quan trá»ng

Trong má»™t số trưá»ng hợp, chẳng hạn khi ngưá»i dùng đăng nhập lại vào tài khoản cá»§a há», máy chá»§ cá»§a Adapty đã có thông tin vá» ngưá»i dùng đó. Trong những trưá»ng hợp này, Adapty SDK sẽ tá»± động chuyển sang làm việc vá»›i ngưá»i dùng má»›i. Nếu bạn đã truyá»n bất kỳ dữ liệu nào cho ngưá»i dùng ẩn danh, chẳng hạn như thuá»™c tính tùy chỉnh hoặc attribution từ các mạng bên thứ ba, bạn nên gá»­i lại dữ liệu đó cho ngưá»i dùng đã được xác định.

Ngoài ra, Ä‘iá»u quan trá»ng cần lưu ý là bạn nên yêu cầu lại tất cả các paywall và sản phẩm sau khi xác định ngưá»i dùng, vì dữ liệu cá»§a ngưá»i dùng má»›i có thể khác.

Äăng xuất và đăng nhập

Bạn có thể đăng xuất ngưá»i dùng bất kỳ lúc nào bằng cách gá»i phương thức .logout():

Adapty.Logout((error) => {
  if(error == null) {
    // successful logout
  }
});

Sau đó bạn có thể đăng nhập lại ngưá»i dùng bằng phương thức .identify().

Gán appAccountToken (iOS)

appAccountToken là má»™t UUID cho phép bạn liên kết các giao dịch App Store vá»›i danh tính ngưá»i dùng ná»™i bá»™ cá»§a mình.
StoreKit gắn token này vá»›i má»i giao dịch, để backend cá»§a bạn có thể khá»›p dữ liệu App Store vá»›i ngưá»i dùng cá»§a mình.

Hãy sá»­ dụng má»™t UUID ổn định được tạo cho má»—i ngưá»i dùng và tái sá»­ dụng nó cho cùng má»™t tài khoản trên các thiết bị khác nhau. Äiá»u này đảm bảo rằng các giao dịch mua và thông báo App Store được liên kết chính xác.

Bạn có thể đặt token theo hai cách – trong quá trình kích hoạt SDK hoặc khi xác định ngưá»i dùng.

Bạn phải luôn truyá»n appAccountToken cùng vá»›i customerUserId. Nếu bạn chỉ truyá»n token, nó sẽ không được đưa vào giao dịch.

using UnityEngine;
using AdaptySDK;
using System;

// During configuration:
var appAccountToken = new Guid("YOUR_APP_ACCOUNT_TOKEN");
var builder = new AdaptyConfiguration.Builder("YOUR_API_KEY")
    .SetCustomerUserId("YOUR_USER_ID", appAccountToken);

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
}); 

// Or when identifying users
Adapty.Identify("YOUR_USER_ID", appAccountToken, (error) => {
    if (error == null) {
        // successful identify
    }
});

Äặt obfuscated account ID (Android)

Google Play yêu cầu obfuscated account ID cho má»™t số trưá»ng hợp sá»­ dụng nhất định nhằm tăng cưá»ng quyá»n riêng tư và bảo mật cá»§a ngưá»i dùng. Các ID này giúp Google Play xác định các giao dịch mua trong khi vẫn giữ thông tin ngưá»i dùng ẩn danh, Ä‘iá»u này đặc biệt quan trá»ng để ngăn chặn gian lận và phân tích.

Bạn có thể cần đặt các ID này nếu ứng dụng cá»§a bạn xá»­ lý dữ liệu ngưá»i dùng nhạy cảm hoặc nếu bạn cần tuân thá»§ các quy định vá» quyá»n riêng tư cụ thể. Các obfuscated ID cho phép Google Play theo dõi các giao dịch mua mà không để lá»™ định danh ngưá»i dùng thá»±c tế.

using UnityEngine;
using AdaptySDK;

// During configuration:
var builder = new AdaptyConfiguration.Builder("YOUR_API_KEY")
    .SetCustomerUserId("YOUR_USER_ID", null, "YOUR_OBFUSCATED_ACCOUNT_ID");

Adapty.Activate(builder.Build(), (error) => {
    if (error != null) {
        // handle the error
        return;
    }
});

// Or when identifying users
Adapty.Identify("YOUR_USER_ID", null, "YOUR_OBFUSCATED_ACCOUNT_ID", (error) => {
    if (error == null) {
        // successful identify
    }
});

Phát hiện ngưá»i dùng trên nhiá»u thiết bị

Khi SDK được kích hoạt, nó tá»± động Ä‘á»c các quyá»n hiện có cá»§a ngưá»i dùng từ StoreKit (iOS) hoặc Google Play Billing (Android) và đồng bá»™ chúng vá»›i backend cá»§a Adapty. Má»™t gói đăng ký Ä‘ang hoạt động sẽ xuất hiện trên hồ sÆ¡ ngưá»i dùng Adapty mà không cần ứng dụng gá»i restorePurchases.

Äiá»u không xảy ra tá»± động là nhận diện rằng má»™t hồ sÆ¡ ngưá»i dùng trên thiết bị má»›i thuá»™c vá» cùng má»™t ngưá»i dùng như hồ sÆ¡ trên thiết bị ban đầu. Adapty khá»›p các hồ sÆ¡ ngưá»i dùng theo Customer User ID, vì vậy tính liên tục danh tính phụ thuá»™c vào những gì bạn sá»­ dụng làm CUID.

Những gì Adapty có thể phát hiện trên nhiá»u thiết bị

Cài đặt của bạnAdapty phát hiện được gìBạn phải làm gì
Customer User ID = device_id (không đăng nhập ứng dụng)Thiết bị má»›i nhận được CUID khác và do đó có hồ sÆ¡ ngưá»i dùng khác. Gói đăng ký đồng bá»™ vá»›i hồ sÆ¡ ngưá»i dùng má»›i thông qua sá»± kiện Access level updated, nhưng subscription_started không kích hoạt — hồ sÆ¡ ngưá»i dùng má»›i được coi là ngưá»i kế thừa cá»§a giao dịch mua ban đầu. Các phân tích dá»±a trên subscription_started sẽ đếm thiếu những ngưá»i dùng quay lại.Sá»­ dụng ID tài khoản ổn định làm Customer User ID để ngưá»i dùng quay lại khá»›p vá»›i hồ sÆ¡ ngưá»i dùng hiện có trên các thiết bị.
Customer User ID = ID tài khoản ổn định (đăng nhập trên má»i thiết bị)SDK tá»± động đồng bá»™ gói đăng ký khi activate(), và identify() khá»›p hồ sÆ¡ ngưá»i dùng hiện có theo CUID.Không cần cài đặt thêm — cả danh tính lẫn gói đăng ký Ä‘á»u được xá»­ lý tá»± động.
Ngưá»i kế thừa Apple Family SharingThành viên gia đình nhận gói đăng ký thông qua sá»± kiện Access level updated — subscription_started không kích hoạt.Lắng nghe sá»± kiện Access level updated. Xem Apple Family Sharing để biết ma trận sá»± kiện đầy đủ.
Cùng tài khoản Apple/Google, ngưá»i dùng khác nhau trong ứng dụngHồ sÆ¡ ngưá»i dùng đầu tiên ghi lại giao dịch mua trở thành hồ sÆ¡ cha. Các hồ sÆ¡ ngưá»i dùng tiếp theo thấy gói đăng ký thông qua chuá»—i kế thừa, vá»›i má»™t sá»± kiện Access level updated.Yêu cầu đăng nhập, sau đó chá»n chế độ chia sẻ phù hợp vá»›i mô hình cá»§a bạn.

Khôi phục giao dịch mua trên thiết bị mới

Hiển thị nút “Khôi phục giao dịch mua†do ngưá»i dùng khởi tạo trên paywall cá»§a bạn. Apple App Review (hướng dẫn 3.1.1) yêu cầu có nút này, và nó đóng vai trò dá»± phòng khi quá trình đồng bá»™ tá»± động bá» sót má»™t trưá»ng hợp đặc biệt. Nút này nên gá»i restorePurchases trên SDK cá»§a bạn.

Không cần gá»i restorePurchases theo chương trình khi khởi chạy lần đầu trong Ä‘iá»u kiện sá»­ dụng bình thưá»ng — SDK đã thá»±c hiện tương đương khi activate(). Chỉ dùng các lệnh gá»i theo chương trình để buá»™c kiểm tra biên lai má»›i, ví dụ khi debug trưá»ng hợp mất quyá»n truy cập sau khi activate() đã hoàn thành.

  • Xá»­ lý lá»—i trong tích hợp
  • Adapty Paywall Builder (Legacy)
  • Ná»n tảng
    ÿÿÿÿ