Mục lục:
- Tạo một ứng dụng Android mới
- Thư viện cấp phép
- Nhận chìa khóa cấp phép cho ứng dụng của bạn
- Sửa đổi ứng dụng để cấp giấy phép
- Thử nghiệm Cấp phép ứng dụng của bạn
Video: Hướng dẫn cài đặt Ứng Dụng cho phép bạn tra cứu tất cả mọi thứ về Đấu Trường Chân Lý ngay trong game 2025
Với cấp phép ứng dụng Android, mỗi thiết bị kiểm tra với máy chủ để đảm bảo thiết bị này có quyền chạy ứng dụng của bạn. Cấp phép là quan trọng đối với bất kỳ ứng dụng phải trả tiền nào. Giấy phép cũng là một biện pháp phòng ngừa tốt với một ứng dụng miễn phí (để giúp bạn duy trì quyền sở hữu khái niệm của ứng dụng). Bài viết này hướng dẫn bạn qua các bước để thêm lược đồ cấp phép đơn giản vào ứng dụng Android của bạn.
Tạo một ứng dụng Android mới
Tạo một dự án Android mới theo cách bạn thường làm. Khi thiết lập một SDK tối thiểu, hãy chọn API mức 19 hoặc thấp hơn. Trong quá trình xây dựng ứng dụng mới. gradle, thay đổi targetSdkVersion thành 19 trở xuống. (
Thư viện cấp phép
Đây là một cách để thêm thư viện cấp phép của Google vào dự án của bạn:
-
Trong trình đơn chính của Android Studio, chọn Công cụ → Android → Trình quản lý SDK.
-
Trong tab SDK Tools của trình quản lý SDK, hãy chọn Thư viện Cấp phép của Google Play.
-
Nhấn OK để tải về và cài đặt Thư viện Cấp phép.
-
Khi quá trình cài đặt hoàn tất, hãy nhấp vào Kết thúc để loại bỏ Trình quản lý SDK.
-
Trong trình đơn chính của Android Studio, chọn Tệp → Cấu trúc dự án.
-
Ở phía bên trái của hộp thoại Cấu trúc dự án, chọn mục Vị trí SDK.
-
Trong phần chính của hộp thoại Cấu trúc dự án, lưu ý mục nhập trong trường văn bản Vị trí của Android SDK.
Đây là nơi trên ổ cứng của bạn, nơi Android SDK đã được cài đặt.
-
Nhấn OK để bỏ qua hộp thoại cấu trúc dự án.
-
Với File Explorer hoặc Finder trên máy tính phát triển của bạn, hãy truy cập vào nơi trên ổ cứng của bạn nơi cài đặt Android SDK.
-
Điều hướng xuống thư mục extras / google / play_licensing / library / src / com.
Trong thư mục đó, bạn sẽ tìm thấy một thư mục con có tên google.
-
Sao chép thư mục google vào thư mục ứng dụng / src / main / java / com của ứng dụng của bạn.
Bây giờ thư mục con của ứng dụng / src / main / java / com của bạn có hai thư mục con. Ví dụ, nếu một ứng dụng nằm trong một gói có tên com. allyourcode. licensingdemo, thư mục con của ứng dụng / src / main / java / com có các thư mục con có tên allyourcode và google. Bạn có thể thấy điều này bằng File Explorer hoặc Finder của máy tính, nhưng bạn cũng có thể thấy nó trong cửa sổ công cụ Project của Android Studio (như được hiển thị ở đây).
Nhận chìa khóa cấp phép cho ứng dụng của bạn
Bạn cần có giấy phép khóa để xuất bản ứng dụng này. Để lấy chìa khóa của bạn, hãy thực hiện theo các bước sau:
-
Truy cập Bảng điều khiển dành cho nhà phát triển Cửa hàng Google Play.
-
Trong Bảng điều khiển dành cho nhà phát triển, hãy nhấp vào nút Thêm ứng dụng mới.
Một trang Thêm ứng dụng mới xuất hiện.
-
Trên trang Thêm ứng dụng mới, nhập tiêu đề cho ứng dụng mới của bạn.
-
Vẫn trên trang Thêm ứng dụng mới, nhấp vào nút Chuẩn bị danh sách cửa hàng.
Bạn được đưa tới trang Danh sách cửa hàng.
-
Ở phía bên trái của trang Danh sách cửa hàng, chọn Dịch vụ và API.
Nội dung của trang Danh sách cửa hàng thay đổi.
-
Trên trang Danh sách cửa hàng, hãy tìm chuỗi dài các ký tự vô cùng dài giống như biểu tượng được hiển thị ở đây.
Một dãy số rất dài. -
Sao chép chuỗi ký tự đó và dán nó vào một tệp văn bản thuần trên ổ cứng máy tính phát triển của bạn.
Sửa đổi ứng dụng để cấp giấy phép
Tiếp theo, bạn phải thêm mã vào ứng dụng để ứng dụng kiểm tra máy chủ cấp phép trước khi cho phép khách hàng sử dụng nó. Đây là một mẫu xương trần. (Đối với một mẫu phong phú hơn, hãy xem mã trong thư mục mẫu extras / google / play_licensing / sample của SDK).
nhập khẩu android. ứng dụng. Hoạt động; nhập khẩu android Nội dung. Ý định; nhập khẩu android os. Bó; nhập khẩu android các nhà cung cấp. Cài đặt; nhập khẩu com. Google. android. bán hàng tự động. cấp giấy phép. AESObfuscator; nhập khẩu com. Google. android. bán hàng tự động. cấp giấy phép. LicenseChecker; nhập khẩu com. Google. android. bán hàng tự động. cấp giấy phép. LicenseCheckerCallback; nhập khẩu com. Google. android. bán hàng tự động. cấp giấy phép. ServerManagedPolicy; lớp MainActivity lớp công khai mở rộng Hoạt động {private static final String BASE64_PUBLIC_KEY = "ĐIỂM CÔNG CỘNG CỦA BẠN ĐẾN ĐÂY"; private static final byte [] SALT = byte mới [] {// Hai mươi con số (từ -128 đến +127) đi đây}; tư nhân LicenseCheckerCallback mLicenseCheckerCallback; mChecker riêng tư LicenseChecker; tư nhân boolean keepGoing = true; @ Xoá bỏ công khai void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (bố cục R. activity_main); Thiết bị ChuỗiId = Cài đặt. Đảm bảo. getString (getContentResolver (), Cài đặt an toàn ANDROID_ID); mLicenseCheckerCallback = new MyLicenseCheckerCallback (); mChecker = LicenseChecker mới (điều này, mới ServerManagedPolicy (này, mới AESObfuscator (SALT, getPackageName (), deviceId), BASE64_PUBLIC_KEY); doCheck ();} @ Xoá bỏ void onResume công cộng () {super. onResume (); if (! keepGoing) {finish ();}} private void doCheck () {mChecker. checkAccess (mLicenseCheckerCallback);} private class MyLicenseCheckerCallback thực hiện LicenseCheckerCallback {public void allow (int policyReason) {if (isFinishing ()) {// Không cập nhật UI nếu Hoạt động kết thúc. return;}} public void dontAllow (int policyReason) {if (isFinishing ()) {return;} keepGoing = false; Intent intent = intent mới (MainActivity này, NotLicensedActivity. Lớp học); ý định. putExtra ("message", getResources () getString (R chuỗi. app_not_licensed) + "(0x" + Số nguyên. toHexString (policyReason) + ")"); bắt đầu hoạt động (dự định);} public void applicationError (int errorCode) {if (isFinishing ()) {return;} keepGoing = false; Intent intent = intent mới (MainActivity này, NotLicensedActivity. Lớp học); ý định. putExtra ("message", getResources ().getString (chuỗi R. application_error) + "(0x" + Integer. toHexString (errorCode) + ")"); startActivity (intention);}} @Chuyển bảo vệ void onDestroy () {super. onDestroy (); mChecker. onDestroy (); / / Đừng quên dòng này. Nếu không có nó, ứng dụng của bạn có thể sụp đổ.}}
Để làm cho mã mẫu này hoạt động, bạn phải thêm một số thành phần thêm:
-
Trong hoạt động chính, thay thế từ khóa YOUR KEY GOES HERE ở đây với khóa giấy phép của bạn từ Bước 6 và 7 trong phần "Tìm khoá cấp phép cho ứng dụng của bạn"
-
Hãy tạo ra giá trị SALT 20 số của bạn - một thuật ngữ kỳ diệu cho một tập các giá trị được tạo ngẫu nhiên - và thêm nó vào mã hoạt động chính.
-
Tạo tài nguyên chuỗi app_not_licensed và application_error.
-
Thêm vào AndroidManifest của dự án. tệp xml.
-
Thêm bất kỳ mã nào trong ứng dụng của bạn vào mã mẫu. (Nói cách khác, làm cho ứng dụng của bạn làm những gì cần làm - chơi trò chơi, hiển thị thông tin, giải quyết sự cố hoặc bất cứ điều gì)
-
Tạo lớp NotLicensedActivity.
Một mẫu NotLicensedActivity được sao chép ở đây.
public class NotLicensedActivity mở rộng hoạt động {public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (bố cục R. not_licensed); Chuỗi message = getIntent (). getExtras (). getString ("message"); ((TextView) findViewById (R. Id. Message_text)). setText (tin nhắn); ((TextView) findViewById (R id id message_text2)). setText (message);} public void quitApp (xem chế độ xem) {finish ();}}
-
Thêm các khung nhìn văn bản có tên message_text và message_text2 vào tệp tin bố cục NotLicensedActivity của bạn.
Trong hoạt động chính, bản chất của kiểm tra giấy phép được đưa ra trong hai phần (a) cuộc gọi đến doCheck (), giao tiếp với máy chủ Google Play và (b) lớp nội bộ MyLicenseCheckerCallback (lớp phản hồi kết quả của máy chủ Play). LicenseCheckerCallback phải có ít nhất ba phương pháp - phương pháp allow () cho "Đi trước và sử dụng ứng dụng", một phương pháp dontAllow () cho "bạn không được cấp phép sử dụng ứng dụng này" và phương pháp applicationError () "Ồ ồ! "
Trong mã mẫu không có gì đặc biệt được thực hiện trong phương thức allow (). Trong các phương thức dontAllow () và applicationError (), một hoạt động khác được bắt đầu với tên NotLicensedActivity. Bạn có thể làm cho NotLicensedActivity này làm bất cứ điều gì bạn muốn. Bất kể điều gì xảy ra trong NotLicensedActivity, một trường keepGoing được đặt thành false, nói với hoạt động chính để gọi finish () (trong phương thức onResume) khi trở về từ NotLicensedActivity.
Bạn có thể sử dụng thủ thuật này hoặc làm một cái gì đó khác. Trong Android, các hoạt động không phải là phương thức . Nghĩa là, nếu một hoạt động một phần bao gồm một hoạt động khác thì người dùng có thể tương tác với hoạt động bằng cách chạm vào phần thích hợp của màn hình. Vì vậy nếu NotLicensedActivity không hoàn toàn che đậy hoạt động chính, người dùng có thể phá vỡ NotLicensedActivity bằng cách chạm vào một phần khác của màn hình. Để giữ điều này xảy ra, hãy làm cho NotLicensedActivity che phủ toàn bộ màn hình, chống lại sự cám dỗ để làm cho NotLicensedActivity trông giống như một hộp thoại nhỏ.
Thử nghiệm Cấp phép ứng dụng của bạn
Việc cấp phép ứng dụng của bạn có hoạt động không? Người dùng được cấp phép có thể chạy ứng dụng của bạn không? Còn người dùng không có giấy phép thì sao? Họ có thể chạy ứng dụng của bạn không? Bạn có thể tìm hiểu sau khi bạn đã tải lên ứng dụng và trước khi bạn thực sự xuất bản ứng dụng của mình. Dưới đây là cách:
-
Truy cập // play. Google. com / apps / publish /.
-
Ở phần trái nhất của trang Bảng điều khiển dành cho nhà phát triển, hãy chọn Cài đặt.
Trang Cài đặt Tài khoản của bạn sẽ xuất hiện.
-
Ở phía bên trái trang Cài đặt, chọn Chi tiết Tài khoản.
-
Cuộn xuống trang Chi tiết tài khoản cho đến khi bạn tìm thấy phần Kiểm tra Giấy phép.
Trong phần Kiểm tra Giấy phép này, bạn sẽ tìm thấy trường văn bản có nhãn Tài khoản Gmail có Truy cập Thử nghiệm. Bạn cũng sẽ tìm thấy danh sách thả xuống được gắn nhãn Phản hồi kiểm tra giấy phép.
Tùy chọn Trả lời thử nghiệm Giấy phép của bạn -
Trong trường Tài khoản Gmail có Thử nghiệm, gõ địa chỉ email cho một hoặc nhiều tài khoản Gmail.
Nếu bạn nhập nhiều địa chỉ email, hãy sử dụng dấu phẩy để tách địa chỉ này với địa chỉ khác. Những người có thiết bị Android được đăng ký theo các địa chỉ email này sẽ có thể tìm thấy ứng dụng của bạn trên Cửa hàng Google Play. (Những người khác sẽ không thấy ứng dụng của bạn)
-
Trong danh sách Trả lời thử nghiệm được Cấp phép, hãy chọn NOT_LICENSED.
Người dùng cài đặt ứng dụng của bạn (người dùng có địa chỉ Gmail mà bạn liệt kê trong Bước 5) sẽ nhận được phản hồi NOT_LICENSED này khi họ cố gắng chạy ứng dụng.
-
Thông báo cho người dùng trong danh sách Tài khoản Gmail của bạn để thử tải xuống và cài đặt ứng dụng của bạn.
Nếu mã của ứng dụng của bạn là chính xác (ví dụ: nếu phương pháp onCreate trong hoạt động chính của bài viết này đang làm công việc của nó), người dùng sẽ không thể tiếp tục chạy ứng dụng của bạn. Đó chính xác là những gì bạn muốn
-
Khi bạn hài lòng với kết quả của thử nghiệm trong Bước 6 và 7, hãy xem lại Bảng điều khiển dành cho Nhà phát triển và thay đổi Câu trả lời thử nghiệm được Cấp phép cho LICENSED.
-
Thông báo cho người dùng trong danh sách Tài khoản Gmail của bạn để thử chạy lại ứng dụng của bạn.
Nếu mã của ứng dụng của bạn là chính xác (ví dụ: nếu phương pháp onCreate trong hoạt động chính của bài viết này đang làm công việc của nó), người dùng sẽ có thể tiếp tục chạy ứng dụng của bạn.
-
Thử các tùy chọn khác trong danh sách Trả lời thử nghiệm được Cấp phép - các tùy chọn như LICENSED_OLD_KEY, ERROR_SERVER_FAILURE, v.v.
Hãy nhớ rằng, không có gì là quá nhiều thử nghiệm.
