در این مستند با نحوهی پیادهسازی سرویس صدور مجوز مایکت برای برنامههای تحت Cordova و PhoneGap آشنا میشوید. تمام مراحلی که در این مستند ذکر میشوند در اپلیکیشن نمونه پیادهسازی شده است. این برنامه را میتوانید از اینجا دانلود نمایید.
دانلود و نصب Plugin
جهت پیادهسازی Licensing در اپلیکیشنهای Cordova/PhoneGap کافیست پلاگین myket-licensing-cordova-plugin را از اینجا دانلود نمایید. حال کافی است پلاگین را در شاخه plugins برنامهی خود قرار دهید. اگر پلتفورم Android را نصب نکردهاید کافیست با دستور زیر این پلتفورم و پلاگین مایکت را با هم نصب نمایید:
cordova platform add android
ولی اگر این پلتفورم را از قبل نصب کردهاید و قصد remove کردن آن را ندارید کافیست دستور زیر را اجرا نمایید تا پلاگین Licensing مایکت بر روی اپلیکیشن شما نصب شود:
plugman install --platform android --project [TARGET-PATH] --plugin [PLUGIN-PATH]/platforms/android where [TARGET-PATH] = path to folder containing your cordova/phonegap project [PLUGIN-PATH] = path to folder containing this plugin
بعد از نصب این پلاگین شما میتوانید از کلاس platforms/android/src/ir/myket/licensing/cordova/AndroidLicensePlugin.java برای ثبت BASE64_PUBLIC_KEY که از پنل توسعهدهندگان مایکت دریافت کردهاید استفاده نمایید.
نحوه استفاده
ابتدا در فایل index.html این خط را اضافه کنید:
<script type="text/javascript" src="AndroidLicensePlugin.js"></script>
همانطور که در برنامهٔ نمونه وجود دارد میتوانید از کد زیر در تابع onDeviceReady در فایل index.js برای چک کردن Licensing استفاده نمایید
AndroidLicensePlugin.check( function(data) { alert(JSON.stringify(data)); }, function(errorString) { alert("error: " + errorString); } );
در این کد آبجکت data شامل فیلدهای data.allow وdata.policyReason میباشد که allow متغییری boolean است که نشان میدهد آیا MyketServerManagedPolicy.java برای اجرا اپلیکیشن مجوز صادر کرده است یا خیر. همچنین فیلد data.policyReason جزئیات پردازش اطلاعات را نشان میدهد. حالتهایی که data.policyReason میتواند داشته باشد در فایل AndroidLicensePlugin.js و فایل Policy.java موجودند و به شرح زیر است:
– این وضعیت نشان دهندهی تأیید سرور و Policy شما برای استفاده از اپلیکیشن است:
/** * LICENSED means that the server returned back a valid license response */ AndroidLicensePlugin.LICENSED = 0x0100;
– این وضعیت نشان دهنده رد سرور یا Policy شما برای استفاده از اپلیکیشن است:
/** * NOT_LICENSED means that the server returned back a valid license response * that indicated that the user definitively is not licensed */ AndroidLicensePlugin.NOT_LICENSED = 0x0231;
– این وضعیت نشان میدهد که جواب سرور به دلیلی نمیتواند مشخص شود:
/** * RETRY means that the license response was unable to be determined --- * perhaps as a result of faulty networking */ AndroidLicensePlugin.RETRY = 0x0123;
– این وضعیت نشان میدهد که مایکت نصب نیست:
/** * MYKET_NOT_INSTALLED means Myket is not installed */ AndroidLicensePlugin.MYKET_NOT_INSTALLED = 0x0300;
– این وضعیت نشان میدهد که ورژن مایکت قدیمی است و نمیتواند Licensing را پشتیبانی نماید:
/** * MYKET_NOT_SUPPORTED means that Myket version not support */ AndroidLicensePlugin.MYKET_NOT_SUPPORTED = 0x0301;
بعد از پیادهسازی توابع کالبک AndroidLicensePlugin.check متناسب با این دادهها و یا کپی کردن این Callback، سرویس بررسی مجوز مایکت به طور کامل بر روی برنامهٔ شما کار خواهد کرد.