গুগল পরিষেবাদিগুলির সাথে এপিআইকি / বর্তমান কী হারিয়েছে Miss.০.০


157

যেহেতু আমি প্রকল্পটি গুগল পরিষেবা এবং লাইব্রেরিগুলির সর্বশেষ সংস্করণ (9.0.0) এর সাথে আপগ্রেড করেছি, তাই আমার এই আশ্চর্যজনক সমস্যাটি রয়েছে:

ত্রুটি নির্মাণে

গ্রেড কনসোল:

:app:processDebugGoogleServices
Parsing json file: /Users/cyrilmorales/Documents/Projects/mobilemeans-punainenristi/app/google-services.json
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
Information:BUILD FAILED

build.gradle (মূল):

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
    classpath 'com.google.gms:google-services:3.0.0'
}

build.gradle (অ্যাপ):

dependencies {
    ....
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    ...
}
apply plugin: 'com.google.gms.google-services'

তবে এটি 8.4.0 এবং গুগল পরিষেবাগুলি 2.1.0 এ প্লে পরিষেবা লাইব্রেরিগুলির সাথে ভাল কাজ করে

সমাধান সম্পর্কে আপনার কি ধারণা আছে?


আমি মানচিত্রগুলি ব্যবহার করছি এবং আমার এপিআইকি কী অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলে সংজ্ঞায়িত হয়েছে। আপনি কি এপিআইকি পেয়েছেন? যে ভালো কিছু <মেটা-ডেটা android: নাম = "com.google.android.geo.API_KEY" Android: মান = "AIzaSdfdfdfdfdfdfdfdfdRVxThQsNaqY" />
Grzegorz Bielański

হ্যা আমার আছে. ম্যানিফেস্টটি ভালভাবে কনফিগার করা হয়েছে, এটি সর্বদা কাজ করে .. এখন অবধি।
পামস্নাইপ

উত্তর:


162

এ থেকে নতুন কনফিগারেশন ফাইল (google-Services.json) উত্পাদন করুন: https://developers.google.com/cloud-messaging/android/client#get-config

নতুন "api_key": [ { "current_key": XXX } ]ক্লায়েন্ট বিভাগে ফাইল কনফিগার করুন

আপডেট: বা বিকাশকারী কনসোলে ম্যানুয়ালি সক্ষম পরিষেবা এবং উত্পন্ন কী।


1
নতুনভাবে কনফিগ ফাইলটিতে রয়েছে "এপিআইকি": [current "কারেন্ট_কি": XXX}]
জোজকা জোজন

1
কোন এপিআই কী সেখানে যাওয়া উচিত?
মার্কো জানেটি

8
আপনি অবশ্যই এটি ব্যবহার না করে এবং একটি নতুন জেসন ফাইল তৈরি না করেই আপনাকে অবশ্যই ক্লাউড মেসেজিং সক্ষম করতে হবে। আপনি যখন ক্লাউড বার্তাপ্রেরণ সক্ষম করবেন আপনার এপিআই কী এর এটির প্রয়োজন হবে।
রাফায়েল গুটিরিজ

2
ক্লাউড মেসেজিং এপিআই "api_key": [{"কারেন্ট_কি": "the_api_key"}] সক্ষম করে আমি JSON ফাইলে এপিআই কী পেয়েছি, তবে এখনও কাজ করে না। আমি জানি না এর সাথে কী হয়েছে। : - /
মার্কো জ্যানেটি

7
এই এপি_কি কী জন্য কে জানে? এটি এর আগে না করে
ঠিকঠাক

89

গুগল-পরিষেবাদি.জসন ফাইলে খালি বর্তমান কী মান যুক্ত করা আমার জন্য এই সমস্যার সমাধান করেছে

"api_key": [{ "current_key": "" }]


1
ভেবেছি আমি যুক্ত করব যে "এপিআইকি" মানটি "ক্লায়েন্ট" মানের ভিতরে রয়েছে
জানুয়ারী

2
@ আজাক্স-ম্যাক্স: এটি আমার পক্ষেও কাজ করেছিল। আপনি কেন এই কাজ করে তা ব্যাখ্যা করার জন্য এত দয়াবান হতে পারেন?
Pineda

1
পুরানো জিএমএস ক্লাউড মেসেজ ব্যবহার করে এটি সেরা সমাধান বলে মনে হচ্ছে। নতুন কনফিগার ফাইল ফায়ারবেস যোগ করার পরিবর্তে জিএমএস কী বাদ দেয়।
গর্ডন ডাব্লু

34

হ্যাঁ, প্রথমবারের মতো ফায়ারবেস ব্যবহার করে, আমি এরকম মুখোমুখি হয়েছি your আপনার অ্যাপ্লিকেশন মেনুতে ক্লিক করুন এবং "পরিচালনা করুন" ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

আপনি আবার গুগল-পরিষেবাদি.জসন ডাউনলোড করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন


2
হ্যাঁ আমি এটি আবার ডাউনলোড করেছি এবং এটি পরের বারের চেয়ে বড় ফাইল এবং এটি আমার জন্য সমস্যাটি স্থির করেছে
হাতেম বদাভি

1
আমি নিশ্চিত করতে পারি: আমি ফায়ারবেস অ্যানালিটিক্সের জন্য সাইন আপ করেছি এবং এটি স্বয়ংক্রিয়ভাবে কোনও গুগল-পরিষেবাদি ডাউনলোড করেছে no তারপরে আমি এটিকে ম্যানুয়ালি ডাউনলোড করেছি এবং এপিআই কীটি জসনে ছিল।
চিচিলাত্তে

এই ড্যাশবোর্ডে উঠতে ইউআরএল কী?
শান সৈকত

9

এই সমস্যাটির প্রত্যেকের জন্য, আপাতত, আপনাকে https://developers.google.com/cloud-messaging/android/client#get-config এ আপনার অ্যাপ্লিকেশনটিতে কোনও পরিষেবা যুক্ত করতে হবে

আমার ক্ষেত্রে আমি অ্যাডমব যুক্ত করেছি (ইতিমধ্যে বিশ্লেষণ এবং জিসিএম রয়েছে) এবং তারপরে এপি_কি দিয়ে ফাইলটি তৈরি করা হয়েছিল।

আমি মনে করি এটি একটি ত্রুটি এবং শীঘ্রই স্থির হয়ে যাবে, যতক্ষণ না এটি না করে।


প্রকৃতপক্ষে একটি বাগ আছে ... আমাকে নতুন জসন পেতে অ্যাপের আমন্ত্রণগুলিও যুক্ত করতে হয়েছিল
জীবরাজ এস শেখাওয়াত

হাই, আমি নতুন কনফিগারটি যুক্ত করেছি, তবে আইডিই এখনও অভিযোগ করছে যে এটি api_key
কোডটি

আপনি আইডিই খোলার আগে আপনি s 'api_key' value. Clearly thereকোনও ত্রুটি রয়েছে কিনা তা নিশ্চিত করতে কনফিগার ফাইলটি পরীক্ষা করতে পারেন , তাই সমস্যা সমাধানের জন্য আমাদের বিভিন্ন পদ্ধতির চেষ্টা করতে হবে।
এলভিস অলিভিরা

তার অর্থ কি, প্রতিবার আমি আমার গ্রেড ফাইলটিতে একটি নতুন নির্ভরতা যুক্ত করার পরে, আমাকে একটি নতুন গুগল-পরিষেবাদি.জসন ডাউনলোড করতে হবে কারণ এটি একটি নতুন এপিআইকি তৈরি করে?
অশোক বিজয় দেবনাথ

8

যদিও জোজকা জোজিনের গৃহীত উত্তর এবং তার মন্তব্যগুলি, ক্লাউড মেসেজিং সম্পর্কিত বা প্রয়োজনীয় নয়।

তবুও, পুনরায় উত্পাদনের google-services.jsonসমাধানের মূল চাবিকাঠি (সুতরাং আমি তাকে ভোট দিয়েছি)। নীচে আমি যা করেছি তা হল:

আপনি যেমন জানেন আপনি গুগল বিকাশকারী গাইড থেকে বিশ্লেষণের জন্য কনফিগার ফাইল তৈরি করতে পারেন ।

1: আপনার অ্যাপ্লিকেশন চয়ন করুন।

1) একটি অ্যাপ্লিকেশন চয়ন করুন

2: পপআপ বন্ধ করুন! এটি লুকায় ...

পপআপ বন্ধ করুন!

3: অ্যাডমোব বিকল্প!

অ্যাডমব এর লুকানো বিকল্প

4 course অবশ্যই এটি নির্বাচন করুন এবং সক্ষম করুন!

এটি সক্ষম করুন!

5: এখন আমরা সঠিকভাবে কনফিগারেশন ফাইল উত্পন্ন করতে পারি!

কনফিগারেশন ফাইল উত্পন্ন

6: আমরা এটি তৈরি! এবার কনফিগারেশন ফাইলটিতে যথাযথভাবে api_key অন্তর্ভুক্ত করা উচিত ।

আমরা এটি তৈরি!

উপসংহার: ইন্টারেক্টিভ প্রজন্মের সরঞ্জামটির ইউআই কিছুটা বিভ্রান্তিকর ...


1
ধন্যবাদ, আমি নতুন কনফিগার করতে সক্ষম হয়েছি, তবে আইডিই এখনও অভিযোগ করছে যে এটি api_key হারিয়েছে
কোড

একটি বিট বিভ্রান্তিকর ... এটা ভয়ঙ্কর হয় !!! আপনার পরিষ্কার ব্যাখ্যা জন্য কুডোস।
নীলস

7

আপনি google-services.jsonআবার ফাইলটি ডাউনলোড করতে পারেন ।

ডাউনলোডের পদক্ষেপগুলি:

1)। Firebaseকনসোলে আপনার অ্যাপের শীর্ষ মেনুতে ক্লিক করুন ।

2)। ম্যানেজ ক্লিক করুন।

3)। আপনি Download the latest configফাইল অপশন পাবেন, ডাউনলোড এবং google-services.jsonআপনার অ্যাপ্লিকেশন ফাইল প্রতিস্থাপন ।


4

আপনার JSON ফাইলে প্রথমে

প্রতিস্থাপন করা

"api_key": []

সঙ্গে

"api_key": [{ "current_key": "" }]

তারপরে গ্রেড বিল্ডটি সফল হবে তবে আপনি যখন আপনার অ্যাপ্লিকেশনটি চালাবেন আপনি নীচের মতো ত্রুটি পেতে পারেন ..

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
    File1: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.2.2\d20be6a5ddd6f8cfd36ebf6dea329873a1c41f1b\jackson-core-2.2.2.jar
    File2: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.2.2\3c8f6018eaa72d43b261181e801e6f8676c16ef6\jackson-databind-2.2.2.jar
    File3: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.2.2\285cb9c666f0f0f3dd8a1be04e1f457eb7b15113\jackson-annotations-2.2.2.jar

এই সমস্যাটি সমাধানের জন্য আপনি নিজের app.gradle ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করতে পারেন .. এটি আমার পক্ষে কাজ করেছে।

packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

সম্পাদনা: এপিপি ফাইলটি তৈরি করার সময় এটি আমাকে কিছু ত্রুটি দেখিয়েছিল। সুতরাং আমি আবার জসন ফাইল ডাউনলোড করতে হয়েছিল। 2 পরীক্ষার পরে আমি একটি বৈধ এপিআই কী দিয়ে জসন ফাইল পেয়েছি।


3

আপনি Firebase ব্যবহার না করেন তাহলে, সঠিক লিংক Google এর services.json কনফিগ ফাইল জেনারেট করতে আসলে পাওয়া যায় এখানে


2

https://developers.google.com/cloud-messaging/android/client#get-config এ google-Services.json পুনঃজেনার করুন , একটি গুরুত্বপূর্ণ বিষয় হ'ল আপনাকে "পরিষেবাগুলি চয়ন করুন" পদক্ষেপে ক্লাউড মেসেজিং সক্ষম করতে হবে , নতুন গুগলটি খুলুন -services.json ফাইল আপনি শব্দ দেখতে পাবেন

    "api_key": [
     {
       "current_key": "xxxxxxxxxxx"
     }"

এই শব্দ ছাড়া বা কারেন্ট_কি এর মান ব্যতীত সঠিক ফাইল নয়


2

আমি এখানে এই উত্তরগুলির উত্তর দেওয়া হয়নি এমন পদক্ষেপগুলি দিয়ে এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি। এই উত্তরটি ক্লাউড মেসেজিং সক্ষম করছে না, এটি কেবল এটির সার্ভার কী পুনরুদ্ধার করছে।

সুতরাং প্রথমে, ফায়ারবেস কনসোলে যান এবং তারপরে প্রকল্প সেটিংসে যান এবং তারপরে "ক্লাউড মেসেজিং" ট্যাবে ক্লিক করুন। এটি কোথায় "সার্ভার কী" বলেছে তা দেখুন এবং যদি কোনও দীর্ঘ কী প্রদর্শিত না হয় ("প্রেরক আইডি" নম্বর নয়) "পুনরায় তৈরি কী" ক্লিক করুন এবং একটি দীর্ঘ কী এখন দেখানো উচিত। এই কীটি অনুলিপি করুন এবং এটি আপনার google-Services.json ফাইলটিতে রাখুন:"api_key": [ {"current_key" : "key goes here"} ]

অন্য কেউ কেউ কাজ না করাকালীন এই পদ্ধতিটি আমাকে সহায়তা করেছিল, সুতরাং আশা করি এটি কাউকে সহায়তা করে।


2

এখানে চিত্র বর্ণনা লিখুন

ওভারভিউ -> গিয়ার আইকন -> প্রকল্প সেটিংস এ ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

সর্বশেষতম কনফিগারেশনটি ডাউনলোড করুন এ যান এবং ফাইলটি ডাউনলোড করতে অ্যাপ্লিকেশন ফোল্ডারে সংরক্ষণ করে আবার সংকলন করতে গুগল-পরিষেবা.জসন বোতামে ক্লিক করুন। উপভোগ করুন!


2

আপনার প্রকল্পে আপনাকে SHA শংসাপত্রের ফিঙ্গারপ্রিন্টগুলি যুক্ত করতে হবে এবং তারপরে আবার google-Services.jason ফাইলটি ডাউনলোড করতে হবে, এতে "api_key": [current "বর্তমান_কি": "xxxxxx"}] থাকা উচিত।

আঙুলের ছাপগুলি কীভাবে উত্পন্ন করা যায় তা দেখতে আপনি নীচের পৃষ্ঠাটি দেখতে পারেন:

https://developers.google.com/android/guides/client-auth

উইন্ডোজগুলিতে, কেবল নিম্নলিখিত কমান্ডটি কার্যকর করুন এবং ডিবাগের উদ্দেশ্যে পাসওয়ার্ড হিসাবে অ্যান্ড্রয়েড ব্যবহার করুন:

keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

1

ফায়ারবেস ব্যবহার

GoogleServices'. > Missing api_key/current_key object

নতুন ফায়ারবেস পরিষেবাগুলিতে একটি বিদ্যমান প্রকল্প আপডেট করার পরে আমি এই ত্রুটিটি পেয়েছি। ফায়ারবেস প্রকল্প সেটিংস পৃষ্ঠা থেকে ডাউনলোড করা উত্পন্ন গুগল-পরিষেবা.জসন ফাইলটিতে প্রয়োজনীয়টি অন্তর্ভুক্ত হয়নি ।api_key

অন্যান্য উত্তরগুলি থেকে এখানে দেখে মনে হচ্ছে এটি ফাইলটিতে অন্তর্ভুক্ত করার জন্য গুগল / ফায়ারবেস ক্লাউড মেসেজিং (জিসিএম / এফসিএম) যুক্ত করা দরকার ।api_keygoogle-service.json

সুতরাং আমি ফাইলটি আবার ডাউনলোড করার আগে ফায়ারবেস এফসিএমের উপর নির্ভরতা যুক্ত করেছি এবং এবার কীটি অন্তর্ভুক্ত করা হয়েছিল।

এফসিএম (জিসিএম) অন্তর্ভুক্ত করুন

dependencies {
     compile 'com.google.firebase:firebase-messaging:9.0.0'
}

1

আপনি যদি google-services.jsonফাইলটি পুনরায় কনফিগার করতে এবং ডাউনলোড করতে না চান তবে আপনি ফায়ারবেস কনসোল থেকে সরাসরি এপি কীটি আনতে পারেন। শুধু যাও

ওভারভিউ> অন্য অ্যাপ্লিকেশন> ওয়েব যুক্ত করুন

এতে আপনার ডাটাবেসের জন্য কনফিগারেশন পাবেন apiKey। কেবলমাত্র সেই মানটি অনুলিপি করুন এবং current_keyনীচে XXX এর দ্বারা চিহ্নিত মান হিসাবে এটি স্থাপন করুন

"api_key": [{ "current_key": "XXX" }]

0

ফায়ারবেস মাইগ্রারদের জন্য:

নিশ্চিত হয়ে নিন যে আপনি আপনার প্রকল্পের সেটিংসে কমপক্ষে একটি আঙুলের ছাপ যুক্ত করেছেন এবং google-Services.json ফাইলটি পুনরায় ডাউনলোড করুন


ধন্যবাদ মানুষ, আমি কোড ল্যাব নির্দেশাবলী অনুসারে গিয়েছিলাম এবং প্রথমে SHA1 কী যুক্ত করি নি। পরে আমাকে আমার অ্যাপিকি হিসাবে যুক্ত করতে হয়েছিল - কারেন্টকি অনুপস্থিত ছিল। নিশ্চিত ছিল না যে ঘটনাটি ছিল কিনা। তবে এটি আমার সমস্যা সমাধান করেছে।
রানা রণভিজয় সিংহ

0

আপনি যদি ফায়ারবেস ব্যবহার করছেন তবে আপনাকে ফায়ারবেস থেকে গুগল-পরিষেবাদি.জসনে সার্ভারকিকে অনুলিপি করতে হবে

 "api_key": [{ "current_key": "SERVER_KEY"}

সার্ভার কী পেতে, গোটো প্রজেক্ট ওভারভিউ> প্রকল্প সেটিংস> ক্লাউড ম্যাসেজিং> অনুলিপি করুন বা সার্ভারকে কী তৈরি করুন এবং কপি করুন ..


0

এটি আপনার গুগল-পরিষেবা.জসন ফাইলে যুক্ত করুন। আপনি এটি অ্যাপ্লিকেশন / গুগল-পরিষেবা.জসনের অধীনে পাবেন

"এপিআইকি": [current "কারেন্ট_কি": "আপনার-গুগল-এপিআই-কি"}]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.