Làm cách nào để nhận danh sách các ứng dụng đã tải xuống (trả phí / miễn phí) bởi người dùng từ Google Play?


121

Gần đây tôi đã xem ứng dụng này Mua ứng dụng , bằng cách nào đó có thể truy xuất các ứng dụng tôi đã trả tiền trong google play sau khi tôi đăng nhập bằng tài khoản google của mình.

Tôi đang cố gắng tìm hiểu xem nó đang được thực hiện như thế nào vì tôi muốn xây dựng một ứng dụng tương tự, nhưng đối với các ứng dụng miễn phí đã được tải xuống.

Tuy nhiên, tôi không thể tìm thấy Phạm vi API OAuth nào đã được sử dụng để truy xuất thông tin đó, ngay cả sau khi xem qua toàn bộ danh sách API .

Đăng nhập Google yêu cầu quyền truy cập vào androidmarket


CHỈNH SỬA: Tôi đang đặt một khoản tiền thưởng mới cho câu hỏi này, như được đề xuất bởi một câu hỏi tương tự mà tôi đã hỏi ở đây , và bởi vì ở đây và ở đó tôi không thấy câu trả lời thực sự về cách thực hiện và những gì có thể được thực hiện với nó.

Tôi muốn tinh chỉnh các câu hỏi thành nhiều phần:

  1. API có thể được sử dụng để lấy thông tin về các ứng dụng đã mua là gì? Tôi có thể đọc về nó ở đâu? Vui lòng hiển thị một ví dụ đầy đủ, hiệu quả về cách thực hiện.

  2. Nó có thể làm nhiều hơn? Có thể thực hiện tìm kiếm? Có thể hiển thị các ứng dụng miễn phí đã được cài đặt? Có thể thời gian chúng được cài đặt và gỡ cài đặt? Và danh mục của các ứng dụng đó?

  3. Có bất kỳ yêu cầu đặc biệt nào để sử dụng API này không?


CHỈNH SỬA: Tôi đang đặt tiền thưởng tối đa cho việc này, vì cho dù tôi đã đọc và cố gắng bao nhiêu, tôi vẫn không tạo được POC có thể truy vấn các ứng dụng từ Cửa hàng Play mà người dùng đã từng tải xuống (tên, gói tên, ngày cài đặt và / hoặc xóa, URL biểu tượng, giá ...), bao gồm cả ứng dụng trả phí và miễn phí.

Nếu bất kỳ ai tìm thấy một mẫu đang hoạt động, hãy cho biết nó được thực hiện như thế nào và cũng cho biết bạn đã tìm thấy nó như thế nào (tài liệu hoặc bất cứ thứ gì đã dẫn bạn đến giải pháp). Tôi không thể tìm thấy nó ở bất cứ đâu và các giải pháp hiện tại ở đây quá mơ hồ đối với tôi để bắt đầu.



Tôi sẽ xem xét trình khởi chạy ứng dụng mẫu. Nó biết những ứng dụng được tải xuống trên điện thoại.
danny117

Nhà phát triển @android: Tôi đã phân tích Purchase Appstệp apk bằng cách dịch ngược. Nó không bao giờ sử dụng bất kỳ api nào để lấy danh sách các ứng dụng đã mua. Cách tiếp cận của nó giống như chúng ta biết đó là phân tích nội dung html của trang web cửa hàng chơi. Dưới đây là một đoạn mã này: hastebin.com/uceyavurij.js
aminography

@aminography Vậy làm cách nào để nó có được nó cho người dùng? Rốt cuộc, nó cần lấy dữ liệu của tài khoản Google của người dùng ... Chỉ truy cập các ứng dụng trên Cửa hàng Play là chưa đủ ... Nó sẽ làm gì với các quyền được cấp cho nó?
nhà phát triển android

@androiddeveloper: Tất cả thông tin được cung cấp đều Purchased Appscó thể được truy xuất từ ​​nội dung web cửa hàng chơi. Rất tiếc, tôi không có quyền truy cập để mua ứng dụng từ google play. Nếu bạn chia sẻ cho tôi tài khoản có ứng dụng đã mua, tôi có thể phát triển mã mẫu cho bạn.
aminography

Câu trả lời:


51

Vấn đề đã được giải quyết. Khai thác đã bị đóng.

Chúng tôi sẽ đóng lỗi này do bạn đã đăng nhập vào phiên bản Xem trước của Android. Nếu vấn đề vẫn còn liên quan và có thể tái tạo trong bản phát hành công khai mới nhất (Android Q), vui lòng ghi lại báo cáo lỗi và ghi lại lỗi trong https://source.android.com/setup/contribute/report-bugs . Nếu không nhận được phản hồi trong vòng 14 ngày tới, vấn đề này sẽ bị đóng. Cảm ơn bạn cho sự hiểu biết của bạn.


Cập nhật mới nhất:

Đây là một lỗi và Google sẽ giải quyết nó trong bản cập nhật tiếp theo.

Chúng tôi đã hoãn vấn đề này để xem xét trong một bản phát hành trong tương lai. Cảm ơn bạn đã dành thời gian để cải thiện Android


Câu trả lời này đã trở thành một tập hợp các ý tưởng và được chỉnh sửa để đưa thông tin từ cuộc thảo luận vào các bình luận.

Các androidmarketapi, sẽ là một tùy chỉnh api được viết bởi các nhà phát triển. Nó không có sẵn cho công chúng.

Để giải quyết mối quan tâm của bạn trong các bình luận. Nhà phát triển sẽ sử dụng các ứng dụng hiện tại có sẵn thông qua Nhà phát triển Android và Google để tạo một dự án quản lý tất cả những thứ này.

Đối với việc truy cập Full Account Access, tôi không chắc chính xác bằng cách nào mà các nhà phát triển này đã đạt được điều này.

Tôi khuyên bạn nên sử dụng AccountManager , là một phần của android.accounts, có quyền truy cập vào thông tin đăng nhập và phương thức getUserData . Người quản lý tài khoản có quyền truy cập vào mật khẩu và có khả năng tạo và xóa tài khoản. Điều này, có thể được sử dụng với Nhà cung cấp nội dung

Xem Xác thực Udinic / SyncAdapter .

Để trả lời bình luận của bạn:

Blog này sẽ giúp bạn bắt đầu. Viết Trình xác thực Android của riêng bạn .


Tôi không thể cho bạn biết những ứng dụng này thực sự hoạt động như thế nào. Chúng cũng có thể có các cách triển khai khác nhau (trừ khi chúng là một nỗ lực hợp tác đằng sau hậu trường, chúng chắc chắn sẽ khác nhau).

Một phỏng đoán. Trước tiên, hãy sử dụng GoogleSignInAccount với com.google.android.gms.auth.api.signin .

Có một định nghĩa cho phạm vi , để xác định mức độ của các quyền mà ứng dụng được cấp.

Sử dụng requestScope () ,

công khai tĩnh cuối cùng PROFILE chuỗi

... / Nó cho phép ứng dụng web của bạn truy cập các lượt cài đặt ứng dụng Android qua mạng.

dụ :

GoogleSignInOptions gso =
        new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail().
            .requestScopes(new Scope("https://www.googleapis.com/auth/contacts.readonly"))
            .build();

Nếu có toàn quyền truy cập, bạn có thể tìm thấy danh sách tất cả các ứng dụng được chủ tài khoản sử dụng và so sánh với những gì trên thiết bị.

Trình quản lý gói sẽ truy xuất danh sách tất cả các ứng dụng hiện được cài đặt trên thiết bị.
PackageInfo cung cấp thông tin chi tiết về ứng dụng.
INSTALL_REASON_USER cũng sẽ lọc ra các ứng dụng đã được người dùng chủ động cài đặt.

Bạn có thể muốn xem com.google.firebase.appindexingGhi nhật ký các hành động của người dùng . Các hành động khác nhau có thể được theo dõi.

Lịch sử tài khoản của người dùng được tìm thấy tại https://myactivity.google.com/myactivity .

Một liên kết hữu ích là Sân chơi OAuth 2.0 .


Nút-google-play trên github này , sử dụng nút, hiện tại và sẽ gọi các API của Google Play. Cũng như kho lưu trữ được sử dụng như một api "không chính thức", android-market-api , để truy vấn thị trường.


Ứng dụng 1

Các ứng dụng tuyên bố sử dụng các điều khoản sau đây:

Phiên bản 2.1.8 có thể truy cập:
$ Mua hàng trong ứng dụng

Khác

  • nhận dữ liệu từ Internet
  • xem các kết nối mạng
  • truy cập mạng đầy đủ
  • sử dụng tài khoản trên thiết bị
  • ngăn thiết bị ngủ
  • đọc cấu hình dịch vụ của Google

Đáng chú ý, ứng dụng không đặt bất kỳ quyền nào khi có cài đặt cơ bản. Tôi không thể sử dụng bất kỳ tính năng nào vì tôi không có ứng dụng trả phí nào. Vì vậy, đối với tìm kiếm ban đầu - không cần quyền, điều này cho thấy ứng dụng không có quyền truy cập vào tài khoản của tôi.

Tôi đã kiểm tra các quyền - không có quyền nào được đặt. Vì vậy, điều duy nhất cần thiết là chấp nhận cửa sổ bật lên, như được hiển thị trong câu hỏi của bạn.


Ứng dụng 2

Ứng dụng khác mà bạn đề cập đến cũng thực hiện điều tương tự, trả lời rõ ràng hơn về những gì đang được truy cập.

Ứng dụng trả phí của tôi

THÔNG BÁO BẢO MẬT / RIÊNG TƯ
Lần đầu tiên bạn chạy ứng dụng này, ứng dụng sẽ yêu cầu toàn quyền cho tài khoản Google của bạn. Thật không may, đây là cách duy nhất để truy cập thông tin cần thiết. Không có thông tin cá nhân nào được lưu trữ, không có thông tin nào về ứng dụng của bạn được chia sẻ với nhà phát triển ứng dụng này cũng như không được chia sẻ với bất kỳ bên thứ ba nào. Mọi thứ chỉ được lưu trên điện thoại của bạn.


Tôi đã đi vào chi tiết về các ứng dụng này trong bài đăng blog này , dành cho một dự án capstone của trường đại học (không thu được tiền). Tôi có xu hướng nghĩ rằng đây là một khai thác trong API chứ không phải trạng thái do Google thiết kế, vì không có lệnh gọi API nào để tìm nạp các giao dịch mua ứng dụng ngoài ứng dụng của chính nhà phát triển. Tôi giả thuyết đó là một khai thác zero day, trong trường hợp đó không có cách hợp pháp nào để truy cập thông tin này.


10

Trong trường hợp của một trong những ứng dụng này (Ứng dụng phải trả phí của tôi), sau khi kiểm tra lưu lượng mạng, rõ ràng là nó sử dụng trang Tài khoản của Store để truy xuất danh sách các ứng dụng trả phí. Bây giờ, cơ chế mà nó sử dụng giống như cơ chế của Google Chrome hiện tại và Pokemon GO được cho là đã sử dụng tại một thời điểm.

Tóm lại, các bước để làm như sau:

  1. Đăng nhập : Những gì chương trình được đề cập làm trong bước đầu tiên là đăng nhập người dùng và nhận quyền truy cập vào mã thông báo truy cập của người dùng. Để làm như vậy, nó sử dụng android.accounts.AccountManager.getAuthToken()phương pháp. (Xem thêm: AccountManager ) Tuy nhiên, đối với phạm vi mã thông báo, oauth2:https://www.google.com/accounts/OAuthLoginđược yêu cầu. Điều quan trọng cần lưu ý là dựa trên tài liệu OAth2 từ Google, phạm vi này không hợp lệ; tuy nhiên, nó có vẻ như là một phạm vi hợp lệ cho Google OAuth v1.

  2. Chuyển đổi mã thông báo truy cập mới được truy xuất thànhubertoken : Bây giờ, những gì thực sự ubertokenphải làm, vẫn chưa được biết và không có tài liệu chính thức về nó. Tuy nhiên, nó đã được trình duyệt chrome sử dụng để đăng nhập người dùng một cách tự nhiên. Điều này được thực hiện bằng cách yêu cầu https://accounts.google.com/OAuthLogin?source=ChromiumBrowser&issueuberauth=1trang.

  3. Chuyển đổi ubertokensang phiên trang web : Sau này, sử dụng phiên bản mới được tạo ubertoken, có thể nhận được phiên trang web bằng cách sử dụng https://accounts.google.com/MergeSessionđiểm cuối API. Sau bước này, ứng dụng về cơ bản có khả năng tải tất cả các trang cá nhân mà bạn có thể mở bằng trình duyệt khi đăng nhập; ngoại trừ một số trang đặc biệt bao gồm cài đặt Thanh toán.

  4. Truy xuất danh sách các ứng dụng phải trả phí: Yêu cầu và phân tích https://play.google.com/store/accounttrang.

Sau đây là lưu lượng của ứng dụng được ghi lại bởi ' Packet Capture ' :

Lưu lượng truy cập đã thu thập

Vì nó có thể nhìn thấy rõ ràng trong hình, kết quả cuối cùng giống với những gì tôi nhận được khi tôi thường mở trang tài khoản của cửa hàng trên PC của mình bằng Chrome Desktop: Nguồn xem trên Chrome

Lưu ý phụ :

Có vẻ như không có điểm cuối nào trong số này được ghi lại vì chúng chủ yếu được sử dụng bởi các chương trình của riêng Google và nên được coi là nội bộ. Do đó, tôi thực sự khuyên bạn không nên sử dụng chúng trong bất kỳ chương trình hoặc mã nào mà bạn muốn chạy trong thời gian dài hoặc trong môi trường sản xuất. Ngoài ra, có một tin xấu ở đây cho bạn, có vẻ như trang tài khoản của Google Play chỉ liệt kê các ứng dụng trả phí hoặc ứng dụng miễn phí đặc biệt (đặc biệt hơn là ứng dụng OEM). Tôi sẽ cố gắng tìm một chút thời gian và tìm hiểu sâu hơn về ứng dụng khác.

Các bài báo thú vị :

Mã thông báo Pokemon

Khai thác mã thông báo OAuth2 của Google Chrome


1
Bạn có thể vui lòng hiển thị một mẫu đầy đủ để xem nó hoạt động như thế nào và trả lời các câu hỏi tôi đã hỏi không? Như tôi đã viết, tôi muốn nhận các thông tin khác nhau về từng ứng dụng: giá cả, thời điểm mua, v.v. ... Có thể lấy danh sách các ứng dụng miễn phí không?
nhà phát triển android

3

Nếu bạn có quyền truy cập root, Bạn có thể truy cập /data/data/com.android.vending/databases/library.db

OnePlus3T:/data/data/com.android.vending/databases
-rw-rw---- 1 u0_a2 u0_a2 229376 2018-12-26 18:01 library.db

Cơ sở dữ liệu này có tất cả thông tin, ứng dụng nào bạn đã tải xuống, ứng dụng nào bạn đã mua và thậm chí cả ứng dụng bạn đã thực hiện IAP.

Kiểm tra quyền sở hữu bảng, Nó có tất cả thông tin.

ownership (account STRING, library_id STRING, backend INTEGER, doc_id STRING, doc_type INTEGER, offer_type INTEGER, document_hash INTEGER, subs_valid_until_time INTEGER, app_certificate_hash STRING, app_refund_pre_delivery_endtime_ms INTEGER, app_refund_post_delivery_window_ms INTEGER, subs_auto_renewing INTEGER, subs_initiation_time INTEGER, subs_trial_until_time INTEGER, inapp_purchase_data STRING, inapp_signature STRING, preordered INTEGER, owned_via_license INTEGER, shared_by_me INTEGER, sharer_gaia_id TEXT, shareability INTEGER, purchase_time INTEGER, PRIMARY KEY (account, library_id, backend, doc_id, doc_type, offer_type))

1

Đối phó với các API không chính thức của Google là một lãnh thổ cực kỳ phức tạp. Sẽ có thể làm cho điều này hoạt động, nhưng đó là tất cả những gì tôi sẽ nói. Tiến hành với rủi ro của riêng bạn.

Điều đầu tiên bạn cần làm là lấy mã xác thực Google Play . Điều này có thể được thực hiện theo một số cách, nhưng đây là cách họ thực hiện trong Ứng dụng đã mua:

public static String getAuthToken(Activity activity, String userEmail) {

    AccountManager accountManager = AccountManager.get(activity);
    Account userAccount = new Account(userEmail, "com.google");

    Bundle options = new Bundle();
    options.putBoolean("suppressProgressScreen", true);

    String token;

    try {
      Bundle result = accountManager
        .getAuthToken(userAccount, "androidmarket", options, activity, null, null)
        .getResult();
      token = result.getString("authtoken");
    } catch (OperationCanceledException e) {
      Log.d(TAG, "Login canceled by user");
      return null;
    } catch (IOException | AuthenticatorException e) {
      Log.e(TAG, "Login failed", e);
      return null;
    }

    return token;
}

Một số điều cần lưu ý ở đây:

  • Đoạn mã trên phải được chạy không đồng bộ . Tôi khuyên bạn nên sử dụng RxJava, nhưng AsyncTask sẽ hoạt động.
  • Bạn phải cung cấp email cho tài khoản bạn muốn sử dụng. Tôi sẽ để lại thông tin chi tiết cho bạn nhưng điều này khá dễ sử dụng AccountManager.

Sau khi có mã xác thực, giờ đây bạn có thể truy cập vào bất kỳ điểm cuối nào của Cửa hàng Google Play . Cái chính mà Ứng dụng đã mua sử dụng là https://android.clients.google.com/fdfe/purchaseHistory. Một cái khác mà bạn có thể quan tâm là https://android.clients.google.com/fdfe/details?doc=(package name)(từ mã APKfetch ). Đây là một trang với một số khác và một số phân tích. Nếu bạn yêu cầu các API này, bạn sẽ cần cung cấp một số tiêu đề:

  • Authorization - "GoogleLogin auth=(your auth token)"
  • User-Agent - "Android-Finsky/6.4.12.C-all%20%5B0%5D%202744941 (api=3,versionCode=80641200,sdk=" + VERSION.SDK_INT + ",isWideScreen=0)";
  • X-DFE-Device-Id- ID khung các dịch vụ của Google trên thiết bị của bạn, được lấy từ AdvertisingIdClient .
  • X-DFE-Client-Id - "am-android-google"
  • Accept-Language- Mã ngôn ngữ của thiết bị, ví dụ "en".

Bây giờ, bạn cần phân tích cú pháp phản hồi . Đây là nơi mà mọi thứ trở nên phức tạp. Các API này trả về một thông báo được mã hóa dưới dạng Protobuf , vì vậy về cơ bản nó chỉ là dữ liệu nhị phân trừ khi bạn có một lược đồ (tất nhiên, chỉ Google mới có). Một cách để giải quyết vấn đề này trên lý thuyết là dịch ngược ứng dụng Cửa hàng Google Play và sử dụng lại các mô hình protobuf đã tạo của họ bằng một công cụ như JADX .

Thật không may, tôi đã thử điều này và nó không thực sự hoạt động. Các lớp mô hình Protobuf quá phức tạp đối với một trình dịch ngược tiêu chuẩn. Những gì bạn có thể sử dụng là một công cụ gọi là PBTK . Lý tưởng nhất là bạn sẽ muốn chạy ứng dụng này trên APK 6.1.12 của Cửa hàng Google Play, vì đó là phiên bản cuối cùng trước khi họ bắt đầu sử dụng ProGuard. Xin lưu ý rằng chương trình này có hai lỗi trong tập lệnh của nó cần được sửa trước khi chạy nó: thay đổi 'extracto'thành 'extractor'trong gui.py và xóa câu lệnh khẳng định trên dòng 500 của jar_extract.py .

Bây giờ, điều đó sẽ xuất ra tất cả các lớp phản hồi dưới dạng tệp .proto. Tạo một thư mục trong src / main được gọi protovà kéo toàn bộ thư mục 'com' đã tạo vào đó. Bạn có thể xóa mọi thứ không có trong đó com/google/android/finsky/protos. Làm theo hướng dẫn trực tuyến để thiết lập Gradle với plugin Protobuf Lite.

Khi bạn muốn phân tích cú pháp một phản hồi, bạn có thể sử dụng lớp ResponseWrapper, vì chúng dường như đều được chứa trong đó.

Đó là chừng nào tôi có thể đưa bạn đi. Rất có thể tôi đã mắc sai lầm một phần nào đó; JADX là người bạn tốt nhất của bạn ở đây, bởi vì cách tốt nhất để tìm ra ứng dụng đang làm gì là xem mã của nó. Hy vọng điều này sẽ giúp và phát triển hạnh phúc!


Về AccountManager, bạn có chắc là nó vẫn có sẵn không? Tôi nghĩ rằng ngày nay Google chỉ cung cấp tùy chọn để sử dụng AccountPicker(như ở đây: stackoverflow.com/a/26888259/878126 ). Nhưng làm thế nào để tôi thực hiện phần còn lại? Bạn đã thử nghiệm nó chưa? Nó đã làm việc cho bạn? Hãy chia sẻ mã cho nó. Đó là lý do tại sao tôi đã thiết lập một tiền thưởng, để xem nó hoạt động trong hành động ...
android phát triển

Yeah AccountPicker thực sự là một ý tưởng tốt hơn. Và có, tôi đã thử mã để nhận mã thông báo và nó hoạt động rất tốt. Tôi chưa thử phần còn lại vì tbh đó là ít nhất 5 giờ làm việc nếu mọi thứ suôn sẻ. Ngay cả một khoản tiền thưởng 500 cũng không đáng như vậy.
chất lượng

1
Đây là mã đầy đủ để nhận mã thông báo xác thực (nó hoạt động giống như các ứng dụng puchased trong ảnh chụp màn hình của bạn): github.com/ethanblake4/PlayStoreDemo
Qualverse 30/12/18

Lấy mã thông báo xác thực dường như hoạt động tốt. Nhưng phần khó khăn mà tôi nghĩ là việc tìm nạp các ứng dụng :(
nhà phát triển android

Vâng, đó là phần mất rất nhiều công việc đáng tiếc. Tuy nhiên, tôi đã dịch ngược mã cho Ứng dụng đã mua và đó là cách nó được thực hiện ở đó. Vui lòng cho tôi biết nếu bạn cần hỗ trợ về các bước trên.
Qualverse

-2

bạn có thể lấy tên gói của tất cả các ứng dụng đã cài đặt trên thiết bị và sau đó lấy thông tin của mọi gói đã cài đặt mà bạn tìm thấy trong thiết bị từ google play mà không cần truy cập tài khoản người dùng. có một số ứng dụng của bên thứ ba hoặc không chính thức để lấy thông tin chi tiết về ứng dụng của Google Play dưới dạng json bằng cách lấy tên gói ứng dụng. ví dụ: https://42matters.com/ sau đó sử dụng thông tin nhận được cho mọi gói để tìm gói miễn phí.


Không, câu hỏi tôi đặt ra là tiền thưởng của các ứng dụng mà người dùng đã từng cài đặt, chứ không chỉ những ứng dụng đã được cài đặt bây giờ. Ngoài ra, tại sao sử dụng không chính thức, nếu có một cách chính thức ...
android phát triển

@androiddeveloper Tôi đoán không có api chính thức nào để lấy thông tin chi tiết về ứng dụng bằng cách lấy tên gói trong google play. có bất kỳ api chính thức?
Bahman

@androiddeveloper google có giữ tên các ứng dụng miễn phí đã gỡ cài đặt cho mọi người dùng không?
Bahman

Đúng. Nếu bạn mở ứng dụng Cửa hàng Play, hãy chuyển đến ngăn điều hướng, sau đó đến "ứng dụng và trò chơi của tôi". Bạn sẽ thấy có tất cả các ứng dụng bạn đã từng cài đặt từ đó chứ không chỉ những ứng dụng hiện đang được cài đặt. Và theo Google, được phép (hoặc ít nhất có vẻ như họ nói vậy) sử dụng API này: Issuetracker.google.com/issues/79195087 . Hoặc, bất cứ ai nói chuyện với tôi là không quen thuộc với những gì đang diễn ra ở đó ...
android phát triển

-2

Tôi có hai nguồn để bạn xem xét, nhưng trước tiên, nói một cách ngắn gọn, không. không có api nào từ GOOGLE để cho phép bạn làm những gì bạn muốn, vì những chỉ số này không được lưu trữ trong điện thoại, chúng nằm trên các dịch vụ của cửa hàng google play và google không có api CHÍNH THỨC cho cửa hàng play. Tuy nhiên, bạn có thể thu thập một số thông tin từ hai trang web này:

https://www.quora.com/Is-there-an-API-for-the-Google-Play-Store nhập mô tả liên kết tại đây

/android/162146/how-to-see-all-the-apps-i-have-downloaded-from-google-play-store

và điều này đủ để thấy cách thực hiện điều này.

trước tiên, chỉ tài khoản mới có thể tham khảo danh sách những ứng dụng nào đã được tải xuống. và điều này có thể được thực hiện thông qua cửa hàng chơi. vì ứng dụng của bạn sẽ được cài đặt trên điện thoại của người dùng đó, điều này không quan trọng ... bạn đang tham gia.

thứ hai, bạn sẽ cần một API của bên thứ ba được xây dựng cho GOOGLE PLAY STORE, có một số ở đó, hãy kiểm tra liên kết đầu tiên.

bằng cách sử dụng api bạn chọn, bạn sẽ gửi một yêu cầu nhận đến cửa hàng chơi, và đổi lại, trong hầu hết các trường hợp, bạn sẽ nhận được một đối tượng json để deserialize.

deserialize đối tượng và bạn sẽ có danh sách của mình. danh sách nào bạn nhận được sẽ phụ thuộc vào điểm cuối bạn sử dụng, nhưng điều đó phải được giải thích bởi / trong chính API.

chúc may mắn!


Trong tất cả các liên kết ở đó, tôi không thấy liên kết nào có danh sách các ứng dụng đã được người dùng hiện tại cài đặt. Họ thậm chí không có giai đoạn đăng nhập. Tất cả chúng đều thu thập thông tin chung về ứng dụng, cho dù người dùng đã cài đặt chúng hay chưa.
nhà phát triển Android
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.