• Android
  • Nodejs
  • JavaScript
  • Tin tức
  • Server
No Result
View All Result
AeDev.Net
  • Android
  • Nodejs
  • JavaScript
  • Tin tức
  • Server
No Result
View All Result
AeDev.Net
No Result
View All Result

Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play

admin by admin
06/01/2023
in Android, JavaScript, Nodejs
1
Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play
Share on FacebookShare on Twitter

Kể từ ngày 1 tháng 11 năm 2020, Google đã bắt buộc bất kỳ nhà phát triển nào cung cấp gói đăng ký trong ứng dụng phải triển khai tính năng Giữ tài khoản. Tôi đã dành tuần trước để triển khai nó cho ứng dụng của riêng mình, theo liên kết này đến liên kết khác nhau đến các trang khác nhau của tài liệu và tôi đã quyết định viết bài viết này để kết hợp toàn bộ quá trình.

Nội dung chính của bài viết

  • Giữtài khoản là gì?
  • Tại sao chúng tôi cần tạm ngưng tài khoản?
  • Quy trình RTDN
  • Làm thế nào để cấu hình RTDN cho đăng ký
  • 1. Thiết lập Cloud Pub/Sub bằng dự án Google Cloud Platform (GCP) của riêng bạn
  • 2. Tạo chủ đề
  • 3. Allow Google Play to publish notifications to the topic
  • 4. Cho Google Play Console biết về chủ đề của bạn
  • Kiểm tra tích hợp

Giữtài khoản là gì?

Nếu ứng dụng của bạn đang cung cấp các đăng ký gia hạn sau một khoảng thời gian nhất định, có thể thẻ tín dụng của người dùng sẽ hết hạn trước ngày gia hạn tiếp theo. Do đó, Google sẽ không thể tính phí giao dịch tiếp theo cho người dùng và bạn sẽ cần thông báo cho người dùng rằng họ cần cập nhật thông tin thanh toán của mình với Google để tiếp tục có quyềntruy cập vào nội dung mà ứng dụng của bạn đang cung cấp.

Tạm ngưng tài khoản là trạng thái mà người dùng đã đăng ký sẽ nhập sau khi thanh toán của họ không thành công cho chu kỳ thanh toán tiếp theo. Trong thời gian này, quyền truy cập vào nội dung cao cấp của bạn sẽ bị chặn, nhưng đăng ký sẽ không hoạt động trong 30 ngày, chờ người dùng đến và tiếp tục lại.

Tại sao chúng tôi cần tạm ngưng tài khoản?

Nếu không có thời gian giữ tài khoản, người dùng sẽ phải tạo đăng ký mới để lấy lại quyền truy cập vào nội dung của bạn. Giữ tài khoản cho phép chúng tôi thông báo cho người dùng và cho họ thời gian để sửa khoản thanh toán của họ và tiếp tục với đăng ký hiện có.

Là một nhà phát triển, điều này có ý nghĩa đối với bạn là việc giữ tài khoản sẽ cho phép bạn giữ cùng một mã thông báo đăng ký cho người dùng của mình và bạn sẽ không cần phải xử lý mã thông báo đăng ký mới cho người dùng của mình.

Nếu ứng dụng của bạn không có chương trình phụ trợ và bạn dựa vàođó thì bạn không cần phải làm bất cứ điều gì mới. Khoảng thời gian giữ tài khoản sẽ do Google tự động xử lý. Bạn sẽ không nhận được bất kỳ thông tin đăng ký nào và bạn có thể chặn quyền truy cập vào nội dung.

BillingClient.queryPurchases()

Một bảng hữu ích cho vòng đời Gói đăng ký —https://developer.android.com/google/play/billing/subs

Nếu ứng dụng của bạn đang lưu trữ trạng thái đăng ký của mọi người dùng trong một chương trình phụ trợ (như trong trường hợp của tôi), thì bạn cần bật Thông báo theo thời gian thực dành cho nhà phát triển (RTDN) của Google để cập nhật chương trình phụ trợ theo thời gian thực để cơ sở dữ liệu của bạn có trạng thái cập nhật của người dùng, ngay cả khi họ không mở ứng dụng của bạn trong một thời gian. Bây giờ, phần sau sẽ hướng dẫn bạn quy trình bật RTDN và cách tích hợp nó với máy chủ phụ trợ của bạn.

Quy trình RTDN

Có hai cách mà RTDN có thể thông báo cho máy chủ phụ trợ của bạn rằng trạng thái đăng ký của người dùng đã được cập nhật:

  1. Sử dụng phương pháp kéo
  2. Sử dụng phương pháp đẩy.

Phương thức kéo có nghĩa là chương trình phụ trợ của bạn sẽ có một dịch vụ sẽ được đăng ký nền tảng Google Cloud, lắng nghe mọi thông báo đến. Đối với mỗi thay đổi trạng thái đăng ký mới, bạn sẽ nhận được một cuộc gọi lại với ID đăng ký và trạng thái đăng ký.

Phương thức push là khi bạn tạo một điểm cuối để Google nhấn vào. Google sẽ sử dụng HTTPS để nhấn vào điểm cuối phụ trợ của bạn để thông báo cho bạn về thay đổi tương tự.

Chúng tôi sẽ đề cập đến phương pháp kéo. Cách thức hoạt động của quá trình này như sau:

  1. Thanh toán của người dùng không thành công vào ngày thanh toán.
  2. Google Play Console thông báo cho Google Cloud
  3. Google Cloud sử dụng PubSub để thông báo cho bất kỳ ai đã đăng ký các thay đổi thông báo này. (tức là dịch vụ backend của bạn)
  4. Thông báo sẽ bao gồm mã thông báo đăng ký (chuỗi), trạng thái đăng ký (số nguyên) . Bạn có thể sử dụng mã thông báo đăng ký để xác định đăng ký của người dùng nào đã trải qua thay đổi.
  5. Dịch vụ backend của bạn sẽ xác nhận thông báo.
  6. Đó là nó!

Làm thế nào để cấu hình RTDN cho đăng ký

Vì vậy, nếu bạn giống tôi, bạn chưa định cấu hình thông báo nhà phát triển theo thời gian thực cho ứng dụng của mình. Tôi đã mất 3 ngày để cuối cùng nó hoạt động vì backend của chúng tôi đang làm việc với NodeJS và đang sử dụng Docker. Bạn có thể xem tài liệu dành cho nhà phát triển nhưng tôi sẽ hướng dẫn bạn quá trình đạt được điều đó với NodeJS & cũng với JVM.

Liên kết đến tài liệu dành cho nhà phát triển:https://developer.android.com/google/play/billing/getting-ready#configure-rtdn

Dưới đây là cách thực hiện:

  1. Thiết lập Cloud Pub/Sub bằng dự án Google Cloud Platform (GCP) của riêng bạn
  2. Tạo chủ đề
  3. Cho phép Google Play xuất bản thông báo cho chủ đề
  4. Cho Google Play Console biết về chủ đề của bạn
  5. Nhận khóa xác thực cho chương trình phụ trợ của bạn
  6. Thêm dịch vụ backend của bạn với tư cách là người đăng ký vào chủ đề
  7. Xác minh rằng bạn đang nhận được thông báo
  8. Cập nhật chương trình phụ trợ của bạn với thay đổi đăng ký mới
  9. Và đó là tất cả!

Tôi đã chia quá trình này thành 2 phần. Trong phần này, chúng tôi sẽ đề cập đến việc thiết lập Dịch vụ thông báo của Google Cloud và tích hợp dịch vụ đó với Google Play Developers Console của chúng tôi. Nếu bạn đã có một chủ đề trong Google Cloud PubSub được tích hợp, thì bạn có thể tiếp tục tạo backend của mình trong phần 2:

Triển khai tính năng Giữ tài khoản (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play

1. Thiết lập Cloud Pub/Sub bằng dự án Google Cloud Platform (GCP) của riêng bạn

Google gửi thông báo thông qua dịch vụ của họ có tên Cloud PubSub, vì vậy chúng tôi cần khởi tạo nó. Nếu bạn đã có một dự án, bạn có thể bỏ qua bước này.

Đi tới https://console.cloud.google.com/
Nếu bạn có một số loại tích hợp firebase thì bạn có thể thấy dự án của mình ở đây rồi. Nếu không, bạn cần tạo một dự án mới. https://console.cloud.google.com/projectcreate

Tạo dự án mới trong Google Cloud Platform

Nhập tên và vị trí dự án rồi chọn Tạo.

Nếu địa chỉ email của bạn là từ công ty của bạn, bạn cũng sẽ cần thêm tổ chức.

Sau khi bạn đã tạo dự án, sử dụng Menu bên trái, hãy chuyển đến PubSub (dưới dữ liệu lớn). Và trên menu PubSub, hãy chuyển đến Chủ đề. Bạn sẽ thấy rằng Google Cloud Platform sẽ tự động bật PubSub cho dự án của bạn.

Bây giờ bạn sẽ thấy một màn hình tương tự như sau:

Bảng điều khiển PubSub trong Google Cloud Platform

2. Tạo chủ đề

Cách thức hoạt động của thông báo là bạn có một chủ đề và mỗi chủ đề sẽ có người đăng ký.

Ví dụ: nếu dự án là về Tin tức, thì Chính trị, Tài chính & Thể thao có thể là chủ đề. Vì vậy, bạn có thể xuất bản thông báo cho bất kỳ chủ đề nào trong số này ngay khi bạn có nội dung. Bất cứ ai đã đăng ký các chủ đề này sẽ được cập nhật cho phù hợp.

Vì vậy, trong ví dụ của chúng tôi, chúng tôi muốn Google Play Console xuất bản thông báo về trạng thái đăng ký của người dùng tại đây. Do đó, chúng ta sẽ tạo ra một topic gọi là. Nhấp vào nút Tạo chủ đề ở trên cùng và thêm ID chủ đề của bạn.UserSubscriptionUpdates

You will be able to see that the path to your topic becomes something like . Here, my-project is your project ID. And this path will be used later on. Select Create Topic.projects/my-project/topics/UserSubscriptionUpdates

3. Allow Google Play to publish notifications to the topic

Vì vậy, bây giờ, chúng ta cần nói với Google Cloud Platform rằng Google Play Console sẽ là nhà xuất bản cho chủ đề này. Do đó, chúng tôi sẽ thêm các quyền vào nó. Nhấp vào 3 dấu chấm ở bên phải tên chủ đề của bạn và chọn Xem quyền.

Sửa quyền cho chủ đề

Chọn Thêm thành viên từ menu bên trái và thêmvào trường “Thành viên mới”. Từ menu thả xuống vai trò, chọn “Pub/Sub Publisher”. Và cuối cùng, nhấp vào lưu.[email protected]

Thêm quyền cho Google Play Console xuất bản thông báo cho chủ đề của chúng tôi

4. Cho Google Play Console biết về chủ đề của bạn

Bây giờ chúng ta đã có chủ đề của mình rằng Google Play sẽ có thể xuất bản thông báo, chúng ta chỉ cần cho google play biết địa chỉ của chủ đề này. Đối với điều này, hãy chuyển đến bảng điều khiển chơi của bạn bằng http://play.google.com/apps/publish/ và mở bảng điều khiển ứng dụng của bạn. Từ menu bên trái, hãy chọn Thiết lập kiếm tiền.

Bây giờ bạn sẽ thấy một trường để thêm tên chủ đề của bạn. Thêm đường dẫn hoàn chỉnh vào đây. Trong trường hợp của chúng tôi, nóprojects/my-project/topics/UserSubscriptionUpdates.

Nhấp vào Gửi thông báo thử nghiệm để gửi tin nhắn thử nghiệm. Thực hiện xuất bản thử nghiệm giúp đảm bảo rằng mọi thứ được thiết lập và định cấu hình đúng cách. Nếu thử nghiệm xuất bản thành công, một thông báo sẽ được hiển thị cho biết rằng thử nghiệm đã thành công.

Nếu xuất bản không thành công, một lỗi sẽ được hiển thị. Đảm bảo rằng tên chủ đề là chính xác vàtài khoản dịch vụ có quyền truy cập vào Pub/Sub Publisher vào chủ đề.[email protected]

Cuối cùng, nhấp vàoLưu thay đổi.

Kiểm tra tích hợp

Trước khi chúng tôi tiếp tục tạo dịch vụ backend, trước tiên hãy xác minh rằng đăng ký của chúng tôi sẽ nhận được thông báo thử nghiệm.

Đối với mỗi chủ đề, có thể có nhiều người đăng ký. Trước tiên, chúng tôi sẽ đảm bảo rằng người đăng ký đang nhận được thông báo từ chủ đề này. Đối với điều đó, chúng tôi sẽ quay lại bảng điều khiển Pub / Sub trên bảng điều khiển đám mây và chúng tôi sẽ thêm người đăng ký theo cách thủ công. Từ menu bên trái, hãy chuyển đến Đăng ký và chọn Tạo đăng ký.

Chúng tôi sẽ đặt tên cho đăng ký nàyvà trong chủ đề, chúng tôi sẽ chọn chủ đề của mình. Đối với loại phân phối, chúng tôi sẽ chọn Kéo và chúng tôi sẽ để phần còn lại của cài đặt về mặc định và chọn Tạo ở dưới cùng.BackendSubscriber

Khi điều này được tạo, hãy chọnXem tin nhắntừ thanh trên cùng và nhấp vàoKéo. Đây là nơi chúng tôi có thể nhìn vào bên trong người đăng ký để xem những thông báo nào được nhận về chủ đề của chúng tôi. Nếu đã nhấp vàoGửi thông báo thử nghiệmở bước trước, bạn sẽ có thể thấy thông báo tại đây, được gửi từ Play Console. Nó phải là một cái gì đó tương tự như thế này:

{“version”:”1.0",”packageName”:”com.example.yourapppackagename”,”eventTimeMillis”:”1603469229628",”testNotification”:{“version”:”1.0"}}

Nếu bạn thấy thông báo này thì xin chúc mừng! Bạn đã sẵn sàng để tạo đăng ký backend và bắt đầu nhận tin nhắn.

Nếu bạn không thấy thông báo ở đây, hãy thử nhấp vàoKéo2 hoặc 3 lần. Nếu không, hãy quay lại bước 4 và gửi lại thông báo thử nghiệm và xác minh rằng thông báo “Đã gửi thông báo” được hiển thị.

Tôi nhận ra rằng bài viết này đã trở nên khá dài nên bây giờ chúng tôi sẽ đề cập đến việc tạo dịch vụ phụ trợ và tích hợp nó với PubSub trong Phần 2:

Triển khai tính năng Giữ tài khoản (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play

Trong Phần 2, chúng ta sẽ tạo một dịch vụ backend nhỏ bằng NodeJS để đăng ký nhận thông báo của chúng ta. Sau đó, tôi cũng dự định tạo một hướng dẫn sử dụng Kotlin / JVM.

Hy vọng điều này đã giúp bạn! Nếu nó xảy ra, sẽ thật tuyệt nếu bạn có thể cho tôi biết. Cũng cho tôi biết nếu tôi đã bỏ lỡ bất cứ điều gì. Tôi rất muốn viết thêm và chia sẻ các hướng dẫn khác cho một số quy trình tẻ nhạt.

Tags: google playgoogle subscriptionplay storesubscription

Related Posts

Quy ước đặt tên JavaScript
JavaScript

Quy ước đặt tên JavaScript

Js  phân biệt chữ hoa , chữ thườngĐặt tên biến phải có nghĩa  đọc là hiểu ngay ,để không...

by admin
04/12/2022
Android Bluetooth Low Energy (BLE) – Part 1
Android

Android Bluetooth Low Energy (BLE) – Part 1

Chào các bạn, hiện tại mình đang làm một dự án liên quan đến BLE (Bluetooth Low Energy). Mình...

by admin
02/12/2022
Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play
Android

Triển khai RTDN trong NodeJS Backend (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play

Trong phần này, chúng tôi sẽ tạo dịch vụ phụ trợ của mình để tích hợp với Thông báo...

by admin
02/11/2022
Tông quan về javascript, typescript và ES6
JavaScript

Tông quan về javascript, typescript và ES6

Javascript là gì? JavaScript là ngôn ngữ lập trình phổ biến dùng để tạo ra các trang web tương tác. Được tích...

by admin
23/08/2022
Next Post
Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play

Triển khai RTDN trong NodeJS Backend (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play

5 1 vote
Xếp hạng bài viết
Subscribe
Login
Thông báo về
guest
guest
1 Bình luận
Cũ nhất
Mới nhất Được bình chọn nhiều nhất
Phản hồi nội tuyến
Xem tất cả các bình luận
trackback
Triển khai RTDN trong NodeJS Backend (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play – AeDev.Net
2 months ago

[…] […]

0
Trả lời

Bài viết nổi bật

  • Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play

    Triển khai RTDN trong NodeJS Backend (Phần 2) — Hướng dẫn đầy đủ về đăng ký trong Google Play

    0 shares
    Share 0 Tweet 0
  • Tông quan về javascript, typescript và ES6

    0 shares
    Share 0 Tweet 0
  • Triển khai tính năng Account hold(Phần 1) – Hướng dẫn đầy đủ cho Subscriptions trong Google Play

    0 shares
    Share 0 Tweet 0
  • Quy ước đặt tên JavaScript

    0 shares
    Share 0 Tweet 0
  • Top 10 thư viện React Native bạn nên biết năm 2022

    0 shares
    Share 0 Tweet 0
AeDev.Net

AeDev là website học lập trình miễn phí. Với nhiều khóa học, tài liệu được thiết kế và biên tập tỉ mỉ từ những thành viên nhiều kinh nghiệm thực chiến trong ngành phần mềm. Chúng tôi không ngừng cải thiện chất lượng nội dung, cho ra nhiều bài viết chuyên sâu về những công nghệ mới như: Node.js, React Native, Android, Cloud... Trong quá trình học lập trình, bạn hoàn toàn có thể tương tác, đặt câu hỏi trực tiếp với các tác giả.
Liên hệ chúng tôi: [email protected]

Đăng ký nhận bài viết mới

© 2022 AeDev - Created by LilWind.

DMCA compliant image
No Result
View All Result
  • Buy JNews
  • Homepage
    • Home – Layout 1
  • JavaScript
  • Tin tức
  • Server
  • Nodejs
  • Flutter

© 2022 AeDev - Premium WordPress news & magazine theme by LilWind.

wpDiscuz
1
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
()
x
| Trả lời