2012-04-04 22 views
11

Không có câu hỏi nào trước đó về nó, vì vậy tại đây tôi hỏi.Tác dụng phụ của việc thay đổi bộ lọc và các yêu cầu của một ứng dụng hiện có trong Android Play/Market

Bối cảnh:

Tôi có một ứng dụng cũ, ở miễn phí và trả tiền phiên bản, trong thị trường Play. Tôi tạo ra một phiên bản mới, thay đổi hoàn toàn và với một hệ thống thanh toán khác (chỉ ứng dụng miễn phí + trong mua ứng dụng, không còn phiên bản trả tiền: giảm chi phí bảo trì). minSdkVersion cũng thay đổi từ 1,5 đến 2,1.

Vì tất cả những khác biệt này, tôi quyết định tải lên ứng dụng mới, không chỉ cập nhật ứng dụng hiện tại (tức là không cung cấp gói ứng dụng mới cho API 7+ --- nhiều APK). Điều này đặc biệt quan trọng vì hệ thống thanh toán mới, vì tôi không muốn ép buộc khách hàng cũ, trả tiền, mua lại mọi thứ. Tôi muốn để chúng một mình và hạnh phúc vì chúng (4.4/4.7). Tóm lại, tôi không muốn "ép buộc mọi người" vào bất cứ thứ gì. Trong trường hợp này, thành mua lại một thứ tương tự thông qua mua hàng trong ứng dụng, bên cạnh những thứ khác mà ứng dụng mới cung cấp.

Câu hỏi:

Sau khi giải thích cho bạn nền tảng của tôi, nó làm tăng các câu hỏi rõ ràng:

1. Làm thế nào để ẩn các ứng dụng cũ từ API 7+ khán giả trong khi vẫn giữ chúng hiển thị cho tất cả khách hàng API 7+ hiện tại, tức là những khách hàng đã mua nó?

Mối quan tâm lớn nhất của tôi ở đây là ứng dụng phải trả phí. Tôi đang suy nghĩ về việc đẩy phiên bản mới với maxSdkVersion được đặt thành 6 (SDK 2.0.1), ngăn chặn hiệu quả API 7+ khách hàng mới vào các ứng dụng cũ. Nhưng tôi lo lắng rằng các khách hàng API 7+ hiện tại đột nhiên sẽ mất quyền truy cập vào ứng dụng. Điều đó đặt ra hai câu hỏi:

2. Họ có thể tiếp tục cập nhật ứng dụng không? có hợp lý để đoán "có" không?

3. Ngay cả khi câu trả lời cho câu hỏi trước là "có", tôi vẫn chưa rõ điều gì sẽ xảy ra nếu người dùng gỡ cài đặt ứng dụng và sau đó tìm lại nó trong Market (không chỉ cập nhật) . Nó sẽ biến mất hay nó vẫn sẽ xuất hiện trong danh sách ứng dụng "đã mua" của anh ấy, trong khi đó các yêu cầu bộ lọc ứng dụng đã thay đổi?

Ghi chú: tôi sẽ tải lên một ứng dụng thử nghiệm để thấy rằng, nhưng AFAIK tác giả không được phép mua ứng dụng riêng của mình (thậm chí giấy phép cư xử khác nhau), vì vậy tôi không thể kiểm tra uninstall- kịch bản cài đặt bộ lọc.




# # # # # # # Trả lời câu trả lời: # # # # # # #

@Sparky:

Tôi nghĩ bạn đã hiểu sai. Tôi biết cách của tôi xung quanh nhiều APK, và, tất nhiên, các tài liệu hướng dẫn. Vấn đề ở đây là vượt xa điều đó.

Cũng lưu ý rằng maxSdkVersion không còn được chấp nhận, vì vậy, hãy ném một chút cờ lê vào đề xuất của bạn để giới thiệu APK cũ khi bạn phát hành APK mới.

Cảm ơn bạn. Tôi bỏ lỡ điều đó.

Nhiều APK cung cấp câu chuyện người dùng đơn giản hơn.

Nếu bạn nói như vậy (ngoài những thứ khác tôi không trích dẫn), tôi nghĩ bạn có thể đã không che giấu vấn đề này. Vui lòng theo dõi tôi:

  1. Tôi có n khách hàng trả tiền đã mua phiên bản ứng dụng Pro hiện tại của tôi.
  2. Họ đang sử dụng bộ tính năng X mà họ đã có với phiên bản Pro.
  3. tôi quyết định tại để thực hiện trong-app-mua để cung cấp tính năng thiết lập X, Y và vân vân ...
  4. Thật không may, những thay đổi này được thực hiện bởi ứng dụng API 7+.
  5. Vì vậy, như bạn đề xuất, tôi quyết định cung cấp nhiều APK.
  6. Bây giờ, đám đông API 7+ đột nhiên được cập nhật lên phiên bản ứng dụng mới này.
  7. Bởi vì họ nâng cấp lên APK mới, họ LOSE tính năng của họ thiết lập X. Bây giờ họ cần mua lại X (từ menu mua hàng trong ứng dụng). Tôi lấy từ họ một cái gì đó họ đã có, mặc dù trong một cách "ít sáng bóng". Giống như tôi nói:

Bạn trả lại cho tôi hoặc bạn mất những gì bạn đã có.

Bạn có thấy sự cố ngay bây giờ không? Bạn có thấy lý do tại sao tôi bị buộc cung cấp ứng dụng mới không? Hay tôi vẫn không nhận được những gì bạn nói (tôi nghĩ là không)?

+2

+1 Để có câu hỏi rõ ràng và chính xác. Và tôi chắc chắn cũng muốn biết câu trả lời cho điều này nữa. –

+2

Vâng, những gì tôi thường thấy là: A) Hãy ứng dụng cũ của bạn và phát hành lại nó với <2.1 khả năng tương thích. B) Cập nhật bản phát hành ứng dụng hiện tại của bạn thành kiến ​​trúc mới với yêu cầu API cao hơn. Kết quả: Khách hàng cũ với 2.1+ sẽ có thể xem cập nhật và cập nhật ứng dụng của bạn, Khách hàng cũ có <2.1 sẽ không thấy bản cập nhật và sẽ có ứng dụng cũ của họ. Tính năng này chỉ hoạt động nếu bạn không có kế hoạch cập nhật ứng dụng cũ nữa. – Ali

+0

Siddharth, cảm ơn. Ali, A không làm việc vì tôi không muốn từ bỏ khách hàng cũ của mình. Tôi không muốn từ bỏ cơ sở người dùng hiện tại cũng như thành tích hiện tại, nhận xét, v.v. Tôi chỉ muốn chặn khách hàng mới mà không làm phiền bất kỳ điều gì cho những khách hàng hiện tại. B là chính xác những gì tôi không muốn: buộc khách hàng hiện tại phải mua mọi thứ một lần nữa, bởi vì họ sẽ không có mới trong mua ứng dụng, nhưng họ đã có (một số) các tính năng. Đó là một thảm họa pháp lý, do đó tôi quyết định sử dụng một ứng dụng mới hoàn toàn. – davidcesarino

Trả lời

1

Dưới đây là một ý tưởng chưa được thử nghiệm để xem xét của bạn:

  • Nâng cấp hiện tại của bạn, trước trong ứng dụng thanh toán ứng dụng để bao gồm một ContentProvider mà cung cấp một băm mật mã mà chỉ có nó biết làm thế nào để tạo ra phản ứng đến một hạt giống ngẫu nhiên (để ngăn chặn các cuộc tấn công phát lại).

  • Phát hành ứng dụng mới của bạn sử dụng thanh toán trong ứng dụng dưới dạng APK riêng biệt và kiểm tra sự tồn tại của ứng dụng trước đó trên hệ thống của người dùng bằng cách cố gắng truy cập vào ContentProvider. xác nhận rằng phản hồi là chính xác. Nếu nhận được phản hồi như vậy, thì người dùng sở hữu ứng dụng cũ và bạn có thể bật các tính năng tương ứng của ứng dụng cũ trong ứng dụng mới mà không yêu cầu bất kỳ thanh toán trong ứng dụng nào làm như vậy.

Hiện tại, nếu một số người dùng của bạn bỏ qua Trình nâng cấp nội dung mới và chuyển thẳng đến ứng dụng mới, họ sẽ được tính phí cho các khoản thanh toán. Nhưng sau đó họ có thể nâng cấp nếu họ thích và chạy lại ứng dụng mới để được xác thực.

Điều này giải quyết được vấn đề của bạn. Tuy nhiên, nó có vấn đề riêng của nó. Vì vậy, hãy đặt nó vào bộ công cụ của bạn và xem nó có ích hay không, hoặc là kết hợp với thứ gì đó khác mà bạn có thể đưa ra sau này!

1

Bạn sẽ tự mình phát hành một ứng dụng mới thay vì cập nhật mà không cần xem xét nhiều APK, vì nó làm phức tạp nâng cấp người dùng trả tiền hiện tại của bạn.

Giả sử bạn chỉ cần cập nhật ứng dụng trả phí của mình lên API cấp 7, cắt giảm giá thành 0 và thêm Thanh toán trong ứng dụng. Các thiết bị có cấp API> = 7 sẽ được cung cấp bản nâng cấp, trong khi các thiết bị có cấp API < = 6 sẽ không được thông báo, sẽ không thấy trong Play (Market) và sẽ không thể cài đặt lại nếu chúng gỡ cài đặt. Đó sẽ là 'không' cho những câu hỏi của bạn 2 và 3.

Nhưng bây giờ chúng ta có thể thực hiện nhiều gói ứng dụng: http://developer.android.com/guide/market/publishing/multiple-apks.html http://developer.android.com/training/multiple-apks/

Cụ thể cho vấn đề của bạn, bạn có thể cung cấp nhiều APK dựa trên cấp API: http://developer.android.com/training/multiple-apks/api.html

Điều này cho phép bạn duy trì hai phiên bản của cùng một ứng dụng, được phân cách bằng cấp API. Vì vậy, câu trả lời cho câu hỏi của bạn là, triển khai nhiều APK cho mỗi bài viết được trích dẫn.

Bằng cách xuất bản một ứng dụng hoàn toàn mới, câu trả lời của bạn cho câu hỏi 2 là 'có'. Bằng cách triển khai nhiều APK, câu trả lời cho câu hỏi 2 cũng là 'có' và câu chuyện nâng cấp/ứng dụng của bạn đơn giản hơn rất nhiều từ góc nhìn của người dùng (khó khăn hơn một chút về kỹ thuật, dễ dàng hơn trong bộ phận dịch vụ khách hàng). Cũng lưu ý rằng maxSdkVersion không được dùng nữa, vì vậy, điều này sẽ ném một chút cờ lê vào đề xuất của bạn để giới hạn APK cũ khi bạn phát hành APK mới.

Tương tự như vậy với câu hỏi 3. Hoặc bằng cách xuất bản ứng dụng mới hoặc triển khai nhiều APK, bạn có thể tiếp tục cung cấp APK cho cấp API cũ mà người dùng của bạn có thể tìm và cài đặt.

Nhiều APK cung cấp câu chuyện người dùng đơn giản hơn. Xuất bản một ứng dụng mới giúp bạn dễ dàng phân biệt các ứng dụng hơn, ví dụ như bạn muốn nói, "Hãy nhìn! Bây giờ EXTRA sáng bóng!"

+0

Câu hỏi được cập nhật với nhận xét của bạn. Theo tôi thấy, bạn đã không giải quyết vấn đề gốc của vấn đề của tôi: hiện tại API 7+ khách hàng phải mua cùng một bộ tính năng của phiên bản Pro như trong ứng dụng mua hàng. Vui lòng xem trả lời nhận xét của bạn trong câu hỏi. Xem liệt kê. Cảm ơn bạn. – davidcesarino

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