نصب چشمک

۱. دریافت کتابخانه چشمک

ابتدا نیاز است تا کتابخانه چشمک را از اینجا دریافت کنید.

دانلود پروژه نمونه

۲. افزودن کتابخانه چشمک

شما باید این فایل را به کتابخانه های B4A اضافه کنید. برای این موضوع فایل دانلود شده را در مسیر کتابخانه های اضافی (Additional libraries) کپی کنید.

* توصیه می شود از آخرین ادیتور بیسیک (B4A v8.80 و یا بالاتر)، آخرین نسخه JDK ( سری 1.8 به بالا)، و اخرین سری SDK اندریود (به همراه کتابخانه های  support و  Google Play Services ) استفاده شود.

 

۳. افزودن Manifest

از منوی Project گزینه Manifest Editor را انتخاب کرده و در پنجره باز شده مقادیر زیر را به محتوای فایل Manifest خود اضافه کنید. و متناسب با توضیحات بعدی فایل Manifest خود را شخصی سازی کنید. 

CreateResourceFromFile(Macro, b4aCheshmak-3_1_2.Cheshmak)

در نظر داشته باشید پرمیژن های زیر رو می توانید در صورت نیاز اضافه کنید

این پرمیژن ها به صورت اختیاری می‌باشد و موجب هدفمندی بیشتر تبلیغات و افزایش درآمد زایی می‌شود.

AddPermission(android.permission.VIBRATE)
AddPermission(android.permission.ACCESS_CORSE_LOCATION) ​


۴. فراخوانی چشمک

ابتدا از لیست ماژول ها، ماژول b4aCheshmak و FirebaseNotifications  و FirebaseAdMob را فعال کنید.

 

در فایل Starter برنامه خود، تغییرات زیر را اضافه کنید (عکس نمونه در آخر این قسمت)

#Region  Service Attributes 
	#StartAtBoot: True
	#ExcludeFromLibrary: True
	#StartCommandReturnValue: android.app.Service.START_STICKY
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
    
	Dim cheshmak As Cheshmak
End Sub

Sub Service_Start (StartingIntent As Intent)
	cheshmak.init("MY_APP_KEY_FROM_PANEL")
End Sub

مقدار APP_KEY را در تنظیمات پنل چشمک و در منوی برنامه ها دریافت کنید و با پارامتر ورودی تابع جایگزین نمایید.

 

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

پوش نوتیفیکیشن

پوش نوتیفکیشن یکی از مهمترین ابزار ارتباط با کاربران در برنامه ها می باشد . برنامه نویس با استفاده از این قابلیت میتواند برای کاربران خود در هر زمان روز پیغام ارسال کند ، با استفاده از چشمک میتواند پیغام هایی با قابلیت های مختلف ارسال کنید . جهت آشنایی با این قابلیت ها میتوانید به پنل چشمک قسمت ارسال پوش مراجعه کرده و آنها را مشاهده نمایید. بعد از پیکره بندی چشمک شما بدون هیچ گونه کار اضافی میتوانید از قابلیت پوش استفاده کنید . در قسمت پایین دو قابلیتی که میتوانید از آنها استفاده کنید شامل باز شدن صفحه بعد از ارسال پوش و باز شدن سرویس بعد از ارسال پوش را میتوانید مشاهده کنید .

باز شدن اکتیویتی بعد از ارسال پوش

جهت باز شدن اکتیویتی بعد از ارسال پوش از منوی Project روی Manifest Editor را انتخاب کرده و خط زیر را به آن اضافه کنید.

 

​AddActivityText(REPLACE_WITH_ACTIVITY_NAME,<meta-data android:name="cheshmakPush" android:value="openActivityOnPush"/>​)

نام اکتیویتی مورد نظر را با REPLACE_WITH_ACTIVITY_NAME عوض نمایید .
با استفاده از کد زیر میتوانید دیتای ارسالی از پنل را در اکتیویتی مورد نظر را دریافت کنید.

​Sub Activity_Create(FirstTime As Boolean)

 Activity.LoadLayout("Layout1")

 Dim intent As Intent
 intent =Activity.GetStartingIntent()
 Log(intent.GetExtra("me.cheshmak.data")) 'Read Cheshmak Data


End Sub
 

باز شدن سرویس بعد از ارسال پوش

جهت باز شدن سرویس بعد از ارسال پوش از منوی Project روی Manifest Editor را انتخاب کرده و خط زیر را به آن اضافه کنید.

​AddServiceText(REPLACE_WITH_SERVICE_NAME,<meta-data  android:name="cheshmakPush" android:value="startServiceOnPush"/>​)

نام سرویس مورد نظر را با REPLACE_WITH_SERVICE_NAME عوض نمایید .
با استفاده از کد زیر میتوانید دیتای ارسالی از پنل را در سرویس مورد نظر را دریافت کنید.

Sub Service_Start (StartingIntent As Intent)
	If StartingIntent.IsInitialized Then
		Log(StartingIntent.GetExtra("me.cheshmak.data")) 
	End If

خطاهای رایج

اقدامات اولیه

 نسخه ادیتور بیسیک  8.8 یا بالاتر باشد. ادیتور خود را از سایت های معتبر دانلود کنیم چرا که نسخه های آزمایشی ادیتور بیسیک باعث ایجاد اشکال خواهد شد.

نصب JDK 1.8 ، سری 64 بیتی

نصب SDK آندروید سری 28 به صورت کامل. در صورتی که به دلیل تحریم ها در نصب مشکل دارید می توانید در جست وجو در سایت های ایرانی، SDK را به صورت افلاین، نصب کنید. 

در آخر چک کنید که در مسیر ( tool — Configure paths ) به مسیر درست اشاره می شود

توصیه های سایت اصلی

 

اطمینان از نصب بودن کتابخانه های ضروری

در صورتی که برای اپدیت کتابخانه های بیسیک (منوی Tools و  SDK Manager) با خطا رو به رو می شوید، می توانید راهکار زیر را دنبال کنید.

نصب کتابخانه های لازم

 

Maven artifact not found

ممکن است بعد از اضافه کردن کتابخانه چشمک، با خطای  Maven artifact not found مواجه شوید. این خطا به این معنا است که نرم افزار b4a نمی تواند کتابخانه های لازم را برای کامپایل برنامه شما پیدا کند. برای حل این مشکل  به منوی Tools و سپس SDK Manager بروید ( به دلیل تحریم آی پی های ایران بهتر است از نرم افزار های لازم استفاده کنید) و کتابخانه های لازم را جستجو و نصب کنید.

 

 

java.lang.IllegalArgumentException: already added

اگر کتابخانه ای 2 بار به پروژه شما اضافه شده باشد، این خطا رخ میدهد. معمولا در پروژه های بزرگ که از کتابخانه های فراوانی استفاده شده است، با این خطا مواجه می شوید. با توجه به نوع جزییات خطا، باید کتابخانه را پیدا کرده و وابستگی ها را در فایل xml آن حذف کنید. 

 

خطای تایم اوت

در صورت رخ دادن خطای تایم اوت در زمان کامپایل،  مقدار تایم اوت پروژه خود را بیشتر کنید . (مثلا 1200)

 

 

java.lang.OutOfMemoryError: GC overhead limit exceeded

پیشنهاد اول: مطمئن شویم ادیتور بیسیک بسته باشد. 

 به پوشه
C:\Users\<Your user name>\AppData\Roaming\Anywhere Software\Basic4android
برویم. ( کلید Windows+R رو فشار بدید و %appdata% رو تایپ کنید، به مسیر Anywhere Software\Basic4android می رویم)

فایلی  با پسوند ini را پیدا کنید، این فایل رو باز می کنیم. عبارت MaxRamForDex رو جست و جو و به جای عدد مقابلش  عدد 4096 ( یا بیشتر) را قرار بدهید و تغییرات را ذخیره کنید.( این مقدار را می توانید مناسب با رم کامپیوتر خود بیشتر یا کمتر بگذارید)