-
Notifications
You must be signed in to change notification settings - Fork 0
api android
/ *
Tiêu đề: Tài liệu tham khảo về API Android
Mô tả:
Phân loại: 5
*/
Bài viết này ghi lại các lớp API cho các vùng chứa tên sau:
- [
UnityAds
](#unityads) - [
BannerView
](#bannerview) - [
UnityMonetization
](#unitymonetization) - [
UnityPurchasing
](#unitypurchasing)
Để xem hướng dẫn tích hợp toàn diện, nhấp vào đây.
Sử dụng vùng chứa tên này để triển khai nội dung quảng cáo cơ bản, chẳng hạn như quảng cáo video có tặng thưởng hoặc không tặng thưởng, quảng cáo xen kẽ hoặc quảng cáo banner.
import com.unity3d.ads.UnityAds;
Khởi tạo dịch vụ Unity Ads với ID Trò chơi được chỉ định và ở trạng thái chế độ thử nghiệm.
public static void initialize (final Activity activity,
final String gameId,
final IUnityAdsListener listener,
final boolean testMode,
final boolean enablePerPlacementLoad)
Tham số | Kiểu dữ liệu | Mô tả |
---|---|---|
activity |
Hoạt động | Hoạt động hiện tại của thiết bị Android đang gọi ứng dụng. |
gameId |
Chuỗi | [ID Trò chơi Unity] (https://unityads.unity3d.com/help/resources/dashboard-guide#game-ids)cho Dự án của bạn, nằm trong bảng điều khiển nhà phát triển. |
listener |
IUnityAdsListener |
Trình nghe cho các lệnh gọi lại [IUnityAdsListener ](#iunityadslistener). |
testMode |
boolean | Khi được đặt thànhtrue , chỉ hiển thị quảng cáo thử nghiệm. |
enablePerPlacementLoad |
boolean | Khi được đặt thànhtrue , tham số này cho phép bạn tải nội dung cho một Vị trí cụ thể trước khi hiển thị nội dung đó. Vui lòng xem lại tài liệu về phương thức tải trước khi bật cài đặt này. |
Bạn có thể kiểm tra trạng thái khởi tạo bằng hàm sau:
public static boolean isInitialized ()
Bạn có thể kiểm tra xem nền tảng hiện tại có được SDK hỗ trợ hay không bằng hàm sau:
public static boolean isSupported ()
Tải nội dung quảng cáo cho Vị trí được chỉ định, cho phép báo cáo yêu cầu thực hiện chính xác hơn, phù hợp với tiêu chuẩn của hầu hết các nhà cung cấp trung gian. Nếu bạn khởi tạo SDK khi enablePerPlacementLoad
đang được bật, bạn cần gọi load
trước khi gọishow
.
Lưu ý: API load
đang trong giai đoạn beta kín và chỉ khả dụng khi được mời. Nếu bạn muốn được xem xét chuyển sang sử dụng bản beta, vui lòng liên hệ Unity Ads.
public static void load (final String placementId) {
UnityAdsImplementation.load (placementId);
}
Hiển thị nội dung tại Vị trí được chỉ định nếu nội dung đó đã sẵn sàng.
public static void show (final Activity activity, final String placementId)
Tham số | Kiểu dữ liệu | Mô tả |
---|---|---|
activity |
Hoạt động | Hoạt động hiện tại của thiết bị Android đang gọi ứng dụng. |
placementId |
Chuỗi | ID Vị trí, nằm trong bảng điều khiển nhà phát triển. |
Bạn có thể kiểm tra xem một quảng cáo đã sẵn sàng hiển thị tại Vị trí được chỉ định hay chưa bằng lệnh gọi:
public static boolean isReady (String placementId)
Thêm một trình nghe đang hoạt động cho các lệnh gọi lại [IUnityAdsListener
](#iunityadslistener). SDK phiên bản 3.1+ cho phép bạn đăng ký nhiều trình nghe cùng lúc. Điều này đặc biệt hữu ích đối với các khách hàng trung gian.
public static void addListener (IUnityAdsListener listener)
Cho phép bạn xóa một trình nghe đang hoạt động.
public static void removeListener (IUnityAdsListener listener)
Đặt trình nghe hiện tại cho các lệnh gọi lạiIUnityAdsListener
. Sử dụng lệnh này nếu bạn chỉ sử dụng một trình nghe.
public static void getListener ()
Lưu ý: setListener
là phương thức không còn được dùng nữa. Unity đề xuất sử dụng [addListener
](#addlistener) để thay thế.
Truy xuất trình nghe hiện tại cho các lệnh gọi lại IUnityAdsListener
. Trả về trình nghe đầu tiên được thêm.
public static void getListener ()
Lưu ý: getListener
là phương thức không còn được dùng nữa.
Kiểm soát số lượng đầu ra bản ghi được xuất từ SDK. Đặt thành true
để tạo bản ghi mạnh hơn.
public static void setDebugMode (boolean debugMode)
Bạn có thể kiểm tra trạng thái hiện tại để tạo bản ghi gỡ lỗi từ SDK bằng lệnh gọi:
public static boolean getDebugMode ()
Một giao diện để xử lý các trạng thái khác nhau của một quảng cáo. Triển khai trình nghe này trong tập lệnh của bạn để xác định logic cho quảng cáo có tặng thưởng. Giao diện gồm có các phương thức sau:
public interface IUnityAdsListener {
void onUnityAdsReady (String placementId);
void onUnityAdsError (UnityAds.UnityAdsError error, String message);
void onUnityAdsStart (String placementId);
void onUnityAdsFinish (String placementId, UnityAds.FinishState result);
}
Lưu ý: Unity đề xuất triển khai tất cả các phương thức này trong mã lệnh của bạn, ngay cả khi bạn không sử dụng hết.
Phương thức giao diện | Mô tả |
---|---|
onUnityAdsReady |
Xử lý logic khi nội dung quảng cáo sẵn sàng hiển thị qua mộtVị trí được chỉ định. |
onUnityAdsStart |
Xử lý logic khi người chơi kích hoạt để phát một quảng cáo. |
OnUnityAdsFinish |
Xử lý logic khi kết thúc một quảng cáo. Xác định hành vi có điều kiện cho từng trạng thái kết thúc khác nhau bằng cách truy cập kết quảFinishState từ trình nghe (được ghi lại dưới đây). Ví dụ:void OnUnityAdsDidFinish (string placementId, ShowResult showResult) { |
onUnityAdsError |
Xử lý logic khi nội dung quảng cáo không hiển thị do lỗi. |
Các trạng thái tương tác của người dùng cuối với quảng cáo được liệt kê. SDK sẽ chuyển giá trị này đến lệnh gọi lại onUnityAdsFinish
sau khi quảng cáo hoàn tất.
enum UnityAds.FinishState
Giá trị | Mô tả |
---|---|
ERROR |
Cho biết quảng cáo không thể hoàn thành do lỗi của Unity. |
SKIPPED |
Cho biết người dùng đã bỏ qua quảng cáo. |
COMPLETED |
Cho biết người dùng đã xem hết quảng cáo. |
Các trạng thái Vị trícủa Unity Ads được liệt kê.
enum UnityEngine.Advertisements.PlacementState
Giá trị | Mô tả |
---|---|
READY |
Vị trí đã sẵn sàng để hiển thị quảng cáo. |
NOT_AVAILABLE |
Vị trí không khả dụng. |
DISABLED |
Vị trí đã bị tắt. |
WAITING |
Vị trí đang ở trạng thái chờ. |
NO_FILL |
Vị trí không có quảng cáo để hiển thị. |
Truy xuất giá trịPlacementState
bằng hàm sau:
public static PlacementState getPlacementState (String placementId)
Các nguyên nhân là lỗi của Unity Ads được liệt kê.
Giá trị | Mô tả |
---|---|
NOT_INITIALIZED |
Dịch vụ Unity Ads hiện chưa được khởi tạo. |
kINITIALIZE_FAILED |
Lỗi xảy ra trong quá trình khởi tạo. |
INVALID_ARGUMENT |
Khởi tạo Unity Ads thất bại do tham số không hợp lệ. |
VIDEO_PLAYER_ERROR |
Lỗi xảy ra do trình phát video bị hỏng. |
INIT_SANITY_CHECK_FAIL |
Khởi tạo dịch vụ Unity Ads thất bại do môi trường không hợp lệ. |
AD_BLOCKER_DETECTED |
Lỗi xảy ra do trình chặn quảng cáo. |
FILE_IO_ERROR |
Lỗi xảy ra do không thể đọc hoặc ghi tệp. |
DEVICE_ID_ERROR |
Lỗi xảy ra do mã định danh thiết bị không đúng. |
SHOW_ERROR |
Lỗi xảy ra khi cố gắng hiển thị quảng cáo. |
INTERNAL_ERROR |
Dịch vụ Unity Ads xảy ra lỗi nội bộ. |
Sử dụng vùng chứa tên này để triển khai quảng cáo banner. Unity Ads phiên bản 3.3 trở lên hỗ trợ nhiều thực thể banner thông qua một Vị trí duy nhất.
Khối mã lệnh được sử dụng để khởi tạo đối tượng banner bằng cách dùng ID Vị trí và kích thước banner. Lưu ý rằng đối tượng banner truy cập các sự kiện vòng đời thông qua [giao diện IListener
](#ilistener) của nó.
public BannerView(Context context, String placementId, BannerSize size)
Tham số | Kiểu | Mô tả |
---|---|---|
placementId |
Chuỗi | [ID Vị trí] (http://unityads.unity3d.com/help/monetization/placements#placement-settings)của banner (nằm trong bảng điều khiển nhà phát triển). |
size |
[BannerSize ](#bannersize) |
Kích thước của đối tượng banner. Kích thước tối thiểu được hỗ trợ là 320 pixel x 50 pixel. |
Lưu ý: Sử dụng BannerView
để gọi quảng cáo banner sẽ tải nội dung một lần mà không cần không làm mới. Nếu banner trả về kết quả trống, bạn có thể hủy nó và tạo banner mới để thử lại. Unity đề xuất phương thức này cho các đối tác trung gian.
Trả về ID Vị trí được gọi trong thực thể banner.
public String getPlacementId();
Trả về kích thước của banner.
public BannerSize getSize();
Đặt trình nghe đang hoạt động cho banner.
public void setListener(IListener listener);
Truy xuất trình nghe đang hoạt động cho banner.
public IListener getListener();
Phương thức cơ bản để yêu cầu quảng cáo cho banner.
public void load();
Đặt lệnh gọi phương thức này để xóa banner khỏi hệ thống phân cấp khung nhìn khi bạn không sử dụng nó nữa.
public void destroy();
Giao diện BannerView
cấp quyền truy cập vào các sự kiện vòng đời của banner.
public interface IListener {
void onBannerLoaded(BannerView bannerAdView);
void onBannerClick(BannerView bannerAdView);
void onBannerFailedToLoad(BannerView bannerAdView, BannerErrorInfo errorInfo);
void onBannerLeftApplication(BannerView bannerView);
}
Phương thức giao diện | Mô tả |
---|---|
onBannerLoaded |
Được gọi khi banner tải xong một quảng cáo. Tham số khung nhìn sẽ tham chiếu banner cần được chèn vào hệ thống phân cấp khung nhìn. |
onBannerClick |
Được gọi khi banner được nhấp vào. |
onBannerError |
Được gọi khi xảy ra lỗi hiển thị banner. |
onBannerLeftApplication |
Được gọi khi banner liên kết ra ngoài ứng dụng. |
Ngoài ra, bạn có thể triển khai các phương thức ghi đè sau:
public static abstract class Listener implements IListener {
@Override
public void onBannerLoaded(BannerView bannerAdView) {
}
@Override
public void onBannerFailedToLoad(BannerView bannerAdView, BannerErrorInfo errorInfo) {
}
@Override
public void onBannerClick(BannerView bannerAdView) {
}
@Override
public void onBannerLeftApplication(BannerView bannerAdView) {
}
}
Xác định chiều cao và chiều rộng của một đối tượng banner. Unity phân phối nội dung phù hợp nhất với kích thước được cung cấp. Kích thước tối thiểu được hỗ trợ là 320 pixel x 50 pixel.
public class UnityBannerSize {
private int width;
private int height;
public BannerSize(int width, int height) {
this.width = width;
this.height = height;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
}
Đối tượng để trả về một đoạn mã lỗi và thông báo.
public class BannerErrorInfo {
public BannerErrorCode errorCode;
public String errorMessage;
public BannerErrorInfo (String errorMessage, BannerErrorCode errorCode) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
}
Kiểu liệt kê biểu thị loại lỗi gặp phải trong vòng đời banner.
public enum BannerErrorCode {
UNKNOWN,
NATIVE_ERROR,
WEBVIEW_ERROR,
NO_FILL
}
Sử dụng vùng chứa tên này để triển khai quảng cáo ban.
import com.unity3d.services.banners.UnityBanners;
Phương thức cơ bản để yêu cầu quảng cáo cho banner.
public static void loadBanner (final Activity activity, final String placementId)
Đặt lệnh gọi phương thức này để xóa banner khỏi hệ thống phân cấp khung nhìn khi bạn không sử dụng nó nữa.
public static void destroy ()
Đặt vị trí cho quảng cáo banner, sử dụng kiểu liệt kê [BannerPosition
](#bannerposition).
public static void setBannerPosition (BannerPosition position)
Triển khai giao diện này để xử lý các trạng thái banner khác nhau. Trình nghe bao gồm các phương thức sau:
public interface IUnityBannerListener {
void onUnityBannerLoaded (String placementId, View view);
void onUnityBannerUnloaded (String placementId);
void onUnityBannerShow (String placementId);
void onUnityBannerClick (String placementId);
void onUnityBannerHide (String placementId);
void onUnityBannerError (String message);
}
Lưu ý: Unity đề xuất triển khai tất cả các phương thức này trong mã lệnh của bạn, ngay cả khi bạn không sử dụng hết.
Phương thức giao diện | Mô tả |
---|---|
onUnityBannerLoaded |
Được gọi khi banner Unity tải xong một quảng cáo. Tham số khung nhìn sẽ tham chiếu banner cần được chèn vào hệ thống phân cấp khung nhìn. |
onUnityBannerUnloaded |
Được gọi khi nội dung quảng cáo được gỡ khỏi banner và các tham chiếu đến khung nhìn của banner này cũng sẽ bị xóa. |
onUnityBannerShow |
Được gọi khi banner Unity được hiển thị lần đầu tiên và người dùng có thể xem. |
onUnityBannerClick |
Được gọi khi banner Unity được nhấp vào. |
onUnityBannerHide |
Được gọi khi banner Unity bị ẩn. |
onUnityBannerError |
Được gọi khi xảy ra lỗi hiển thị banner. |
Các vị trí được liệt kê mà bạn có thể đặt làm điểm neo cho quảng cáo banner.
public enum BannerPosition {
TOP_LEFT,
TOP_CENTER,
TOP_RIGHT,
BOTTOM_LEFT,
BOTTOM_CENTER,
BOTTOM_RIGHT,
CENTER
}
Sử dụng vùng chứa tên này để [ triển khai quảng cáo] (https://unityads.unity3d.com/help/android/integration-guide-android#integration-for-personalized-placements) để sử dụng vớiVị trí Cá nhân hóa.
import com.unity3d.services.monetization.UnityMonetization;
Khởi tạo Unity Ads trong trò chơi của bạn vào thời gian chạy. Để tránh phát sinh lỗi, quá trình khởi tạo phải diễn ra sớm trong vòng đời thời gian vận hành của trò chơi, tốt nhất là vào lúc khởi động. Quá trình khởi tạo phải diễn ra trước khi hiển thị quảng cáo.
public static void initialize (Activity activity,
String gameId,
IUnityMonetizationListener listener,
boolean testMode);
Tham sốactivity
là Hoạt động Android hiện tại. Tham sốgameID
là ID Trò chơi cho Dự án của bạn được tìm thấy trong bảng điều khiển nhà phát triển. Tham sốlistener
là trình nghe cho các lệnh gọi lạiIUnityMonetizationListener
(được ghi lại dưới đây). Tham sốtestMode
cho biết trò chơi có đang ở chế độ thử nghiệm hay không. KhitestMode
làtrue
, bạn sẽ chỉ nhìn thấy các quảng cáo thử nghiệm. KhitestMode
làfalse
bạn sẽ thấy các quảng cáo trực tiếp. Sử dụng chế độ thử nghiệm trước khi khởi chạy trò chơi của bạn là điều quan trọng cần nhớ để tránh bị gắn cờ gian lận.
Bạn có thể kiểm tra xem dịch vụ đã được khởi tạo hay chưa bằng lệnh gọi:
Kiểm tra xem đối tượngPlacementContent
sẵn sàng cho Vị trí xác định chưa. Trả về true
nếu nội dung đã sẵn sàng và false
nếu chưa sẵn sàng.
public static boolean isInitialized ();
Kiểm tra xem đối tượng [PlacementContent
](#placementcontent) sẵn sàng cho Vị trí xác định chưa. Trả về true
nếu nội dung đã sẵn sàng và false
nếu chưa sẵn sàng.
public static boolean isReady (String placementId);
Đặt trình nghe IUnityMonetizationListener
cho các sự kiện gọi lạiPlacementContent
.
public static void setListener (IUnityMonetizationListener listener);
Trả về trình ngheIUnityMonetizationListener
hiện tại cho các sự kiện gọi lạiPlacementContent
.
public static IUnityMonetizationListener getListener ();
Giao diện để xử lý các trạng thái khác nhau của đối tượng [PlacementContent
](#placementcontent). Giao diện gồm có các phương thức sau:
public interface IUnityMonetizationListener extends IUnityServicesListener {
void onPlacementContentReady (String placementId,
PlacementContent placementcontent);
void onPlacementContentStateChange (String placementId,
PlacementContent placementcontent,
UnityMonetization.PlacementContentState previousState,
UnityMonetization.PlacementContentState newState);
}
Lưu ý: Unity đề xuất triển khai tất cả các phương thức này trong mã lệnh của bạn, ngay cả khi bạn không sử dụng hết.
Phương thức giao diện | Mô tả |
---|---|
onPlacementContentReady |
Hàm này thông báo cho bạn biết rằng đối tượngPlacementContent đã sẵn sàng hiển thị lên Vị trí xác định. |
onPlacementContentChanged |
Hàm này thông báo cho bạn khi trạng thái của đối tượngPlacementContent sẵn sàng đã thay đổi do làm mới. |
Ví dụ về triển khaiIUnityMonetizationListener
:
private class UnityMonetizationListener implements IUnityMonetizationListener {
@Override
public void onPlacementContentReady (String placementId, PlacementContent placementContent) {
// Check the Placement ID to determine behavior
switch (placementId) {
case "mixedPlacement":
if (placementContent instanceof PromoAdPlacementContent) {
PromoAdPlacementContent promoPlacementContent = ((PromoAdPlacementContent) placementContent)
// Promo content is ready, prepare Promo display
} else if (placementContent instanceof ShowAdPlacementContent) {
ShowAdPlacementContent adPlacementContent = ((ShowAdPlacementContent) placementContent);
// Ad content is ready, prepare video ad display
}
break;
case "rewardedVideo":
if (placementContent instanceof ShowAdPlacementContent) {
ShowAdPlacementContent adPlacementContent = ((ShowAdPlacementContent) placementContent);
if (adPlacementContent.isRewarded ()) {
// Rewarded content is ready, prepare content for display and implement reward handlers
}
}
break;
}
}
@Override
public void onPlacementContentStateChange (String placementId, PlacementContent placementContent, UnityMonetization.PlacementContentState previousState, UnityMonetization.PlacementContentState newState) {
}
}
Triển khai giao diện này cho các đối tượng [ShowAdPlacementContent
](#showadplacementcontent). Giao diện gồm có các phương thức sau:
Phương thức giao diện | Mô tả |
---|---|
void onAdStarted (String placementId); |
Được gọi khi quảng cáo video bắt đầu. |
void onAdFinished(String placementId, UnityAds.FinishState withState); |
Được gọi khi quảng cáo video kết thúc. Sử dụng phương thức gọi lại này để đánh giá [FinishState ](#finishstate) của quảng cáo và có hành động phù hợp. |
Lớp đại diện cho nội dung kiếm tiền mà Vị trícủa bạn có thể hiển thị.
Các phương thức liên kết:
Phương thức | Mô tả |
---|---|
public static PlacementContent getPlacementContent (String placementId); |
Trả về đối tượngPlacementContent đã sẵn sàng cho Vị trí xác định. Trả về null nếu chưa có nội dung nào sẵn sàng. |
public static <T extends PlacementContent> T getPlacementContent (String placementId, Class<T> asClass); |
Mở rộng hàm getPlacementContent để truyền PlacementContent được trả về dưới dạng một kiểu dữ liệu cụ thể. Tham sốasClass đại diện cho kiểu dữ liệu bạn muốn truyền tới. Nếu nội dung trả về thuộc kiểu dữ liệu khác, null được trả về. |
public boolean isReady (); |
Hàm này trả về true nếu đối tượngPlacementContent đã sẵn sàng hiển thị và false nếu đối tượng chưa sẵn sàng. |
public String getType (); |
Hàm này trả về kiểu dữ liệu của PlacementContent có sẵn để hiển thị. Các giá trị chuỗi sau đây là hợp lệ:
|
Mở rộng lớpPlacementContent
với chức năng hỗ trợ nội dung có tặng thưởng.
Các phương thức liên kết:
Phương thức | Mô tả |
---|---|
public boolean isRewarded (); |
Hàm này trả về true nếu PlacementContent có tặng thưởng và false nếu không tặng thưởng. |
Mở rộng lớpRewardablePlacementContent
với chức năng hỗ trợ nội dung quảng cáo video.
Các phương thức liên kết:
Phương thức | Mô tả |
---|---|
public void show (Activity activity, IShowAdListener listener); |
Hàm này hiển thị ShowAdPlacementContent có sẵn. Triển khai giao diệnIShowAdListener để xác định cách hàm này phản hồi với mỗi [FinishState ](#finishstate) của quảng cáo. |
Mở rộng lớpShowAdPlacementContent
, cung cấp chức năng cho nội dung Khuyến mãi Mua hàng Trong Ứng dụng . Để biết thêm thông tin, hãy tham khảo tài liệu về Khuyến mãi Bản địa.
Các trạng tháiVị trí được liệt kê.
Giá trị | Mô tả |
---|---|
READY |
PlacementContent khả dụng để show . |
NOT_AVAILABLE |
PlacementContentState không khả dụng. SDK không được khởi tạo đúng cách hoặc Vị trí tương ứng không được cấu hình để hiển thị nội dung kiếm tiền. |
DISABLED |
Vị trí được chỉ định đã bị tắt. Bạn có thể bật Vị trí thông qua bảng điều khiển nhà phát triển. |
WAITING |
Vị trí hiện tại chưa sẵn sàng, nhưng sẽ sẵn sàng trong tương lai. Điều này có thể xuất phát từ bộ nhớ đệm. |
NO_FILL |
Vị trí được cấu hình đúng cách, nhưng hiện không có quảng cáo nào để hiển thị. |
Kiểu liệt kê đại diện cho trạng thái cuối cùng của một quảng cáo khi quảng cáo đó kết thúc. Dùng để xử lý các trường hợp có tặng thưởng.
Giá trị | Mô tả |
---|---|
COMPLETED |
Người chơi đã xem toàn bộ quảng cáo. |
SKIPPED |
Người chơi đã bỏ qua quảng cáo trước khi quảng cáo chạy xong. |
ERROR |
Không thể tải quảng cáo. |
Lớp này quản lý việcmua bộ điều hợp, là giao diện để SDK truy xuất thông tin nó cần từ việc triển khai Mua hàng Trong Ứng dụng tùy chỉnh của bạn.
public class UnityPurchasing {
public static void setAdapter (IPurchasingAdapter adapter);
public static IPurchasingAdapter getAdapter ();
}
Giao diện để triển khai giải pháp mua hàng tùy chỉnh tương thích với Khuyến mãi Mua hàng Trong Ứng dụng.
public interface IPurchasingAdapter {
void retrieveProducts (IRetrieveProductsListener listener);
void onPurchase (String productID, ITransactionListener listener, Map<String, Object> extras);
}
Phương thức giao diện | Mô tả |
---|---|
void retrieveProducts (IRetrieveProductsListener listener); |
SDK gọi hàm này để truy xuất danh sách các Sản phẩm có sẵn. Sử dụng giao diện [IRetrieveProductsListener ](#iretrieveproductslistener) để đăng ký danh sách Sản phẩm của bạn. |
void onPurchase (String productID, ITransactionListener listener, Map<String, Object> extras); |
SDK gọi hàm này khi người dùng nhấp vào nút mua hàng để mua nội dung khuyến mãi. Sử dụng giao diện [ITransactionListener ](#itransactionlistener) để nghe kết quả giao dịch. Unity chuyển ID của Sản phẩm đã được mua đến hệ thống mua hàng trong ứng dụng của bạn. Kết quả xử lý mua hàng thành công hay thất bại phụ thuộc vào việc triển khai mua hàng trong ứng dụng của bạn. |
Ví dụ về hàmretrieveProducts
được triển khai:
@Override
public void retrieveProducts (IRetrieveProductsListener listener) {
listener.onProductsRetrieved (Arrays.asList (Product.newBuilder ()
.withProductId ("100BronzeCoins")
.withLocalizedTitle ("100 Bronze Coins")
.withLocalizedPriceString ("$1.99")
.withLocalizedPrice (1.99)
.withIsoCurrencyCode ("USD")
.withLocalizedDescription ("100 Bronze Coins at a new low price!")
.withProductType ("Consumable")
.build ()));
}
Ví dụ về hàmonPurchase
được triển khai:
@Override
public void onPurchase (String productID, ITransactionListener listener, Map<String, Object> extras) {
thirdPartyPurchasing.purchase (productId); // Generic developer purchasing function
// If purchase succeeds:
listener.onTransactionComplete (TransactionDetails.newBuilder ()
.withProductId ("100BronzeCoins")
.withTransactionId ("ABCDEFG")
.withReceipt ("receipt":"{"data": "{"Store": "fake", "TransactionID": "ce7bb1ca-bd34-4ffb-bdee-83d2784336d8", "Payload": "{ \\"this\\": \\"is a fake receipt\\"}"}"}")
.withPrice (1.99)
.withIsoCurrency ("USD")
.build());
// If purchase fails:
listener.onTransactionError (TransactionError.NETWORK_ERROR, "No Network Connection");
}
Đăng ký các sản phẩm Mua hàng Trong Ứng dụng của bạn với SDK. Việc triển khai của bạn phải chuyển đổi các sản phẩm Mua hàng Trong Ứng dụng thành các đối tượng [UnityMonetization.Product
](#product). Điều này đòi hỏi mỗi Sản phẩm phải có tối thiểu các thuộc tính sau đây:
productID
localizedPriceString
productType
isoCurrencyCode
-
localizedTitle
.
public interface IRetrieveProductsListener {
void onProductsRetrieved (List<Product> availableProducts);
}
Giao diện chuyển kết quả giao dịch về hệ thống mua hàng của bạn, dưới dạng đối tượng[TransactionDetails
](#transactiondetails) hoặcTransactionErrorDetails
.
Phương thức giao diện | Mô tả |
---|---|
void onTransactionComplete (TransactionDetails details); |
Logic trò chơi tùy chỉnh của bạn để xử lý một giao dịch thành công. Hàm nhận một đối tượng [TransactionDetails ](#transactiondetails), đối tượng này nêu rõ các chi tiết cụ thể của giao dịch. |
void onTransactionError (TransactionErrorDetails details); |
Logic trò chơi tùy chỉnh của bạn để xử lý một giao dịch không thành công. Hàm nhận một đối tượng [TransactionError ](#transactionerror), đối tượng này xác định nguyên nhân dẫn đến giao dịch thất bại. |
Giao diện này cung cấp các phương thức truy cập để xử lý việc tương tác của người dùng với nội dung khuyến mãi. Hãy sử dụng các phương thức này để chuyển nội dung tùy chỉnh của bạn vào và xác định hành vi mong đợi. Chuyển đối tượng [PromoAdPlacementContent
](#promoadplacementcontent) thông qua hàm NativePromoAdapter
để tạo bộ điều hợp mới. Ví dụ:
final NativePromoAdapter nativePromoAdapter = new NativePromoAdapter (placementContent);
Triển khai lệnh ủy quyền này bằng các phương thức sau:
Phương thức ủy quyền | Mô tả |
---|---|
public void onShown (NativePromoShowType type); |
Gọi hàm này khi chương trình Khuyến mãi được hiển thị. Hàm phải bao gồm phương thức tùy chỉnh của bạn để hiển thị nội dung khuyến mãi. Bạn có thể chuyển giá trị kiểu liệt kê [NativePromoShowType ](#nativepromoshowtype) để tham chiếu kiểu xem trước của nội dung Khuyến mãi. |
public void onClosed (); |
Gọi hàm này khi người chơi bỏ qua chương trình Khuyến mãi. |
public void onClicked () |
Gọi hàm này khi người chơi nhấp vào nút để mua Sản phẩm. Hành động này khởi tạo quy trình mua hàng. |
Mở rộng lớp [ShowAdPlacementContent
](#showadplacementcontent), cung cấp chức năng cho nội dung Khuyến mãi Mua hàng Trong Ứng dụng. Lớp này gồm có các thuộc tính sau:
Thuộc tính | Mô tả |
---|---|
PromoMetaData |
Chứa thông tin dành cho đối tượng PromoAdPlacementContent được chuyển thông qua bộ điều hợp. |
Sản phẩm Mua hàng Trong Ứng dụng được chuyển đổi thành đối tượng mà SDK có thể sử dụng để tối ưu hóa việc kiếm tiền.
Đặt các trường sau lên trình tạo bằng cách sử dụng phương thứcpublic static Builder newBuilder()
, sau đó là phương thứcpublic Product build()
để xây dựng đối tượng Sản phẩm cuối cùng.
Phương thức trình tạo | Kiểu tham số | Mô tả |
---|---|---|
withProductId |
String |
ID tham chiếu nội bộ cho Sản phẩm. |
withLocalizedTitle |
String |
Tên Sản phẩm hiển thị đến người tiêu dùng, cho mục đích lưu trữ Giao diện Người dùng. |
withLocalizedPriceString |
String |
Chuỗi giá hiển thị đến người tiêu dùng, bao gồm cả ký hiệu tiền tệ, cho mục đích lưu trữ Giao diện Người dùng. |
withLocalizedPrice |
Double |
Giá trị hệ thống nội bộ dành cho việc định giá Sản phẩm. |
withIsoCurrencyCode |
String |
[Mã ISO] (https://en.wikipedia.org/wiki/ISO_4217)cho đơn vị tiền tệ được bản địa hóa của Sản phẩm. |
withLocalizedDescription |
String |
Mô tả Sản phẩm hiển thị đến người tiêu dùng, cho mục đích lưu trữ Giao diện Người dùng. |
withProductType |
String |
Unity hỗ trợ các Loại Sản phẩm "Tiêu hao" , "Không tiêu hao" và "Gói đăng ký". |
Sử dụng các hàm sau để truy xuất thuộc tính Sản phẩm:
Phương thức | Mô tả |
---|---|
public String getProductId (); |
Truy xuất ID Sản phẩm. |
public String getLocalizedTitle (); |
Truy xuất tiêu đề Sản phẩm được bản địa hóa. |
public String getLocalizedPriceString (); |
Truy xuất chuỗi giá Sản phẩm được bản địa hóa. |
public double getLocalizedPrice (); |
Truy xuất giá trị giá Sản phẩm được bản địa hóa. |
public String getIsoCurrencyCode (); |
Truy xuất mã đơn vị tiền tệ của Giá sản phẩm. |
public String getLocalizedDescription (); |
Truy xuất mô tả Sản phẩm được bản địa hóa. |
public String getProductType (); |
Truy xuất loại Sản phẩm. |
Để biết thêm chi tiết về thuộc tính Sản phẩm, tham khảo tài liệu về Xác định Sản phẩm.
Biên nhận giao dịch Mua hàng Trong Ứng dụng được chuyển đổi thành một đối tượng mà SDK có thể sử dụng để tối ưu hóa việc kiếm tiền.
Đặt các trường sau lên trình tạo bằng cách sử dụng phương thứcpublic static Builder newBuilder ()
, sau đó là phương thứcpublic TransactionDetails build ()
để xây dựng đối tượng Sản phẩm cuối cùng.
Phương thức trình tạo | Kiểu tham số | Mô tả |
---|---|---|
withProductId |
String |
ID tham chiếu nội bộ cho Sản phẩm. |
withTransactionId |
String |
ID tham chiếu nội bộ cho giao dịch. |
withReceipt |
String |
Các trường JSON từ [INAPP_PURCHASE_DATA ](https://developer.android.com/google/play/billing/billing_reference) mô tả chi tiết giao dịch. Mã hóa biên nhận dưới dạng đối tượng JSON chứa Cửa hàng, ID Giao dịch và Tải trọng. |
withPrice |
BigDecimal |
Giá trị hệ thống nội bộ dành cho việc định giá Sản phẩm. |
withIsoCurrency |
String |
[Mã ISO] (https://en.wikipedia.org/wiki/ISO_4217)cho đơn vị tiền tệ được bản địa hóa của Sản phẩm. |
Sử dụng các hàm sau để truy xuất thuộc tính Sản phẩm:
public String getProductId ();
public String getTransactionId ();
public String getReceipt ();
public BigDecimal getPrice ();
public String getCurrency ();
Các lý do dẫn đến giao dịch thất bại được liệt kê.
public enum TransactionError {
ITEM_UNAVAILABLE
NETWORK_ERROR
NOT_SUPPORTED
SERVER_ERROR
UNKNOWN_ERROR
USER_CANCELLED
}
Các kiểu hiển thị nội dung Khuyến mãi Bản địađược liệt kê.
Giá trị | Mô tả |
---|---|
FULL |
Cho thấy khung nhìn khuyến mãi đầy đủ. |
PREVIEW |
Cho thấy khung nhìn thu nhỏ có thể mở rộng thể hiển thị toàn bộ chương trình Khuyến mãi. |