Đây là cách bạn có thể thực hiện một phần những gì mà bạn mong muốn, mà không sử dụng một máy chủ:
Cập nhật ứng dụng của bạn với một phiên bản mới cho phép ghi một giá trị duy nhất để SharedPreferences. Giá trị này phải là một mã băm của một ID duy nhất cho thiết bị (hoặc ít nhất, không phải nhiều thiết bị khác sẽ chia sẻ). Lý do giá trị phải tương đối duy nhất là ngăn không cho nó được chia sẻ giữa những người dùng sau này. Nếu bạn muốn nó tồn tại khi cài đặt lại, bạn cũng có thể ghi nó vào một vùng bộ nhớ ngoài của người dùng sẽ không bị xóa khi ứng dụng của bạn được cài đặt.
Chờ một thời gian đủ dài để hầu hết người dùng hiện tại của bạn sẽ cập nhật lên phiên bản mới. Trong quá trình này, bất kỳ người dùng mới nào trong giai đoạn này cũng sẽ nhận được giá trị duy nhất trong SharedPreferences của họ.
phát hành một phiên bản mới mà không không viết ID duy nhất, và cho phép các tính năng mà bạn muốn để sạc chỉ nếu hoặc ID là hiện tại, hoặc nếu người dùng đã thanh toán qua thanh toán trong ứng dụng.
Đây không phải là hoàn hảo, nhưng nó có thể cho phép ít nhất nhất của người sử dụng hiện tại của bạn để tiếp tục truy cập vào các tính năng.
Tôi không biết điều này có vi phạm thỏa thuận của bạn với Google Play hay không và bạn sẽ cần tự mình kiểm tra vấn đề đó. Thực tế là bạn đã trình bày ứng dụng cho người dùng hiện tại của mình là miễn phí và bây giờ muốn tính phí cho một số tính năng của nó có thể được coi là một sự trình bày sai trừ khi bạn của bạn trong người dùng hiện tại của bạn và cách tiếp cận mà tôi đã phác thảo không đảm bảo rằng tất cả người dùng hiện tại sẽ được cấp quyền truy cập thành công.
Lưu ý rằng cách tiếp cận được gửi trong một câu trả lời khác yêu cầu sử dụng máy chủ của riêng bạn có vẻ giống nhau, vì bạn cần phát hành phiên bản ứng dụng mới có mã để giao tiếp với máy chủ của bạn không có cách nào để buộc người dùng hiện tại của bạn cập nhật lên phiên bản mới trong một khoảng thời gian cụ thể. Nếu không, bạn sẽ thu thập các ID duy nhất xác định người dùng hiện tại của bạn trên cơ sở dữ liệu của máy chủ như thế nào, vì người dùng ứng dụng miễn phí thường không được nhà phát triển biết đến?
Một cách tiếp cận sạch sẽ có thêm tính năng mới được tích hợp chặt chẽ với các tính năng hiện có, làm cho chúng có giá trị hơn, và cũng có thể thực hiện bất kỳ nội dung đã nhập bằng cách sử dụng cũ tính năng có giá trị hơn. Bạn có thể tiếp tục cung cấp các tính năng hiện có miễn phí nhưng tính phí cho các tính năng mới.
Bằng cách sử dụng cách tiếp cận này, sẽ không có người dùng hiện tại nào bị tước chức năng và bạn cũng có thể tính phí người dùng hiện tại của mình (và không chỉ người dùng mới) cho các tính năng giá trị gia tăng. Sử dụng phương pháp này có thể không chỉ dễ chịu hơn cho người dùng của bạn mà còn có khả năng mang lại nhiều lợi nhuận hơn cho bạn, vì bạn sẽ có toàn bộ cơ sở người dùng hiện tại của mình làm khách hàng tiềm năng trả tiền.
Ngoài ra, bạn có thể xem xét mức độ phổ biến hiện tại của ứng dụng có thể là do các tính năng mà bạn hiện muốn tính phí. Và vì vậy, bạn có thể không thu hút một luồng người dùng mới liên tục khi các tính năng đó không còn miễn phí nữa.
Cảm ơn câu trả lời của bạn. Tôi không nghĩ đến việc giữ một id người dùng duy nhất. Đó là một ý kiến tuyệt vời! Tuy nhiên, điều đó không hữu ích đối với tôi, vì ứng dụng chỉ là ứng dụng khách và tôi không có thời gian để triển khai phía máy chủ ngay bây giờ. Tôi chấp nhận câu trả lời của bạn vì đây là cách nó nên được thực hiện. Giải pháp cho tôi, sẽ không chỉ tính phí cho những người dùng nâng cấp, nhưng lần sau, khi họ cài đặt một ứng dụng trên thiết bị khác, họ sẽ bị tính phí. – liovka
cách bạn sẽ kiểm tra xem người dùng có nâng cấp ứng dụng hay cài đặt mới vì khi người dùng nâng cấp bất kỳ ứng dụng nào có tệp apk đầy đủ được tải xuống từ google play và cài đặt lại ứng dụng trên thiết bị theo cách tương tự như cài đặt ứng dụng mới? – Ankit
Tôi biết những gì bạn đã viết. Bạn không nghĩ rằng nó có thể là một sự thỏa hiệp công bằng để bắt đầu tính phí khách hàng cho mỗi cài đặt hoàn toàn mới? – liovka