شروع کار با کیت توسعه اندروید v1.0.0

پـیش نیازها

برای استفاده از SDK نقشه نشان در اندروید ابتدا بایستی یک فایل لایسنس ایجاد کنید. جهت ایجاد این فایل لایسنس به چند چیز احتیاج دارید:
  • Package Name: نام پکیج اپلیکیشنی که قصد دارید در آن از SDK نقشه‌ی نشان استفاده کنید. به عنوان مثال: org.neshan.sample
  • SHA1 Fingerprint : فینگرپرینت SHA1 از کلیدهای مورد نیازتان که برای امضای APK اپلیکیشن خود استفاده می‌کنید. (کلید انتشار، دیباگ و سایر کلیدهایی که ممکن است در فرایند توسعه اپلیکیشن مورد نیاز شما باشد)
برای تولید فینگرپرینت از کلید‌های مورد نظرتان می‌توانید از دستورات زیر در ترمینال استفاده کنید:
Release SHA1
windows
keytool.exe -list -v -keystore '/PATH/TO/KEY' -alias aliasKeyName
Linux/Mac
keytool -list -v -keystore '/PATH/TO/KEY' -alias aliasKeyName

برای ایجاد کلید Release باید از داخل نرم افزار Android Studio و از طریق منوی Build و با انتخاب گزینه Generate Signed Bundle / APK  اقدام کنید. همچنین در دستورات فوق به جای عبارت ‘PATH/TO/KEY/’ آدرس کلید ایجاد شده را قرار دهید.

توجه: جهت استفاده از دستور فوق در سیستم عامل Windows باید ابتدا از طریق cmd در پوشه bin در محل نصب Java در سیستم خود قرار بگیرید

Debug SHA1
windows
keytool.exe -list -v -keystore '~\.android\debug.keystore' -alias androiddebugkey -storepass android -keypass android
Linux/Mac
keytool -list -v -keystore '~\.android\debug.keystore' -alias androiddebugkey -storepass android -keypass android

توجه: آدرس ~\.android\debug.keystore به آدرس keystore پیش فرض اندروید استودیو که برای دیباگ پروژه ها مورد استفاده قرار میگیرد اشاره دارد. این آدرس بر اساس سیستم عامل شما و محل نصب آن ممکن است متفاوت باشد اما معمولا مشابه با C:\Users\YOUR_USER\.android\debug.keystore است.

با داشتن Package Name و ایجاد SHA1 Fingerprint های مورد نیازتان کافی است از طریق لینک زیر در پنل توسعه‌دهندگان نشان به صورت کاملاً رایگان ثبت‌نام کنید و پس از ورود به پنل با انتخاب گزینه ایجاد کلید دسترسی پر پنجره ایجاد کلید دسترسی ابتدا یک نام برای کلید خود در نظر بگیرید، نوع کلید را اپلیکیشن موبایل – android انتخاب کنید و در فیلد نام پاندل، Package Name اپلیکیشن‌تان و در فیلد کلید امضاء هم SHA1 Fingerprint هایی که ساختید را وارد کنید. اگر بیش از یک فینگرپرینت دارید کافیست آن‌ها با با کاما از هم جدا کنید.
با ذخیره این فرم یک فایل لایسنس (neshan.license) برای اپلیکیشن شما ایجاد می‌شود. این فایل را بر روی کامپیوتر خود دانلود کنید.

راه‌اندازی اپلیکیشن

۱- نصب SDK از طریق افزودن مخزن maven نشان در build.gradle پروژه: (project level)

repositories {
    //Add Neshan maven repo here
    maven { url "https://maven.neshan.org/artifactory/public-maven" }
}
و افزودن dependency نشان در build.gradle ماژول: (app module)
dependencies {
    //Neshan sdk library
    implementation 'neshan-android-sdk:mobile-sdk:1.0.0'
    implementation 'neshan-android-sdk:services-sdk:1.0.0'
    implementation 'neshan-android-sdk:common-sdk:0.0.1'
    
    //Play Services
    implementation 'com.google.android.gms:play-services-gcm:16.1.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
}
برای کاهش حجم اپلیکیشن نهایی بایستی تنظیمات splits را در بخش android فایل build.gradle ماژول قرار دهید:
splits {
    abi {
        enable true
        reset()
        include 'armeabi-v7a'
        universalApk false
    }
}

این خط کد باعث میشود apk خروجی شما تنها از معماری های ذکر شده پشتیبانی کند. برای اطلاع از معماری های مختلف موجود در اندروید و همچنین موارد بیشتر راجع به abi filter به لینک ABI Managment مراجعه بفرمایید.

نکته:چنانچه برای پروژه خود از proguard استفاده می‌کنید حتماً باید پکیج org.neshan را در تنظیمات پروگارد خود مستثنی کنید. برای این منظور کافیست یک rule به صورت زیر در فایل proguard-rules.pro ماژول قرار دهید:

-keep class org.neshan.** {*;}
۲- تـعریف دسترسی INTERNET برای اپلیکیشن در فایل AndroidManifest.xml پروژه:
<uses-permission android:name="android.permission.INTERNET"/>
۳- قرار دادن فایل neshan.license در فولدر raw در resources اندروید (در صورتی که این فولدر وجود ندارد آن را ایجاد کنید)

۴-تعریف layout اصلی نقشه در res/layout/activity_main.xml و استفاده از المنت  org.neshan.mapsdk.MapView

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

<org.neshan.mapsdk.MapView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/map"/>

</android.support.constraint.ConstraintLayout>

5- تبــریک! حالا می‌تـوانید از طریق تابع findViewById(R.id.map) به آبجکت MapView متصل شده و با نقشه کار کنید.

6-برای مشاهده اپلیکیشن‌های نمونه و سورس کدهای اندروید می‌توانید به صفحه اپلیکیشن‌های نمونه مراجعه و با کمک راهنمای موجود قابلیت‌های جدید به اپلیکیشن خود اضافه کنید.

راهنمای قابلیت‌ها

پیشنهاد می‌کنیم قبل از شروع توسعه اپلیکیشن اندرویدی مبتنی بر مپ نشان مطالب زیر را در بلاگ نشان مطالعه کنید:

راهنمای استفاده از قابلیت‌های مختلف این SDK به تفکیک و همراه با نمونه کد در بخش ویکی مخزن گیت‌هاب پروژه استارتر نشان قابل دسترس می‌باشد. با مراجعه به این لینک می‌توانید از این راهنمای کامل برای راه‌اندازی یک اپلیکیشن اندروید بر پایه پلتفرم نقشه نشان استفاده کنید.