Android Google Place Picker pracuje v Podepsáno APK, ale nefunguje Live aplikací

hlasů
1

Mám aplikaci, ve které jsem použil Google Place Picker. Tam je velmi zvláštní problém jsem čelí. Když tvořím podepsanou APK s úložišti klíčů mého app, Place Picker funguje velmi dobře. Tentýž APK Mám nahráno přes Google Obchodě Play. Když jsem přišel otevřít Place Picker automaticky uzavřen. Už jsem četl spoustu připomínek on-line a také zde v SO. Ale nemohu zjistit, proč jeho funguje dobře v podepsanou APK a stejný APK, který je přes Google Obchodě Play nefunguje.

Když jsem zkontrolovat protokoly živých aplikaci Google Obchodě Play to dává chybu takto:

Volley : [198] BasicNetwork.performRequest: Unexpected response code 403
for https: //www.googleapis.com/placesandroid/v1/search?key=MY_KEY/ ? V / ConnectivityManager : isActiveNetworkMetered() returns: true
/ ? E / AsyncOperation : serviceID = 65, operation = SearchPlaces
OperationException[Status {
 statusCode = PLACES_API_INVALID_APP, resolution = null
}]

Už jsem se zapsal do mé konzoli pro vývojáře Google, že můj klíč je stejný, nebo ne. Také si ověřím SHA, které jsem vytvořil ze svého souboru úložiště klíčů. A to všechno jsou dobré (V opačném případě to bude také není práce v autorizovaném APK, jestli tam něco křivdy).

Zde je, jak jsem volat Place Picker z mé činnosti

int PLACE_PICKER_REQUEST = 999;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

Tady je můj AndroidManifest.xml soubor, kde mám dát svůj klíč API v meta data, která jsou do aplikace značku.

<?xml version=1.0 encoding=utf-8?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
    package=com.example >
    // ALL PERMISSIONS ARE HERE
    <application
        android:allowBackup=true
        android:[email protected]/ic_launcher
        android:[email protected]/app_name
        android:[email protected]/AppTheme >
        <activity
            android:name=.MainActivity
            android:[email protected]/app_name >
            <intent-filter>
                <action android:name=android.intent.action.MAIN />
                <category android:name=android.intent.category.LAUNCHER />
            </intent-filter>
        </activity>
        <meta-data            
            android:name=com.google.android.geo.API_KEY
            android:[email protected]/MY_KEY />
    </application>
</manifest>

Tam je soubor, který i odstraněn „uvolnění / hodnoty / google_maps_api.xml“, což je automatické generován. Jak jsem již zmínil můj API klíč do string.xml, tak jsem vymazány celý tento hodnoty balíček z instalačního balíčku.

Může mi někdo říct, co je špatného?

Položena 19/09/2017 v 17:28
uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
4

Po několika dnech investovat čas pro nalezení řešení tohoto problému. Nakonec jsem se dostal roztok. Je to proto, že z Play Google App podepisování .

S Google Play Podpisy: Vy podepsat aplikace s nahrávaném klíčem. Potom Google ověřuje a odstraňuje klíčovou podpis nahrávání. Konečně, Google re-označení aplikace s původním app podpisového klíče, který poskytuje a dodává aplikaci pro uživatele.

Takže, když jsem vytvořil API klíč pro „míst Google API pro Android“ jsem omezený, že klíč s použitím mé jméno balíčku a můj SHA-1 podepsané APK úložiště klíčů.

Nyní, když je pod „načíst certifikát“, a to se nepoužívá, protože musím projít svůj App zpěv certifikát je SHA-1 na Google Developer Console. A po tom, že účet Google Obchodě Play Live aplikace v Google PlacePicker funguje dobře.zadejte popis obrázku zde

Odpovězeno 01/10/2017 v 18:15
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more