Странные результаты с использованием библиотеки Android PHP API

#php #android #api #google-play

#php #Android #API #google-play

Вопрос:

Используя PHP-реализацию java android market API, я пытаюсь отобразить 10 самых популярных приложений.

Используя приведенный ниже код:

 <?php
include("local.php");
include("../proto/protocolbuffers.inc.php");
include("../proto/market.proto.php");
include("../Market/MarketSession.php");

$session = new MarketSession();
$session->login(GOOGLE_EMAIL, GOOGLE_PASSWD);
$session->setAndroidId(ANDROID_DEVICEID);

$ar = new AppsRequest();
$ar->setOrderType(AppsRequest_OrderType::POPULAR);
$ar->setStartIndex(0);
$ar->setEntriesCount(10);
//free or paid
//$ar->setViewType(AppsRequest_ViewType::ALL);
//arcade etc
//$ar->setCategoryId("ARCADE");


$reqGroup = new Request_RequestGroup();
$reqGroup->setAppsRequest($ar);

$response = $session->execute($reqGroup);

$groups = $response->getResponsegroupArray();
foreach ($groups as $rg) {
    $appsResponse = $rg->getAppsResponse();
    $apps = $appsResponse->getAppArray();
    foreach ($apps as $app) {
          echo $app->getTitle()."<br/>";

    }
}
  

Но результаты, которые я получаю, не совсем то, что я ожидал:

 Brightest Flashlight Freeâ„¢
LauncherPro
Seesmic (Facebook, Twitter)
Android Assistant(18 features)
Pho.to Lab
US Yellow Pages
Sudoku Free
Color Flashlight
ElectroDroid
Scanner Radio
  

Я ожидал, что список 10 лучших приложений будет содержать Gmail, Facebook, Youtube и т. Д

Кто-нибудь знает, почему это может происходить? Какие-либо альтернативные API, которые мы могли бы использовать? Любым другим способом мы можем достичь этого?

Комментарии:

1. Похоже, это работает для меня. Вы уверены, что один из фильтров, таких как «ANDROID_DEVICEID», не ограничивает результаты?

2. Поля ANDROID_DEVICEID, GOOGLE_EMAIL и GOOGLE_PASSWD необходимы для получения чего-либо вообще из API.

3. Я ожидал, что список 10 лучших приложений будет содержать Gmail, Facebook, Youtube и т. Д

4. Автор Brightest Flashlight Freeâ„¢ , должно быть, миллионер!

5. Этот способ неэффективен. Это не официальный API, и его разработчики могут изменять или обновлять несколько раз, поэтому вам нужно будет несколько раз менять свой код или подход. Я создал приложение с этим неофициальным API, в первый раз оно работало хорошо, затем через 1 месяц произошел сбой, и снова стало работать, затем снова произошел сбой. И этот API может извлекать информацию не обо всех приложениях на рынке. Я думаю, что у разработчиков есть своя собственная база данных, и они обновляют ее, когда захотят. Я решил не использовать этот API.