2013-06-03 38 views
12

Tôi đã đọc các chủ đề khác nhau về đăng ký tự động gia hạn mua hàng trong ứng dụng và tôi nghĩ rằng tôi đã ghép lại với nhau hầu hết thông tin tôi cần, nhưng có vài mảnh còn thiếu. Tôi hy vọng ai đó có thể giúp tôi.mua trong ứng dụng cho thông báo đăng ký gia hạn tự động

Tình huống: Tôi có các gói đăng ký khác nhau mà người dùng có thể đăng ký (ví dụ: gói A với giá £ 1 một tháng, gói B với giá £ 2 một tháng, v.v ...). Tôi lưu trữ thông tin đăng ký của người dùng trong cơ sở dữ liệu của tôi. Khi người dùng đăng nhập, tôi kiểm tra xem anh ấy đang ở trên gói nào và liệu nó có hết hạn hay không. Trang web của tôi, android và iOS đều sử dụng cùng một cơ sở dữ liệu, do đó cách tiếp cận này có vẻ hợp lý.

Đăng ký người dùng thông qua mua hàng trong ứng dụng có vẻ đủ nhanh. Tôi kiểm tra paymentQueue và sau khi thanh toán được xóa, tôi có thể cập nhật cơ sở dữ liệu của mình.

Câu hỏi của tôi:

1) Hiểu biết của tôi là người dùng có thể sử dụng iTunes để quản lý đăng ký của họ. Nói, họ đi vào iTunes và hủy đăng ký của họ, làm thế nào tôi có thể được thông báo để tôi có thể cập nhật cơ sở dữ liệu của mình? Tôi có cần một daemon kiểm tra các đăng ký hết hạn để xem liệu người dùng có gia hạn không?

2) Nếu người dùng muốn nâng cấp đăng ký của họ từ Gói A lên Gói B, làm cách nào để xử lý giá? Nói vào ngày 1 tháng 1, họ mua Gói A, tôi tính phí gói 1 đô la và đặt ngày hết hạn vào ngày 31 tháng 1. Vào ngày 15 tháng 1, họ muốn nâng cấp lên gói B thông qua mua hàng trong ứng dụng. Lý tưởng nhất, tôi sẽ tính phí £ 2 cho Gói B trừ đi 0,50 £ tín dụng mà họ có cho Gói A và đặt ngày hết hạn mới thành feb 14. Tuy nhiên, Apple buộc tôi phải liên kết từng gói với giá tầng. Làm thế nào tôi có thể xử lý này? Tôi không muốn người dùng đợi đến cuối tháng để đưa họ lên một gói cấp cao hơn ... nếu họ nâng cấp vào giữa tháng, điều đó có nghĩa là họ muốn gói nội dung B mới sẽ phân phối cho họ ngay lập tức.

Bất kỳ trợ giúp nào được đánh giá cao!

Cảm ơn!

+0

Xin chào Jason, Bạn đã tìm thấy giải pháp nào chưa? Tôi đang tìm kiếm như vậy. – Mangesh

Trả lời

2

Trả lời câu hỏi 1, bạn có thể xác minh biên nhận đăng ký giống như IAP khác, nhưng bạn sẽ cần phải kiểm tra định kỳ để xem đăng ký đã hết hạn chưa (xác minh sẽ cho bạn biết nếu đăng ký hết hạn).

Có thông tin thêm về các tài liệu của Apple ở đây:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html

1

EDITED

Đối với câu hỏi thứ hai, hệ thống đăng ký tự động tái tạo của Apple không kỹ thuật cung cấp các kế hoạch nâng cấp giữa khác nhau sản phẩm.

Mọi đăng ký đều là sản phẩm độc lập và người dùng có thể bật/tắt đăng ký theo cách thủ công bằng Trình quản lý đăng ký trong iTunes Store. Tuy nhiên, nếu gói A và gói B cung cấp cùng một nội dung chính xác chỉ với thời lượng khác với những gì ajay_nasa cho biết là chính xác, bạn có thể tạo một sản phẩm tự động đăng ký với các tùy chọn thời lượng khác nhau.Nếu người dùng là thuê bao 1 tháng và sau đó người dùng cố gắng thay đổi để 2 tháng thuê bao mà họ sẽ nhận được thông báo lỗi sau yêu cầu họ đi cho người quản lý thuê bao App Store của

enter image description here

Vì vậy, về cơ bản là nơi duy nhất người dùng thực sự có thể thay đổi độ dài của đăng ký trong App Store. Cho dù Apple quyết định tỷ lệ ủng hộ số tiền còn lại trên thuê bao cũ hoặc chỉ cần thêm nó vào một trong những hiện tại thực sự là lên đến Apple. Bạn cần đảm bảo người dùng có quyền truy cập vào đăng ký miễn là đăng ký hoạt động bằng cách đọc Ngày mua hàng gốcNgày hết hạn đăng ký trường từ mỗi mục nhập và xác định ngày bắt đầu và ngày kết thúc của đăng ký.

+0

Đó là một ý tưởng thực sự tồi và cực kỳ không đáng tin cậy. Bạn không bao giờ nên hack trong một sự khác biệt phí thuê bao giữa hai đăng ký bởi vì một ngày bạn có thể tăng tỷ lệ cho một và không muốn cho người khác và có thể dẫn đến mất tiền trong các tình huống nhất định. Giải pháp tốt nhất cho giải pháp là yêu cầu người dùng xóa đăng ký trước của họ trước khi nâng cấp. Bạn có thể kiểm tra DB của mình nếu người dùng đã hủy đăng ký. Một lần nữa cho kịch bản này có thể có độ trễ cho người dùng, nhưng vô cùng tốt hơn so với giải pháp này. – Drmorgan

+0

thật không may, hệ thống đăng ký tự động tái tạo của Apple cung cấp các gói có thể nâng cấp. Vui lòng thử thêm thời lượng trong đăng ký tự động gia hạn hiện có. Bạn có thể xác minh thêm nâng cấp trong itunes kết nối tài khoản của người dùng mua đăng ký. –

3

1) Có, bạn sẽ phải xác minh lại biên lai của mình xem Receipt Validation Programming Guide in the documentation. Họ đề cập đến một số phím quan trọng:

  • status - 0 nếu nhận là hợp lệ, hoặc một mã lỗi
  • receipt - JSON phản ứng kể từ khi nhận
  • latest_receipt (tự động tái tạo chỉ) - cơ sở 64 mã hóa nhận cho công cuộc đổi mới gần đây nhất
  • latest_receipt_info - JSON phiên bản của latest_receipt

với thông tin này, khi mua hàng là m ade, gửi biên nhận đến chương trình phụ trợ của bạn để xác thực, chương trình phụ trợ sẽ giữ lại biên nhận trong DB và xác minh với trạng thái = 0 rằng đó là biên nhận hợp lệ. Từ đó, cứ mỗi x ngày bạn mới có thể xác nhận rằng biên lai có một công việc chron, daemon, vv và xác minh lại. Phản hồi lại mỗi lần sẽ có latest_receipt_info mà bây giờ bạn cần lưu vào DB của mình để bạn có biên nhận cập nhật cho lần kiểm tra tiếp theo sau x ngày. Bằng cách này, bạn sẽ luôn có biên nhận mới nhất. Không có thông báo tức thì để thông báo khi người dùng hủy đăng ký nhưng với điều này, bạn sẽ biết mỗi x ngày nếu họ vẫn đăng ký.

2) Không thể xử lý giá như thế này. Nó không được dành cho một người dùng để "nâng cấp" với đăng ký - mỗi thuê bao được truy cập vào nội dung độc quyền của riêng nó như của văn bản này. Tuy nhiên, nếu khách hàng gửi email và phàn nàn về điều đó, bạn có thể yêu cầu tên người dùng của họ và tìm ra trong DB của bạn nếu người dùng này thực sự đã nâng cấp vào giữa tháng và hoàn lại tiền cho họ một cách thích hợp. Rất cũ trường và không khả thi cho một cơ sở người dùng lớn, nhưng hy vọng bạn sẽ không có nhiều và có thể giữ cho họ hạnh phúc.

1

enter image description here Thực ra, hệ thống đăng ký tự động tái tạo của Apple cung cấp các gói có thể nâng cấp.

Để đạt được điều này, chúng tôi chỉ cần thêm thời lượng trong Đăng ký tự động gia hạn hiện có. Mỗi Đăng ký tự động gia hạn có thể là họ của Đăng ký, vì vậy bất cứ khi nào nhà phát triển muốn nâng cấp đăng ký, anh ta nên thêm thời gian vào Đăng ký tự động gia hạn hiện có với productID khác nhau.

Bất cứ khi nào, người dùng nâng cấp gói của mình vào giữa tháng thì gói nâng cấp của anh ấy sẽ tự động hoạt động từ tháng sau.

0

Chúng tôi cần phải kiểm tra Hủy-ngày được cung cấp trong nhận.

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