android - يتعذر على التطبيق المنشور على متجر Play التواصل مع Google Maps API و Facebook API




google-maps google-play (4)

ل Facebook لإنشاء مفتاح التجزئة ، استخدم الكود أدناه:

try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "YOUR PACKAGE NAME",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

بمجرد تلقي رمز التجزئة ، قم بلصقه في وحدة تحكم مطور Facebook والمضي قدمًا

آمل أن يساعد :)

لقد قمت بإنشاء APK موقّع مع Android Studio ، وأضفته إلى وحدة تحكم Google Developer ووحدة تحكم Facebook ببصمة أصبعتي SHA1 ومفاتيح api النسبية في تطبيقي. كل شيء يعمل بشكل جيد إذا قمت بتحميل apk موقعة عبر usb ، بعد تثبيته ، يعين api و facebook api يعمل بشكل جيد. إذا قمت بتحميل ملف apk نفسه على متجر Play ، فعندما أحاول تسجيل الدخول باستخدام Facebook ، فهذا يعني "تجزئة المفتاح غير صالحة. لا يتطابق مفتاح التجزئة blablabla مع أي مخزن ..". لذلك إذا قمت بتسجيل الدخول بدون facebook ، لا يمكنني حتى الحصول على خرائط google الخاصة بي ؛ هذا يقودني إلى الاعتقاد بأن ملف apk الذي تم تحميله في متجر Play يغير بصماته أو بعض الأشياء المشابهة. لقد راجعت جميع الأشياء على Android Developers و Stackoverflow ، لكنني لا أستطيع تشغيلها ، لأن الشيء المهم هو أن إصدار apk الموقّع يعمل بشكل جيد حتى أحمله على Play Store.


لقد تم حلها أخيرًا ، فربما كانت المشكلة أن الملف google_maps_api.xml المقدم من api لم يتم تحميله في الإصدار ، لذلك

فعلت مثل هذا:

buildTypes {
    debug {
        manifestPlaceholders = [mapsKey: "AIzaSyB8o9KzQ5YN8U8AFS************"]
    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        manifestPlaceholders = [mapsKey: "AIzaSyApLacqgkdIR7uEpcf*****************"]
    }
}

ثم في بلدي AndroidManifest

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${mapsKey}" />

المرجع:

ثم قمت بتسجيل اثنين من المفاتيح المختلفة مع كل بصمة sha1 الصحيحة ، تصحيح واحد والآخر تعطى من قبل وحدة التحكم في Google Play (وليس شهادة التحميل ، ولكن الأخرى التي أنشأتها جوجل).

شكرا جدا جدا لزهاد وأندي المطور للإلهام.


نعم ، من الواضح أن الخريطة لن يتم تحميل ملف APK الموقّع.

حل:

عند إنشاء مفتاح API في وحدة تحكم Google API ، يلزمك تقييد المفتاح باستخدام مفتاح SHA

ولكن بعد إنشاء APK Signed ، يجب أن تأخذ مفتاح SHA في وضع الإصدار وإضافة وحدة تحكم API لواجهة برمجة التطبيقات

لقد أرفقت صورة ، إلقاء نظرة

آمل أن يساعد.


يتم توقيع أنواع الإنشاء الخاصة بالتصحيح والإصدار باستخدام مفتاحين مختلفين.

تحتاج إلى تسجيل كلا المفتاحين في خرائط Google و Facebook لهما للسماح بالوصول إلى خدماتهما





android-keystore