تنظیمات پروژه با استفاده از فایل Jar



جهت راه اندازی دکان در اپلیکیشن شما، ابتدا باید مراحل زیر را در پروژه خود انجام دهید.


گام 1: تنظیمات ProGuard


در صورتی که در اپلیکیشن خود از ProGuard استفاده می‌کنید، تنظیمات زیر را در فایل proguard-rules وارد نمایید.

-dontwarn com.google.**
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes EnclosingMethod
-keepattributes InnerClasses

        
-keepnames class com.rahnema.dokan.sdk.exception.TokenNotFoundException { *; }
-keep class com.rahnema.dokan.sdk.activity.PurchaseActivity { }
-keep class com.rahnema.dokan.sdk.helper.DokanHelper{*;}
-keep class com.rahnema.dokan.sdk.callback.** { *; }
-keep class com.rahnema.dokan.common.dto.** { *; }


گام 2: اضافه کردن کتابخانه


فایل dokan-api-1.2.4.jar را در مسیر [root-dir]\app\libs وارد کنید. داخل IDE فایل jar را به عنوان libraryبه پروژه اضافه کنید.



گام 3: آپدیت فایل Manifest


دسترسی‌های زیر را به فایل AndroidManifest.xml اضافه کنید.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>

در بخش application از فایل منیفست برنامه، activity زیر را اضافه کنید.

<activity
    android:name="com.rahnema.dokan.sdk.activity.PurchaseActivity"
    android:hardwareAccelerated="true"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize" />

در بخش application از فایل منیفست برنامه، meta-data زیر را اضافه کنید و آن را با مقدار کلید دکان پر کنید.

<meta-data android:name="dokanToken" android:value="..." />


گام 4: شروع کار با SDK دکان


کتابخانه‌ دکان برای شروع کار نیاز به initialize شدن در ابتدای برنامه و قبل از همه Activity ها دارد. برای این کار باید از کلاس Application استفاده کنید.

خط زیر را در تابع onCreate مربوط به کلاس Application خود فراخوانی کنید:

try {
    DokanHelper.initialize(this);
} catch (Exception e) {
    e.printStackTrace();
}


گام 5: تعریف دکمه خرید


یک دکمه برای ورود به صفحه‌ی خرید دکان در برنامه‌ی خود قرار دهید و کد زیر را به رویداد کلیک دکمه متصل کنید.

public void testDokanPurchase(View view) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        DokanHelper.startPurchase(activity, new PurchaseCallback() {
            @Override
            public void onComplete(String token, int status) {
                Log.i(this.getClass().getName(), "complete");
            }

        
            @Override
            public void onCancel() {
                Log.i(this.getClass().getName(), "cancel");
            }
        });
    }
}


گام 6: تحویل سکه به کاربر


برای اینکار باید ابتدا وضعیت سفارش را بررسی کنید و اگر سفارش موفق بود به اندازه سکه ای که از سمت دکان به شما اعلام می شود به کاربر سکه اضافه کنید.

این فرآیند در بخش onComplete باید انجام شود.

@Override
public void onComplete(String token, int status) {
    DokanHelper.checkOrder(this, token, new CheckOrderCallback() {
        @Override
        public void onResult(OrderInformationDto order) {
            Log.i("order", order.getProductName());
            Log.i("order", order.getOperator());
            Log.i("order", order.getStatus());
            Log.i("order", order.getPrice() + "");
            Log.i("order", order.getCoin() + ""); // میزان سکه سفارش
        }
    });
}