2011-01-19 27 views
5

Vì vậy, tôi đã đọc tài liệu LVL về sau và chuyển tiếp, đồng thời làm việc với ứng dụng của tôi. Tôi đã thấy các câu hỏi về phản hồi được lưu trong bộ nhớ cache. Nhưng nó vẫn để lại cho tôi tự hỏi, dựa trên một số từ ngữ trong tài liệu LVL, Google có muốn chúng tôi gọi cho người kiểm tra giấy phép mỗi khi ứng dụng được khởi tạo không? Đó có phải là cách an toàn nhất để thực hiện điều này không? Sử dụng ServerManagedPolicy như Google gợi ý, chúng ta chỉ cần gọi kiểm tra giấy phép, và chạy ứng dụng của chúng ta hay làm bất cứ điều gì chúng ta chọn nếu chúng thất bại? Một trong những mối quan tâm nhỏ của tôi là sử dụng dữ liệu mạng. Họ xem xét chúng tôi cần thận trọng khi sử dụng tài nguyên mà không cần thông báo cho người dùng và dường như với tôi đây là việc sử dụng dữ liệu mạng mà không cho phép người dùng biết.Android: Tôi có nên gọi cho LicenseChecker mỗi khi ứng dụng được mở không?

Để thêm vào điều này, có ai đang gặp phải bất kỳ loại chậm trễ nào đối với ứng dụng của họ do mã này không? Do tính chất của ứng dụng của tôi, mở nó và sau đó chờ đợi mỗi lần cho một ok để đi qua mạng chắc chắn sẽ mất tập trung từ việc sử dụng nó. Tôi có nên tự nhớ cache phản hồi hay tôi nghĩ cách này?

Trả lời

1

Bạn đã trả lời câu hỏi của riêng mình; nếu bạn cảm thấy việc gọi dịch vụ mỗi khi bạn bắt đầu sẽ gây rối (điều đó sẽ xảy ra, ví dụ như người dùng nằm ngoài vùng phủ sóng), thì đừng làm vậy.

Google không đưa ra đề xuất nào về tần suất sử dụng dịch vụ cấp phép; đó là làm thế nào bạn hoang tưởng như các nhà phát triển ứng dụng về vi phạm bản quyền, cân bằng với bao nhiêu bạn cảm thấy liên tục kiểm tra sẽ làm phiền người dùng.

+0

Cảm ơn bạn đã trả lời. Tôi đã đọc nhiều hơn và nghiền ngẫm nó sau khi đăng câu hỏi.Nó cũng giống như LVL sẽ làm bộ nhớ đệm của riêng nó. Vì vậy, tôi có thể quá lo lắng về số lượng lưu lượng truy cập thực sự mà điều này sẽ tạo ra. Tôi chỉ cần gọi kiểm tra giấy phép trên onCreate của tôi về thủ tục chính. Nếu nó trở thành một vấn đề thực sự, tôi chỉ có thể phát hành bản cập nhật với một phiên bản lỏng lẻo hơn. Tôi sẽ giả định rằng ServerManagedPolicy sẽ làm tất cả các công việc nền cho tôi, như họ nói nó sẽ. – Isaac

+0

xem nhận xét của tôi ở trên về câu trả lời của @Tom. Làm một ví dụ đơn giản và Toast kết quả, bạn sẽ thấy nó được gọi mỗi khi bạn khởi động ứng dụng. – trgraglia

1

Ok, công bằng, chỉ kiểm tra xem nó một lần trong một thời gian .. Nhưng bạn có thể "lưu trữ" thông tin ở đâu một cách an toàn, bạn nên kiểm tra nó một lần một ngày? Ví dụ: lần đầu tiên bạn khởi động ứng dụng, bạn sẽ kiểm tra. Kết quả của LVL là hợp lệ: vì vậy bạn lưu trữ ngày kiểm tra thành công cuối cùng. Nhưng nơi để lưu trữ nó? Sử dụng SharedPreferences? Điều này có an toàn không? Vì nếu bạn có quyền truy cập root trên thiết bị của mình, bạn có thể truy cập tùy chọn và thay đổi ngày hợp lệ (theo một trong hai cách trong tương lai, có, bạn có thể kiểm tra trong mã :-))

PS. Xin lỗi, không thể đưa ra nhận xét :(

+0

Tom, tôi đi cùng bạn. Ở đâu trong mã của bạn, bạn có thể lưu trữ nó mà không để nó ra ngoài không? Tôi sẽ chỉ để cho mã ServerManagedPolicy thực hiện các bước đi. Tôi đoán nó sẽ tương tự như ổ khóa cửa. Họ giữ những người trung thực thành thật. nếu ai đó muốn trong nhà của bạn họ sẽ chỉ phá vỡ một cửa sổ và nhận được trong. – Isaac

+0

Vấn đề khác với điều này mặc dù là mặc định là dont_allow. vì vậy nếu họ không được kết nối với mạng, sau đó họ có thể nhận được một dont_allow khi trong thực tế họ đã mua nó hợp pháp và đó sẽ piss người tắt ... vì vậy bạn cũng có thể muốn kiểm tra kết nối của thiết bị ... – trgraglia

0

Về LVL: Mặc dù SDK cung cấp một thực hiện mẫu, bản thân Google, giới thiệu rõ ràng chống lại sử dụng nó "như nó vốn có"

http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.html

Sau khi xem đó. , Tôi tin rằng, LVL không phải là một tùy chọn cho các ứng dụng được bán với giá 1-2 đô la. Hơn nữa, kiểm tra LVL không thành công (nếu không có mạng) sẽ làm mất đi người dùng hợp pháp. một số loại bộ nhớ đệm LVL phản hồi, nó sẽ luôn luôn boild xuống câu hỏi, trong bao xa bạn muốn bảo vệ ag ainst vi phạm bản quyền tại các chi phí của người sử dụng hợp pháp?

Và: thời gian của nhà phát triển bị giới hạn, vì vậy có thể đáng giá hơn để nỗ lực cải thiện ứng dụng, thay vì lãng phí nhiều thời gian để giảm sử dụng trái phép.

0

Gọi điện thoại mỗi khi bạn khởi động ứng dụng. Thư viện LVL, được Google vận chuyển, sẽ lưu lại phản hồi và sử dụng nó trong lần tiếp theo khi người dùng khởi động ứng dụng, do đó không yêu cầu kết nối mạng nếu họ khởi động lại ứng dụng trong khung thời gian cache hợp lệ.

Điều bạn có thể muốn làm là thay đổi khoảng thời gian bộ nhớ cache hợp lệ. Theo mặc định, google sẽ có thời gian hợp lệ trong bộ nhớ cache khá thấp, dẫn đến một số người dùng khó chịu ở bên ngoài mạng khi bộ nhớ cache đã hết hạn.

+0

I thấy rằng bạn có một kiến ​​thức tốt về chủ đề này. Bạn có thể xem câu hỏi này (được kết nối với vấn đề lvl) không? : http://stackoverflow.com/questions/16567842/how-to-increase-lvl-cache-valid-time – Kristopher

Các vấn đề liên quan