2013-04-26 18 views
9

Chcemy dystrybuować naszą aplikację w Chinach, ale obecnie mamy numer BIG.Usługi Google Play są wymagane, ale Google Play (rynek) nie jest zainstalowany. Co robić?

Aplikacja wymaga zainstalowanych Usług Google Play. Zwykle działa dobrze: użytkownik jest monitowany o okno dialogowe, a aplikacja została przesłana do aplikacji Google Play, gdzie można zainstalować aplikację usługi Google Play Google Play Services.

A w Chinach? Gdy telefon z Androidem jest kupowany w Chinach kontynentalnych, zazwyczaj nie ma zainstalowanego Google Play. I tak pozostaje, użytkownicy zazwyczaj nigdy nie pobierają aplikacji Google Play (patrz: here i there).

Staramy się więc: gdy wykryjemy, że użytkownik nie ma zainstalowanego Google Play, wysyłamy go pod adres URL, pod którym można pobrać pakiet APK Usług Google Play bezpośrednio. Ale - zgodnie z oczekiwaniami - nie mogliśmy znaleźć stabilnego adresu URL, gdzie apk jest dostępny do pobrania.

Czy któryś z Państwa napotkał ten sam rodzaj problemów? Jak to rozwiązałeś? Jeśli nie masz pomysłów, sugestii? Każda pomoc będzie mile widziana :)

Dziękujemy!

+0

Jeśli urządzenia nie są certyfikowane przez Google i nie pochodzą z Google Play od producenta, jestem pewien, że nie będą działać z instalacją tylko pakietu APK Google Play, ponieważ polegał on na innych zbudowany w zależnościach Google w urządzeniu z certyfikatem Google. – kaderud

+0

Do czego potrzebne są usługi Play? Czy szukałeś alternatywnego sposobu osiągnięcia celu? – stan0

+0

Dzięki za odpowiedzi.Potrzebujemy go, ponieważ używamy interfejsu API Map Google. I nie chcemy instalować Google Play, ale Google Play ** Usługi **. – Vincent

Odpowiedz

1

To jest późna odpowiedź, zawarta w komentarzu, który już opublikowałem w odpowiedzi wysłanej przez @johlo, ale aby wyjaśnić, co napiszę, to co zrobiliśmy, "zadziałało" w nadziei, że pomoże komuś. Nie wahaj się skomentować za wyjaśnienia.

faktycznie znalazłem bardzo brzydki sposób instalowania usługi Google Play: jeśli użytkownik nie ma w Google Play używamy URL do pobrania w Google Play APK Services .. To najlepsze co mogliśmy zrobić ..

+2

Uważam, że Usługi Google Play są zastrzeżone i niezgodne z prawem jest rozpowszechnianie ich w taki sposób ... może to spowodować problemy. – npace

2

usługi Google Play APK jest dostępny tylko z Google Play Store i nie obsługuje instalacji na urządzeniach bez App Store, zobacz http://developer.android.com/google/play-services/index.html

W zależności od rodzaju funkcjonalność korzystania z Pakiet APK usługi Google Play, który musisz użyć zewnętrznego interfejsu API lub wdrożyć go samodzielnie.

+0

Dziękuję za odpowiedź:) w rzeczywistości jesteśmy uzależnieni od Usług Google Play, ponieważ nasza aplikacja korzysta z interfejsu Google Maps API. I potrzebujemy tego API, ponieważ w zasadzie cała nasza aplikacja dotyczy map. Czy istnieją inne biblioteki map, które są tak kompletne i precyzyjne jak mapy google? – Vincent

+0

Jestem pewien, że wiesz więcej o różnych alternatywach na mapie, czy spojrzałeś na OpenStreetMap przez coś takiego jak osmdroid? http://wiki.openstreetmap.org/wiki/Android http://code.google.com/p/osmdroid/ – johlo

+0

Problem polega na tym, że wymagałoby to wiele pracy (badanie i wdrożenie). Ale to dobry pomysł, będzie trzymać go blisko dzięki;). Naprawdę znalazłem bardzo brzydki sposób instalowania usług Google Play: jeśli użytkownik nie ma Google Play, korzystamy z adresu URL, aby pobrać pakiet APK Usług Google Play. To jest najlepsze, co możemy zrobić. – Vincent

2

Dodaj najnowszy pakiet APK usług Google Play do swojej witryny i pobierz go z aplikacji klienckiej, a następnie powiedz użytkownikom, aby go zainstalowali.

+0

Czy to działa, czy próbowałeś to? –

0

Użyj tej metody, będzie to pomocne.

public void checkGooglePlayServices(){ 
    // Check status of Google Play Services 
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 
    // Check Google Play Service Available 
    try{ 
     if (status != ConnectionResult.SUCCESS) { 
      GooglePlayServicesUtil.getErrorDialog(status, this, 10).show(); 
     } 
    } 
    catch (Exception e) { 
     Log.e("Error: GooglePlayServiceUtil: ", "" + e); 
    } 
}