Skip to content

api android

Yasuyuki Kamata edited this page Apr 9, 2021 · 1 revision

/ *
Tiêu đề: Tài liệu tham khảo về API Android Mô tả:
Phân loại: 5 */

Tổng quan

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.

UnityAds

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;

Phương thức

initialize

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 ()

load

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);
}

show

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)

addListener

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) 

removeListener

Cho phép bạn xóa một trình nghe đang hoạt động.

public static void removeListener (IUnityAdsListener listener) 

setListener

Đặ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ế.

getListener

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.

setDebugMode

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 ()

Giao diện

IUnityAdsListener

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ảFinishStatetừ trình nghe (được ghi lại dưới đây). Ví dụ:

void OnUnityAdsDidFinish (string placementId, ShowResult showResult) {
if (showResult == ShowResult.Finished) {
// Thưởng cho người dùng vì đã xem hết quảng cáo.
  } else if (showResult == ShowResult.Skipped) {
// Không thưởng cho người dùng vì bỏ qua quảng cáo.
  } else if (showResult == ShowResult.Failed) {
Debug.LogWarning (“Quảng cáo không kết thúc do lỗi.) ;
}
}
onUnityAdsError Xử lý logic khi nội dung quảng cáo không hiển thị do lỗi.

Kiểu liệt kê

FinishState

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 onUnityAdsFinishsau 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.

PlacementState

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ịPlacementStatebằng hàm sau:

public static PlacementState getPlacementState (String placementId)

UnityAdsError

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ộ.

BannerView

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.

Phương thức

BannerView

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.

getPlacementId

Trả về ID Vị trí được gọi trong thực thể banner.

public String getPlacementId();

getSize

Trả về kích thước của banner.

public BannerSize getSize();

setListener

Đặt trình nghe đang hoạt động cho banner.

public void setListener(IListener listener);

getListener

Truy xuất trình nghe đang hoạt động cho banner.

public IListener getListener();

load

Phương thức cơ bản để yêu cầu quảng cáo cho banner.

public void load();

destroy

Đặ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

IListener

Giao diện BannerViewcấ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) {
    }
}

Lớp

BannerSize

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;
    }
}

BannerErrorInfo

Đố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;
    }
}

BannerErrorCode

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
}

UnityBanners (không dùng nữa)

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

loadBanner (không dùng nữa)

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)

destroy (không dùng nữa)

Đặ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 ()

setBannerPosition (không dùng nữa)

Đặ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)

Giao diện

IUnityBannerListener (không dùng nữa)

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.

Kiểu liệt kê

BannerPosition (không dùng nữa)

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
}

UnityMonetization

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;

Phương thức

initialize

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ốactivitylà Hoạt động Android hiện tại. Tham sốgameIDlà 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ốlistenerlà trình nghe cho các lệnh gọi lạiIUnityMonetizationListener(được ghi lại dưới đây). Tham sốtestModecho biết trò chơi có đang ở chế độ thử nghiệm hay không. KhitestModetrue, bạn sẽ chỉ nhìn thấy các quảng cáo thử nghiệm. KhitestModefalse 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ượngPlacementContentsẵn sàng cho Vị trí xác định chưa. Trả về truenếu nội dung đã sẵn sàng và falsenếu chưa sẵn sàng.

public static boolean isInitialized ();

isReady

Kiểm tra xem đối tượng [PlacementContent](#placementcontent) sẵn sàng cho Vị trí xác định chưa. Trả về truenếu nội dung đã sẵn sàng và falsenếu chưa sẵn sàng.

public static boolean isReady (String placementId);

setListener

Đặt trình nghe IUnityMonetizationListenercho các sự kiện gọi lạiPlacementContent.

public static void setListener (IUnityMonetizationListener listener);

getListener

Trả về trình ngheIUnityMonetizationListenerhiện tại cho các sự kiện gọi lạiPlacementContent.

public static IUnityMonetizationListener getListener ();

Giao diện

IUnityMonetizationListener

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ượngPlacementContentsẵ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) {
    }
}

IShowAdListener

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

PlacementContent

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ề nullnế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ề truenếu đối tượngPlacementContentđã sẵn sàng hiển thị và falsenế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 PlacementContentcó sẵn để hiển thị. Các giá trị chuỗi sau đây là hợp lệ:

  • SHOW_ADđề cập đến nội dung quảng cáo video sử dụng tiện ích mở rộng lShowAdPlacementContentớp [](#showadplacementcontent).
  • PROMO_ADđề cập đến nội dung Khuyến mãi Mua hàng Trong Ứng dụng, sử dụng tiện ích mở rộng lớp[PromoAdPlacementContent](#promoadplacementcontent).
  • NO_FILLđề cập đến việc thiếuPlacementContentcó sẵn cho Vị trí được chỉ định.

RewardablePlacementContent

Mở rộng lớpPlacementContentvớ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ề truenếu PlacementContent có tặng thưởng và falsenếu không tặng thưởng.

ShowAdPlacementContent

Mở rộng lớpRewardablePlacementContentvớ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.

PromoAdPlacementContent

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.

Kiểu liệt kê

PlacementContentState

Các trạng tháiVị trí được liệt kê.

Giá trị Mô tả
READY PlacementContentkhả dụng để show.
NOT_AVAILABLE PlacementContentStatekhô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ị.

FinishState

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.

UnityPurchasing

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

IPurchasingAdapter

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");
}

IRetrieveProductsListener

Đă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);
}

ITransactionListener

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.

NativePromoAdapter

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.

Lớp

PromoAdPlacementContent

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.

Product

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""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.

TransactionDetails

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 ();

Kiểu liệt kê

TransactionError

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
}

NativePromoShowType

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.
Clone this wiki locally