Gần đây tôi đã bắt đầu bán ứng dụng Android của mình trên Google Android Market và triển khai chương trình cấp phép ứng dụng của họ để ngăn chặn việc sử dụng trái phép ứng dụng của tôi. Tôi hiện đang lên kế hoạch phát hành nó cho Amazon Android App Store, và muốn biết cách tốt nhất để duy trì hai phiên bản ứng dụng của tôi: một ứng dụng thực hiện Cấp phép Android và một ứng dụng khác không thực hiện.Tôi làm cách nào để có thể hỗ trợ ứng dụng Android của mình cho nhiều cửa hàng Android?
Mặc dù giải pháp hiện tại của tôi hoạt động, nó không phải là tối ưu và tôi đang cố gắng tìm ra cách thức mà những người khác đã giải quyết vấn đề này. Ngay bây giờ, tôi đã triển khai hai màn hình giật gân cho ứng dụng của mình, SplashGoogle.java và SplashAmazon.java. Tôi có hai tệp kê khai tương ứng, GoogleManifest.xml và AmazonManifest.xml. Mỗi tệp kê khai xác định một giật gân khác nhau như ý định của trình khởi chạy.
Khi tôi muốn phát hành phiên bản ứng dụng của mình, tôi đổi tên một trong các tệp kê khai này thành AndroidManifest.xml, xuất ứng dụng và sau đó thực hiện tương tự cho Tệp kê khai khác. Đây là giải pháp của tôi bởi vì nó là tốt nhất tôi có thể đến với, và không biết cách khác để đi về việc này. Nó hoạt động vì sự khác biệt duy nhất giữa Amazon và các phiên bản thị trường Google của ứng dụng của tôi, là các lớp splash tương ứng, một lớp kiểm tra cấp phép và lớp còn lại thì không.
Xuống đường, tôi có thể muốn thực hiện các thay đổi bổ sung (hoặc hợp nhất để chỉ có một màn hình giật gân) và đang tìm kiếm một phương tiện quản lý lâu dài hơn trong cùng một ứng dụng.
Tôi tưởng tượng rằng các sự cố tương tự sẽ xảy ra khi nhà phát triển tạo các phiên bản ứng dụng trả tiền miễn phí, miễn phí hoặc được quảng cáo hỗ trợ.
Ghi chú thêm:
- Đối với phiên bản sử dụng Licensing Android của Google, tôi yêu cầu sự cho phép CHECK_LICENSE trong file AndroidManifet.xml, trong khi ở phiên bản Amazon, điều này là không cần thiết.
Tôi không chắc liệu điều này có nên được coi là một wiki cộng đồng hay không, nhưng nếu có, vui lòng đánh dấu nó như trái ngược với việc đóng câu hỏi. Tôi tin rằng điều này sẽ hữu ích cho rất nhiều nhà phát triển ở đó.
Điều này thật tuyệt vời! Điều duy nhất ngăn tôi thực hiện nó cho tình huống cụ thể của tôi là nó đòi hỏi các tệp AndroidManifest.xml trùng lặp, trong số các tệp khác - các vấn đề chính mà tôi đang cố gắng tránh ngay từ đầu. Tuy nhiên, tôi chắc chắn sẽ làm điều này nếu tôi đã từng tạo các phiên bản ứng dụng miễn phí/trả tiền và muốn cảm ơn bạn đã giải thích. – finiteloop
Có cách nào để có một lớp được định nghĩa trong một dự án hàng đầu để ghi đè lên những gì có trong mã phổ biến? – finiteloop
Tôi muốn thực hiện điều này vì tôi muốn dự án thư viện của mình biên dịch mà không có lỗi, nhưng có các biến được đặt cho từng dự án – finiteloop