Share Button
Trong Ứng Dụng Billing Phiên Bản 3
09
September
2013

Billing  trong ứng dụng đã đi một chặng đường dài kể từ khi được công bố lần đầu trên Google Play (sau đó Android Market).Một năm rưỡi sau đó, đại đa số các ứng dụng hàng đầu có doanh thu trên Google Play sử dụng Billing  trong ứng dụng và hàng ngàn nhà phát triển kiếm tiền từ các ứng dụng thông qua thử-và-mua, hàng hóa ảo, cũng như đăng ký. Billing  trong ứng dụng đang mở rộng một lần nữa, làm cho nó mạnh mẽ hơn và linh hoạt để bạn có thể tiếp tục xây dựng các ứng dụng thành công. Phiên bản 3 giới thiệu các tính năng mới sau đây:

Một thiết kế cải tiến mà làm cho các ứng dụng đơn giản để viết, gỡ lỗi và duy trì. Tích hợp với yêu cầu trước đây vài trăm dòng mã có thể được thực hiện trong vài như là 50.
Kiến trúc trở nên mạnh mẽ dẫn đến mất ít giao dịch.
Bộ nhớ đệm địa phương cho các cuộc gọi API nhanh hơn.
Chức năng dài chờ đợi như khả năng tiêu thụ quản lý mua hàng và truy vấn thông tin sản phẩm.

Billing  trong ứng dụng phiên bản 3 hiện đã có và cho phép bạn bán cả các mặt hàng trong ứng dụng và (kể từ tháng Hai năm 2013) đăng ký, trong đó có đăng ký với thử nghiệm miễn phí. Nó được hỗ trợ bởi Android 2.2 + thiết bị chạy phiên bản mới nhất của Google Play Store (trên 90% thiết bị hoạt động).

Thay vì bốn thành phần ứng dụng khác nhau theo yêu cầu của cơ cấu không đồng bộ của các phiên bản trước, phiên bản mới của các API cho phép các nhà phát triển để thực hiện các yêu cầu đồng bộ và xử lý các phản hồi trực tiếp từ bên trong một lần duy nhất, tất cả đều được thực hiện chỉ với một vài dòng mã. Chi phí thực hiện giảm làm cho một cơ hội lớn cho các nhà phát triển đang thực hiện các giải pháp Billing  trong ứng dụng mới.

Dễ dàng hơn để thực hiện

Trung tâm đào tạo khóa hoc lap trinh di dong tai da nang thấy rằng, trái ngược với mô hình trước đó thông báo không đồng bộ thông qua một dịch vụ nền, các API mới bây giờ đồng bộ và báo cáo kết quả của một sự mua hàng ngay lập tức cho các ứng dụng. Điều này giúp loại bỏ sự cần thiết phải tích hợp việc xử lý kết quả mua không đồng bộ vào vòng đời của ứng dụng, mà đơn giản hóa đáng kể các mã mà một nhà phát triển phải viết để bán một mặt hàng trong ứng dụng. Để khởi động mua hàng, chỉ đơn giản là có được một ý định mua từ các API và bắt đầu nó:

Bundle bundle = mService.getBuyIntent(3, "com.example.myapp",
    MY_SKU, ITEM_TYPE_INAPP, developerPayload);

PendingIntent pendingIntent = bundle.getParcelable(RESPONSE_BUY_INTENT);
if (bundle.getInt(RESPONSE_CODE) == BILLING_RESPONSE_RESULT_OK) {
    // Start purchase flow (this brings up the Google Play UI).
    // Result will be delivered through onActivityResult().
    startIntentSenderForResult(pendingIntent, RC_BUY, new Intent(),
        Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
}
Sau đó, xử lý kết quả mua mà được phân phối tới onActivityResult () phương pháp Hoạt động của bạn:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == RC_BUY) {
        int responseCode = data.getIntExtra(RESPONSE_CODE);
        String purchaseData = data.getStringExtra(RESPONSE_INAPP_PURCHASE_DATA);
        String signature = data.getStringExtra(RESPONSE_INAPP_SIGNATURE);

        // handle purchase here (for a permanent item like a premium upgrade,
        // this means dispensing the benefits of the upgrade; for a consumable
        // item like "X gold coins", typically the application would initiate
        // consumption of the purchase here)
    }
}
Ngoài ra, khác với các phiên bản trước, tất cả mua hàng đang được quản lý bởi Google Play, có nghĩa là quyền sở hữu của một mặt hàng cụ thể có thể được truy vấn bất cứ lúc nào. Để thực hiện các cơ chế tương tự như các mặt hàng không được quản lý, các ứng dụng có thể tiêu thụ các mặt hàng ngay lập tức khi mua và cung cấp những lợi ích của sản phẩm khi tiêu thụ thành công.

Vị trí caching

API thúc đẩy một tính năng mới của ứng dụng cửa hàng Google Play mà lưu trữ thông tin thanh toán trong ứng dụng trên các thiết bị, làm cho nó có sẵn cho các ứng dụng. Với tính năng này, nhiều cuộc gọi API sẽ được phục vụ tra cứu thông qua bộ nhớ cache thay vì một kết nối mạng đến Google Play, có tốc độ đáng kể thời gian phản ứng của API. Ví dụ, một ứng dụng có thể truy vấn các mặt hàng thuộc sở hữu sử dụng cuộc gọi này:

Truy vấn cho các hạng mục doanh là một cuộc gọi máy chủ đắt tiền trong các phiên bản trước của API, do đó các nhà phát triển đã chán nản không làm như vậy thường xuyên. Tuy nhiên, kể từ khi phiên bản mới thực hiện bộ nhớ đệm địa phương, các ứng dụng có thể bây giờ làm cho truy vấn này mỗi khi họ bắt đầu chạy, và thường xuyên như cần thiết sau đó.
Bundle bundle = mService.getPurchases(3, mContext.getPackageName(), ITEM_TYPE_INAPP);
if (bundle.getInt(RESPONSE_CODE) == BILLING_RESPONSE_RESULT_OK) {
    ArrayList mySkus, myPurchases, mySignatures;
    mySkus = bundle.getStringArrayList(RESPONSE_INAPP_ITEM_LIST);
    myPurchases = bundle.getStringArrayList(RESPONSE_INAPP_PURCHASE_DATA_LIST);
    mySignatures = bundle.getStringArrayList(RESPONSE_INAPP_PURCHASE_SIGNATURE_LIST);

    // handle items here
}

Thông tin sản phẩm

API cũng giới thiệu một tính năng được chờ đợi lâu: khả năng truy vấn thông tin sản phẩm trong ứng dụng trực tiếp từ Google Play.Phát triển có thể lập trình được tiêu đề của mục, mô tả và giá cả. Không chuyển đổi tiền tệ hoặc định dạng là cần thiết: giá được báo cáo bằng đồng tiền của người sử dụng và định dạng theo miền địa phương của họ:

Điều này có nghĩa rằng, ví dụ, các nhà phát triển có thể cập nhật giá trong phát triển Console và sau đó sử dụng API này để hiển thị các giá cập nhật trong các ứng dụng (như đối với chương trình khuyến mãi đặc biệt hoặc bán) mà không cần phải cập nhật mã của ứng dụng để thay đổi giá hiển thị cho người dùng.
Bundle bundle = mService.getSkuDetails(3, "com.example.myapp", 
        ITEM_TYPE_INAPP, skus); // skus is a Bundle with the list of SKUs to query
if (bundle.getInt(RESPONSE_CODE) == BILLING_RESPONSE_RESULT_OK) {
    List detailsList = bundle.getStringArrayList(RESPONSE_SKU_DETAILS_LIST);
    for (String details : detailsList) {
        // details is a JSON string with 
        // SKU details (title, description, price, ...)
    }
}

Ứng dụng mẫu

Ngoài các API, chúng tôi đang phát hành một ứng dụng mẫu mới để minh họa cách thực hiện thanh toán trong ứng dụng. Nó cũng chứa các lớp helper mà thực hiện thường được viết mã boilerplate như marshalling và unmarshalling cấu trúc dữ liệu từ chuỗi JSON và Gói, xác minh chữ ký, cũng như tiện ích tự động quản lý công việc nền để cho phép các nhà phát triển để gọi API trực tiếp từ giao diện người dùng Chủ đề của ứng dụng của họ. Chúng tôi khuyên các nhà phát triển những người mới đến trong ứng dụng Thanh toán tận dụng các mã trong mẫu này, vì nó tiếp tục đơn giản hoá quá trình implemention. Các ứng dụng mẫu có sẵn để tải về thông qua Android SDK Manager.

Phím ứng dụng-cụ thể

Cùng với những thay đổi khác được giới thiệu với trong ứng dụng Thanh toán Phiên bản 3, chúng tôi cũng đã được cải thiện đường, cấp phép và phím Thanh toán trong ứng dụng quản lý. Khoá nay được thiết lập trên một cơ sở cho mỗi ứng dụng, thay vì một cơ sở cho mỗi nhà phát triển và có sẵn trên “Dịch vụ & API” cho mỗi ứng dụng trên Google Play phát triển điều khiển xem trước . Các ứng dụng hiện tại của bạn sẽ tiếp tục làm việc với các phím hiện tại của họ.

Nhận Thấy Sự Bắt đầu!

Để thực hiện trong ứng dụng thanh toán trong ứng dụng của bạn bằng cách sử dụng API mới, trung tâm đào tạo khóa học lập trình android tại đà nẵng muốn bạn bắt đầu với những cập nhật tài liệu hướng dẫn Billing trong ứng dụng và đi bán hàng trong App Sản phẩm lớp đào tạo.

Đăng bình luận

Thành viên bình luận

  • 977 View