Thursday, March 13, 2014

আমার প্রথম এন্ড্রয়েড এপ "মুক্তিযুদ্ধের গল্প" এবং গুগল প্লে তে এন্ড্রয়েড এপস পাবলিশের নিয়ম

সরকার থেকে মোবাইল এপ্লিকেশন ডেভেলাপমেন্টের উপর সারাদেশে ৫দিন ব্যাপী সেমিনারের আয়োজন করা হয়েছিল। ভার্সিটিতে থাকায় নোয়াখালী জেলা থেকে ৭ই মার্চ সেমিনারে অংশ নিয়েছিলাম। ৫দিনের ওয়ার্শপগুলোতে হাতে কলমে এন্ড্রয়েডের বেসিক ফিচারগুলো দেখানো হয়েছিল। ওয়ার্কশপের শেষে সবাইকে ১ টা প্রজেক্ট বাধ্যতামূলক দেয়ার নিয়ম ছিল। অন্যান্য প্ল্যাটফর্মে কাজ করলেও এন্ড্রয়েডে এটাই প্রথম কাজ করা। এমন একটা প্রজেক্ট সিলেক্ট করতে চেয়েছিলাম যেটা অন্তত মানসম্মত হয়, কাউকে দেখানো যায় এবং দিলেও কাজে লাগে। শেষে টপিক নির্ধারন করেছিলাম "মুক্তিযুদ্ধের গল্প" ।

ওয়ার্কশপে দেখানো হয়েছিল Activity দিয়ে কতসুন্দর করে কাজ করা যায়। তবে সমস্যা হল অনেকগুলো Activity এর ফাইল তৈরি করতে হয়। আমি একটু ডায়নামিক করতে চেয়েছিলাম Sqlite ইউজ করে করা যায় কিনা। কিন্তু সবই করতে পেরেছি কিন্তু বাংলা লেখা শো করাতে গিয়ে ভেজাল হল। পরে অবশ্য শিখেছি যে ফন্ট এমবেড করে দিলেই হত। টাইম ছিল না দেখে webview তে html ফাইলগুলোকে ডায়নামিক ভাবে কল করে প্রজেক্ট দাড় করিয়েছি। এগুলো করতে গিটহাবে অন্তত ৩০-৪০ টা এন্ডয়েন্ড প্রজেক্ট দেখেছি। কোডগুলো কম্পাইল করে রান করে বোঝার চেষ্টা করেছি যে কিভাবে ওরা এই ধরনের প্রজেক্ট গুলো দাড় করায়।

আমার মনে হয় একটা কাজ কিভাবে করতে হবে তার লজিকগুলো বোঝা জরুরী। আর বাকি যা লাগে তা সলভ করার জন্য গুগল, গিটহাবের বিভিন্ন প্রজেক্ট এবং সেই ফ্রেমওয়ার্কের ডকুমেন্টশন পড়ে বোঝার ক্ষমতা একটা কাজ করার ক্ষেত্রে ভাল ভূমিকা রাখে। কারন কত ল্যাঞ্জুয়েজ আছে এর আবার কত ফ্রেমওয়ার্ক আছে...কতটার সিনটেক্স ফাংশন আর ক্লাস মনে রাখব? সব প্রোগ্রামিং ল্যাঞ্জুয়েজ এবং ফ্রেমওয়ার্কের স্টাইল একই জাস্ট ফাংশন আর ক্লাসগুলা ভিন্ন। এই জন্য সিনটেক্স মুখস্তের চেয়ে লজিকগুলো বুঝে যে কোন প্ল্যাটফর্মে যে কোন ল্যাঞ্জুয়েজে এবং ফ্রেমওয়ার্কে ডকুমেন্টশন পড়ে এবং গুগলিং করে কাজ করতে পারার ক্ষমতা অনেক জরুরী।

অনেক কষ্ট করার পর "মুক্তিযুদ্ধের গল্প" প্রজেক্টটা ঠিকমত দাঁড় করাতে পেরেছি এবং ওয়ার্কশপের শেষদিন সাবমিট করতে পেরেছি। এই ওয়ার্কশপ থেকে  এটাই পাওয়া যে অন্তত মানসম্মত একটা এপ তৈরি করতে পেরেছি যা অন্তত গুগল প্লেতে সাবমিট করতে পারব। আপনাদের প্রজেক্টটা দেখাই =>


     


     



১। আপনারা এই এপটি গুগল প্লে থেকে ডাউনলোড করতে পারেন =>
https://play.google.com/store/apps/details?id=com.mashpy.muktijudhergolpo
 আশা করি গুগল প্লেতে ভাল একটা রেটিং এবং রিভিউ আপনাদের কাছ থেকে পাব।

২। কারো যদি গুগল প্লে থেকে ডাউনলোড করতে কষ্ট লাগে ডায়রেক্ট ডাউনলোড করতে পারেন এখান থেকে =>
http://url.mashpy.me/liberationwar

৩। আর সোর্সকোড লাগলে গিটহাব থেকে এই লিঙ্ক থেকে সোর্স দেখতে পারেন।

গুগল প্লেতে আপনারা কিভাবে এপস পাবলিশ করবে তা নিয়ে বলব। প্রথমে Eclips গিয়ে আপনার প্রজেক্টের  androidMainifest.xml ফাইলে ক্লিক করুন। Exporting অংশে use the export wizard এ ক্লিক করুন।



আমাদের একটি সার্টিফিকেট ফাইল তৈরি করা লাগবে। আপনি গুগল প্লেতে আপলোডের পর আবার কোন কিছু তৈরি করার জন্য এই সার্টিফিকেট ফাইলের দরকার হবে। তাই এই অংশে গিয়ে create new keystore এ ক্লিক দিয়ে একটা লোকেশন সিলেক্ট করে দিন যেখানে সার্টিফিকেট ফাইল সেভ হবে। আর পাসওয়ার্ড দিয়ে দিন। তারপর next চাপুন।

পরের অংশে এবার সার্টিফিকেট ফাইলের নাম লিখুন। আগের পাসওয়ার্ড দিন এবং validity ২৫ বছর দিন। নাম ঠিকানা দিয়ে next এ চাপ দিন।


আপনার apk ফাইল কোথায় সেভ হবে তার লোকেশন আবার দেখিয়ে দিন। তারপর finish এ চাপ দিন।

তাহলে আমরা ২ টা ফাইল পেলাম। একটা হল সার্টিফিকেট ফাইল। যা আপনি আপনার ড্রপবক্স বা গুগল ড্রাইভে নিরাপদে সংরক্ষন করে রাখতে পারেন। আর আরেকটা ফাইল হল apk ফাইল। মনে রাখবেন এই apk ফাইলটাই আমরা গুগল প্লে তে আপলোড করব।

এখন  গুগল প্লে ডেভেলাপার কনসোল এ গিয়ে লগিন করুন। টার্ম এবং সার্ভিসে i agree তে টিক চিহ্ন দিয়ে পরের continue to payment অংশে যান। এখানে আপনাকে আপনার ইন্টারন্যাশনাল ক্রেডিট কার্ড বা ডেবিট বা মাস্টার কার্ড ডিটেইলস আপডেট করুন এবং payment এ ক্লিক দিন। ৪৮ ঘন্টার মধ্যে ২৫ ডলার পেমেন্ট হয়ে যাবে। এর মধ্যে আমরা আমাদের এপ্লিকেশনটি আপলোড করব। এখানে আরেকটা কথা বলে রাখি। আপনার যদি ক্রেডিট কার্ড না থাকে তাহলে এই গ্রুপ থেকে সাহায্য নিতে পারেন। ওরা কার্ড দিয়ে পেমেন্টের ব্যাপারে আপনাকে সাহায্য করবে।


এপ্লিকেশন আপলোড একেবারে সহজ।
১। Add new application এ ক্লিক দিন।  আপনি এপ্লিকেশনের নাম দিন Prepare store listing এ ক্লিক দিন। এখানে ডেসক্রিপশন যোগ করুন। Promo text যোগ করুন। তারপর আমাদের এপ্লিকেশনের স্ক্রীনশট নিতে হবে। Phone, 7 inc tablet, 10 inch tablet এ আমাদের এপ্লিকেশনের ভিউ কেমন হবে তা দিতে হবে।

আপনার এপ্লিকেশনের স্কীনশট কিভাবে নিবেন? আপনি ইমুলেটর থেকেও নিতে পারেন। আবার মোবাইল থেকেও নিতে পারেন। ইমুলেটর রান করার পর window-open perspective- DDMS এ ক্লিক করুন। বামপাশে দেখবেন স্কীনশটের মত একটা বাটন একটিভ হয়ে গেছে। এটা দিয়ে স্কীনশট নেন।

আর মোবাইল থেকে স্ক্রীনশট নিতে চাইলে Power button + home বাটন একসাথে চাপুন। স্ক্রীনশট নিতে নিবে।
আবার অনেক মোবাইলে power button+ volume down বাটন চেপে স্কীনশট নিতে হয়।

পরের অংশে High-res icon, Feature Graphic, Promo Graphic বাধ্যতামূলক যোগ করতে হবে। এখানে width এবং hight এ যত রেজুলেশন দিতে বলেছে ঠিক ততটুকুই ফটো এডিট করে আপলোড দিতে হবে। না হলে নিবে না। আপনি যদি এখনও বুঝতে না পারেন feature বা promo এগুলো গুগল প্লেতে কোন অংশ দেখাবে তাহলে সমস্যা নেই। এখন আপাতত ডেমো কিছু একটা আপ করতে পারেন। পাবলিশ হওয়ার পরও এগুলো চেঞ্জ করা যায়। এরপর Promo Video , Application type, Content rating, Contact Details  আপডেট করুন।

২। Pricing & Distribution অংশে Content guidelines , US export laws এ টিক চিহ্ন দিতে হবে।

৩। Apk অংশে আপনার APK আপলোড করুন।

৪। সবগুলো অংশে যদি সবুজ টিক চিহ্ন দেখা যায় তাহলে আপনি আপনার এপ্লিকেশনটা পাবলিশ করতে পারবেন। পাবলিশ হতে কয়েক ঘন্টা লাগে। আরেকটা কথা ক্রেডিট কার্ড থেকে ২৫ ডলার কেটে নেয়ার পরই এপ্লিকেশন পাবলিশ করা যায়। এই ডলার এককালীন কেটে নেয়। পরে সারাজীবন আর কোন টাকা কাটবে না।

আশা করি বুঝতে পেরেছেন। এরপরও যদি সমস্যা থাকে কমেন্টে জানাবেন। আর শেষে আবারো বলে নেই আমার এপটি ডাউনলোড করে রেটিং দিতে ভুলবেন না। আপনারা এই এপটি গুগল প্লে থেকে ডাউনলোড করতে পারেন =>
https://play.google.com/store/apps/details?id=com.mashpy.muktijudhergolpo


3 comments:

এখানে আপনি আপনার মূল্যবান মতামতটি প্রকাশ করতে পারেন।