FAQ: আইকন / স্প্ল্যাশ স্ক্রিন (কর্ডোভা 5.x / 2015)
আমি আমার জেনারেল এফএকিউ হিসাবে আমার উত্তর উপস্থাপন করি যা আইকন / স্প্ল্যাশ স্ক্রিনগুলি মোকাবেলা করার সময় আমি যে অনেক সমস্যার মুখোমুখি হয়েছি তা সমাধান করতে আপনাকে সহায়তা করতে পারে। আপনি আমার মতো খুঁজে পেতে পারেন যে ডকুমেন্টেশন সবসময় খুব স্পষ্ট হয় না এবং আপ টু ডেট হয় না। এটি উপলভ্য হলে সম্ভবত স্ট্যাকওভারফ্লো ডকুমেন্টেশনে যাবে।
প্রথম: প্রশ্নের উত্তর দেওয়া
ফোনগ্যাপ সহ আমি কীভাবে আইওএস এবং অ্যান্ড্রয়েডের জন্য কাস্টম অ্যাপ আইকন যুক্ত করতে পারি?
মধ্যে Cordova আপনার সংস্করণেicon
ট্যাগ অনর্থক। এটি কর্ডোভা 3.0.0 তেও নথিভুক্ত করা হয়নি। আপনি যে ডকুমেন্টেশন সংস্করণটি ব্যবহার করছেন সেই ক্লিমে ফিট করে এবং সর্বশেষটি নয়!
আইকন ট্যাগ আমি কি ডকুমেন্টেশন বিভিন্ন সংস্করণ দেখতে পাবেন অনুসারে সংস্করণ 3.5.0 আগে এ সব Android এর জন্য কাজ করে না। 3.4.0 এ তারা ম্যানুয়ালি ফাইলগুলি অনুলিপি করার পরামর্শ দেয়
আরও নতুন সংস্করণগুলিতে : config.xml
নতুন কর্ডোভা সংস্করণগুলির জন্য আপনার চেহারা আরও ভাল। তবে এখনও অনেকগুলি জিনিস আপনি জানতে চাইতে পারেন। আপনি যদি এখানে আপগ্রেড করার সিদ্ধান্ত নেন তবে সংশোধন করার জন্য কয়েকটি দরকারী জিনিস রয়েছে:
- আপনার
gap:
নেমস্পেসের দরকার নেই
- আপনার
<preference name="SplashScreen" value="screen" />
অ্যান্ড্রয়েড দরকার need
আইকনগুলি এবং স্প্ল্যাশ স্ক্রিনটি মোকাবেলা করার সময় আপনি নিজের থেকে যে প্রশ্নগুলি জিজ্ঞাসা করতে পারেন তার আরও বিশদ এখানে রয়েছে:
আমি কি কর্ডোভা / ফোনগ্যাপের একটি পুরানো সংস্করণ ব্যবহার করতে পারি?
না, আইকন / স্প্ল্যাশস্ক্রিন বৈশিষ্ট্যটি কর্ডোভার আগের সংস্করণগুলিতে ছিল না তাই আপনাকে অবশ্যই একটি সাম্প্রতিক সংস্করণ ব্যবহার করতে হবে। পূর্ববর্তী সংস্করণগুলিতে, কেবলমাত্র ফোনগ্যাপ বিল্ডই আইকনগুলি / স্প্ল্যাশ স্ক্রিন পরিচালনা করে তাই স্থানীয়ভাবে বিল্ডিং এবং আইকনগুলি পরিচালনা করা কেবল একটি হুক দিয়েই সম্ভব ছিল। এই বৈশিষ্ট্যটি ব্যবহার করার জন্য আমি ন্যূনতম সংস্করণটি জানি না তবে 5.1.1 দিয়ে এটি কর্ডোভা / ফোনগ্যাপ উভয় ক্লাইনেই দুর্দান্ত কাজ করে। কর্ডোভা 3.5 এর সাথে এটি আমার পক্ষে কার্যকর হয়নি।
সম্পাদনা করুন : অ্যান্ড্রয়েডের জন্য আপনাকে কমপক্ষে 3.5.0 ব্যবহার করতে হবে
আমি কীভাবে আইকনগুলি সম্পর্কে বিল্ড প্রক্রিয়াটি ডিবাগ করতে পারি?
ক্লিপ একটি সিপি কমান্ড ব্যবহার করে। আপনি যদি একটি অবৈধ আইকন পথ সরবরাহ করেন তবে এটি একটি cp
ত্রুটি দেখাবে :
sebastien@sebastien-xps:cordova (dev *+$%)$ cordova run android --device
cp: no such file or directory: /home/sebastien/Desktop/Stample-react/cordova/res/www/stample_splash.png
সম্পাদনা করুন : cordova build <platform> --verbose
আপনার আইকনগুলি অনুলিপি করা হয়েছে তা দেখতে আপনি সিপি কমান্ড ব্যবহারের লগগুলি পেতে ব্যবহার করতে পারেন
আইকনগুলি কনফিগার অনুযায়ী কোনও ফোল্ডারে যেতে হবে। আমার জন্য এটি অনেক সাবফোল্ডারগুলিতে যায়:platforms/android/build/intermediates/res/armv7/debug/drawable-hdpi-v4/icon.png
তারপরে আপনি এপিপিটি সন্ধান করতে পারেন এবং আইকন উপস্থিত রয়েছে তা পরীক্ষা করার জন্য এটি জিপ সংরক্ষণাগার হিসাবে এটি খুলুন। এগুলি অবশ্যই একটি res/drawable*
ফোল্ডারে থাকতে হবে কারণ এটি অ্যান্ড্রয়েডের জন্য একটি বিশেষ ফোল্ডার ।
আমার প্রকল্পে আইকন / স্প্ল্যাশ স্ক্রিনগুলি কোথায় রাখব?
অনেক উদাহরণে আপনি দেখতে পাবেন আইকনগুলি / স্প্ল্যাশ স্ক্রিনগুলি কোনও res
ফোল্ডারের অভ্যন্তরে ঘোষণা করা হয়েছে । এটি res
আউটপুট APK এ একটি বিশেষ অ্যান্ড্রয়েড ফোল্ডার, তবে এর অর্থ এটি নয় যে আপনাকে res
আপনার প্রকল্পে একটি ফোল্ডার ব্যবহার করতে হবে ।
আপনি আপনার আইকনটি যে কোনও জায়গায় রাখতে পারেন, তবে আপনি যে পথটি ব্যবহার করছেন তা অবশ্যই প্রকল্পের মূলের সাথে সম্পর্কিত হতে পারে , www
তাই যত্ন নেবে না ! এটি নথিভুক্ত হয়েছে, তবে স্পষ্টভাবে নয় কারণ সমস্ত উদাহরণ ব্যবহার করছে res
এবং আপনি জানেন না যে এই ফোল্ডারটি কোথায় :(
আমি বলতে চাইছি আপনি যদি আইকনটি www/icon.png
নিখরচায় রাখেন তবে অবশ্যই www
আপনার পথে অন্তর্ভুক্ত থাকবে ।
মঙ্গল গ্রহ ২০১ Edit সম্পাদনা করুন : আমার সংস্করণগুলি আপগ্রেড করার পরে, এখন মনে হচ্ছে আইকনগুলি www
ফোল্ডারের সাথে সম্পর্কিত তবে ডকুমেন্টেশন পরিবর্তন করা হয়নি ( সমস্যা )
নেই <icon src="icon.png"/>
কাজ করে?
না এটা না! ।
অ্যান্ড্রয়েডে, মনে হয় এটি আগে কাজ করত (যখন ঘনত্বের বৈশিষ্ট্যটি এখনও সমর্থিত হয়নি) তবে আর নয়। এই কর্ডোভা ইস্যুটি দেখুন
আইওএস-এ, মনে হয় যে এই বিশ্বব্যাপী ঘোষণাপত্রটি আরও সুনির্দিষ্ট ঘোষণাপত্রকে ওভাররাইড করতে পারে তাই --verbose
সবকিছুই প্রত্যাশার মতো কাজ করে তা নিশ্চিত করার জন্য যত্ন সহকারে তৈরি করুন ।
আমি কি সমস্ত ঘনত্বের জন্য একই আইকন / স্প্ল্যাশ স্ক্রিন ফাইলটি ব্যবহার করতে পারি?
হ্যা, তুমি পারো. এমনকি আপনি আইকন এবং স্প্ল্যাশ স্ক্রিন উভয়ের জন্য একই ফাইল ব্যবহার করতে পারেন (কেবল পরীক্ষা করার জন্য!)। আমি কোনও সমস্যা ছাড়াই 65kb এর একটি "বড়" আইকন ফাইল ব্যবহার করেছি।
প্ল্যাটফর্ম বৈশিষ্ট্য বনাম প্ল্যাটফর্ম ট্যাগ ব্যবহার করার সময় কি পার্থক্য
<icon src="icon.png" platform="android" density="ldpi" />
এটার মতই
<platform name="android">
<icon src="www/stample_icon.png" density="ldpi" />
</platform>
ফোনগ্যাপ ব্যবহার করা হলে আমার কি ফাঁক: নাম স্থানটি ব্যবহার করা উচিত?
আমার অভিজ্ঞতায় ফোনগ্যাপ বা কর্ডোভা নতুন সংস্করণ উভয়ই কোনও gap:
এক্সএমএল নেমস্পেস ব্যবহার না করে আইকন ঘোষণাগুলি বুঝতে সক্ষম ।
তবে আমি এখনও এখানে একটি বৈধ উত্তরের জন্য অপেক্ষা করছি: কর্ডোভা / ফোনগ্যাপ প্লাগইন যোগ করুন ভিএস কনফিগারেশন। এক্সএমএল
আমি যতদূর বুঝতে পেরেছি, gap:
নেমস্পেসের সাথে কিছু বৈশিষ্ট্যগুলি আগে ফোনগ্যাপ বিল্ডে, তারপরে ফোনগ্যাপে এবং তারপরে কর্ডোভাতে (?) পোর্ট করা যেতে পারে available
হয় <preference name="SplashScreen" value="screen" />
প্রয়োজনীয়?
কমপক্ষে অ্যান্ড্রয়েডের জন্য হ্যাঁ এটি। অতিরিক্ত ব্যাখ্যা সহ আমি একটি সমস্যা খুললাম ।
আইকন ঘোষণার বিষয়টি কি গুরুত্বপূর্ণ?
হ্যাঁ এটা করে! অ্যান্ড্রয়েডে এর কোনও প্রভাব নাও পড়তে পারে তবে আমার পরীক্ষাগুলি অনুসারে এটি আইওএসে রয়েছে। এটি অপ্রত্যাশিত এবং অনিবন্ধিত আচরণ তাই আমি অন্য একটি সমস্যা খুলেছি ।
আমার কি দরকার cordova-plugin-splashscreen
?
হ্যাঁ স্প্ল্যাশ স্ক্রিনটি কাজ করতে চাইলে এটি নিখরচায়ভাবে প্রয়োজন। ডকুমেন্টেশন পরিষ্কার নয় ( ইস্যু ) এবং আমাদের মনে করুন যে প্লাগইনটি কেবল একটি স্প্ল্যাশ স্ক্রিন জাভাস্ক্রিপ্ট এপিআই সরবরাহ করার জন্য প্রয়োজন।
সমস্ত প্রস্থ / উচ্চতা / ঘনত্বের জন্য আমি কীভাবে চিত্রগুলি দ্রুত আকার দিতে পারি
আপনাকে এটি করতে সাহায্য করার জন্য সরঞ্জামগুলি রয়েছে। আমার জন্য সেরাটি হ'ল http://makeappicon.com/ তবে এর জন্য একটি ইমেল ঠিকানা সরবরাহ করা প্রয়োজন।
অন্যান্য সম্ভাব্য সমাধানগুলি হ'ল:
আপনি কি আমাকে একটি উদাহরণ কনফিগার করতে পারেন?
হ্যাঁ. এখানে আমার বাস্তবconfig.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="co.x" version="0.2.6" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:gap="http://phonegap.com/ns/1.0">
<name>x</name>
<description>
x
</description>
<author email="info@x.co" href="https://x.co">
x
</author>
<content src="index.html" />
<preference name="permissions" value="none" />
<preference name="webviewbounce" value="false" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#0177C6" />
<preference name="detect-data-types" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="22" />
<preference name="phonegap-version" value="cli-5.1.1" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashScreen" value="screen" />
<plugin name="cordova-plugin-device" spec="1.0.1" />
<plugin name="cordova-plugin-console" spec="1.0.1" />
<plugin name="cordova-plugin-whitelist" spec="1.1.0" />
<plugin name="cordova-plugin-crosswalk-webview" spec="1.2.0" />
<plugin name="cordova-plugin-statusbar" spec="1.0.1" />
<plugin name="cordova-plugin-screen-orientation" spec="1.3.6" />
<plugin name="cordova-plugin-splashscreen" spec="2.1.0" />
<access origin="http://*" />
<access origin="https://*" />
<access launch-external="yes" origin="tel:*" />
<access launch-external="yes" origin="geo:*" />
<access launch-external="yes" origin="mailto:*" />
<access launch-external="yes" origin="sms:*" />
<access launch-external="yes" origin="market:*" />
<platform name="android">
<icon src="www/stample_icon.png" density="ldpi" />
<icon src="www/stample_icon.png" density="mdpi" />
<icon src="www/stample_icon.png" density="hdpi" />
<icon src="www/stample_icon.png" density="xhdpi" />
<icon src="www/stample_icon.png" density="xxhdpi" />
<icon src="www/stample_icon.png" density="xxxhdpi" />
<splash src="www/stample_splash.png" density="land-hdpi"/>
<splash src="www/stample_splash.png" density="land-ldpi"/>
<splash src="www/stample_splash.png" density="land-mdpi"/>
<splash src="www/stample_splash.png" density="land-xhdpi"/>
<splash src="www/stample_splash.png" density="land-xhdpi"/>
<splash src="www/stample_splash.png" density="land-xhdpi"/>
<splash src="www/stample_splash.png" density="port-hdpi"/>
<splash src="www/stample_splash.png" density="port-ldpi"/>
<splash src="www/stample_splash.png" density="port-mdpi"/>
<splash src="www/stample_splash.png" density="port-xhdpi"/>
<splash src="www/stample_splash.png" density="port-xxhdpi"/>
<splash src="www/stample_splash.png" density="port-xxxhdpi"/>
</platform>
<platform name="ios">
<icon src="www/stample_icon.png" width="180" height="180" />
<icon src="www/stample_icon.png" width="60" height="60" />
<icon src="www/stample_icon.png" width="120" height="120" />
<icon src="www/stample_icon.png" width="76" height="76" />
<icon src="www/stample_icon.png" width="152" height="152" />
<icon src="www/stample_icon.png" width="40" height="40" />
<icon src="www/stample_icon.png" width="80" height="80" />
<icon src="www/stample_icon.png" width="57" height="57" />
<icon src="www/stample_icon.png" width="114" height="114" />
<icon src="www/stample_icon.png" width="72" height="72" />
<icon src="www/stample_icon.png" width="144" height="144" />
<icon src="www/stample_icon.png" width="29" height="29" />
<icon src="www/stample_icon.png" width="58" height="58" />
<icon src="www/stample_icon.png" width="50" height="50" />
<icon src="www/stample_icon.png" width="100" height="100" />
<splash src="www/stample_splash.png" width="320" height="480"/>
<splash src="www/stample_splash.png" width="640" height="960"/>
<splash src="www/stample_splash.png" width="768" height="1024"/>
<splash src="www/stample_splash.png" width="1536" height="2048"/>
<splash src="www/stample_splash.png" width="1024" height="768"/>
<splash src="www/stample_splash.png" width="2048" height="1536"/>
<splash src="www/stample_splash.png" width="640" height="1136"/>
<splash src="www/stample_splash.png" width="750" height="1334"/>
<splash src="www/stample_splash.png" width="1242" height="2208"/>
<splash src="www/stample_splash.png" width="2208" height="1242"/>
</platform>
<allow-intent href="*" />
<engine name="browser" spec="^3.6.0" />
<engine name="android" spec="^4.0.2" />
</widget>
উদাহরণগুলির একটি ভাল উত্স হ'ল স্টার্টার কিট। ভালো লেগেছে phonegap শুরুর বা আয়নের স্টার্টার