نصب سریع چشمک

به منظور نصب سریع چشمک مراحل زیر را به ترتیب طی کنید. در صورتی که برخی مراحل برایتان نامفهوم می‌باشد به بخش توضیحات بیشتر مراحل نصب مراجعه کنید.

۱.اطمینان از نصب گوگل پلی سرویس

در منوی Tools -> Android گزینه SDK Manager را انتخاب کرده و مطمئن شوید آخرین نسخه Google Play Services نصب می‌باشد.

۲.افزودن دسترسی‌های لازم

دسترسی‌ زیر را درون Manifest برنامه خود قرار دهید.

​<uses-permission android:name="android.permission.INTERNET" />​
​<uses-permission android:name="android.permission.VIBRATE" />​
​<uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" />​
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />​ 

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

۳.تنظیم Gradle

ریپازیتوری چشمک را به فایل build.gradle در دایرکتوری اصلی پروژه اندرویدتان اضافه کنید. دقت کنید که این کد را در فایل Gradle خود برنامه اضافه نکنید و در پروژه کلی تان اضافه کنید.

repositories {
 jcenter()
 //Add Maven block to your repositories section
 maven {
 url 'https://repository.cheshmak.me'
 }
}

در نهایت وابستگی چشمک را به پروژه‌تان اضافه کنید:


implementation 'me.cheshmak:analytics:2.+'
implementation 'com.google.android.gms:play-services-gcm:11.8.0'

۴.افزودن کد چشمک

کد زیر را در متد onCreate کلاس Application قرار دهید و به جای App_KEY کلید برنامه را که در پنل چشمک در دسترس می‌باشد را قرار دهید.

Cheshmak.with(context);
Cheshmak.initTracker("APP_KEY");

۵.باز شدن برنامه پس از کلیک روی پوش

برای باز شدن برنامه نیاز است به AndroidManifest.xml رفته و درون تگ Activity اصلی برنامه  ،کد meta-data زیر را وارد نمایید:

​<activity
android:name=".YourActivity"​
android:label="your_activity_name" >​
​<meta-data android:name="cheshmakPush" android:value="openActivityOnPush"/>​
​</activity>​​​
تنظیمات چشمک با موفقیت انجام شد. اپلیکیشن خود را بیلد گرفته و درون موبایل خود اجرا کنید. با رفرش کردن پنل چشمک دستگاه شما در لیست
نصب‌ها قرار گرفته و پس از گذشت ۱ دقیقه می‌توانید به اپلیکیشن خود پوش نوتیفیکیشن ارسال کنید.

کد برنامه نمونه

کد برنامه نمونه چشمک که مثال های خوبی از نحوه استفاده از چشمک در آن موجود است از طریق اینجا قابل دسترس می‌باشد.

توضیحات بیشتر مراحل نصب

در صورتی که در نصب سریع به مشکلی بر خوردید در این مرحله نصب چشمک تشریح شده است.

ویدئوی راهنمای نصب سریع چشمک در بالا آمده است. در صورت تمایل می توانید مطابق ویدئو پیش بروید و یا از طریق مراحل زیر چشمک را نصب کنید.

۱.پیش‌نیاز‌های استفاده از چشمک

به منظور استفاده از چشمک در اندروید استودیو نیاز به نصب بودن Google Play Service در اندروید استودیو می‌باشد. جهت اطمینان از نصب بودن آن ابتدا از منوی Tools -> Android گزینه SDK Manager را انتخاب کرده و اگر وضعیت بسته Google Play Service به غیر از Installed بود تیک آن را زده و دکمه Install را بزنید.

  • ایران توسط گوگل تحریم می‌باشد. به این دلیل نصب گوگل پلی سرویس از طریق اینترنت ایران امکان پذیر نیست و نیاز به پروکسی وجود دارد.
  • همیشه سعی بر استفاده از آخرین نسخه Google Play Service داشته باشید .
  • چشمک از نسخه 7.5 به بالای Google Play Service استفاده میکند.
  • چشمک از اندروید ۲.۲ به بالا قابل استفاده می باشد .
  • نسخه ی ۲.۲ اندروید دارای API LEVEL 8 میباشد

۲.افزودن دسترسی‌های لازم

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

اینترنت

تنها دسترسی اجباری موردی نیاز برای استفاده از چشمک دسترسی به اینترنت می باشد. دسترسی به اینترنت را در منیفست اپلیکیشن خود قرار دهید:

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

ویبره دستگاه اندروید

این دسترسی باعث می شود در هنگام دریافت پوش نوتیفیکیشن توجه کاربر بیشتر جلب شود.

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

موقعیت مکانی

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

​<uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" />​
  • تنها در صورتی این دسترسی را دریافت کنید که کاربری اپلیکیشنتان به این دسترسی نیاز داشته باشد چرا که برخی از مارکت‌های داخلی نسبت به دریافت این دسترسی‌ها و عدم کاربرد آن در اپلیکیشن شما حساس می‌باشند.

۳.تنظیم Gradle

در اولین قدم باید چمشک را به عنوان کتابخانه به پروژه خود اضافه کنید .جهت اضافه کردن چشمک از مراحل زیر پیروی کنید .

۱. ابتدا در فایل build.gradle پروژه تان آدرس ریپازیتوری چشمک را وارد کنید:

repositories {
 jcenter()
 //Add Maven block to your repositories section
 maven {
 url 'https://repository.cheshmak.me'
 }
}

دقت کنید که این کد را به فایل build.gradle در روت فولدر پروژه اندرویدتان اضافه کنید. برای مثال کد نمونه زیر را مشاهده کنید:


buildscript {
    repositories {

        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

    }
}

allprojects {
    repositories {

        jcenter()

        maven {
            url 'https://repository.cheshmak.me'
        }

    }

}

۲. کتابخانه را به صورت dependencies به پروژه به صورت زیر اضافه نمایید:

//other dependencies
implementation 'me.cheshmak:analytics:2.+'

۳.جهت استفاده از قابلیت پوش چشمک باید dependency مربوط بهgcm را به کتابخانه‌های خود اضافه نمایید.
نحوه اضافه کردن gcm را از این لینک ببینید.

​//gcm dependency
implementation 'com.google.android.gms:play-services-gcm:11.8.0'

۴.فراخوانی چشمک در کلاس Application

برای استفاده از چشمک باید کدهای راه اندازی زیر را در کلاس Application برنامه درون تابع onCreate اضافه کنید .اگر برنامه شما داری کلاس Application نیست از راهنمای زیر برای ایجاد آن استفاده نمایید:

Cheshmak.with(context);
Cheshmak.initTracker("APP_KEY");
تنظیمات چشمک با موفقیت انجام شد. اپلیکیشن خود را بیلد گرفته و درون موبایل خود اجرا کنید. با رفرش کردن پنل چشمک دستگاه شما در لیست نصب‌ها قرار گرفته و پس از گذشت ۱ دقیقه می‌توانید به اپلیکیشن خود پوش نوتیفیکیشن ارسال کنید.

کسب درآمد

برای درآمدزایی از طریق نمایش تبلیغات کافی است در منوی تنظیمات، بر روی درآمدزایی کلیک کرده و انواع تبلیغات را فعال کنید. 

برای دریافت تبلیغات بنری لازم است مراحل زیر را انجام دهید:
ابتدا مطمئن شوید که کد زیر درون کلاس اپلیکیشن شما موجود بوده و تبلیغات بنری را فعال کرده‌اید:

​CheshmakAds.initiate(context);
CheshmakAds.enableBannerAds(); 

سپس بنر را درون فایل xml صفحه‌ای که می‌خواهید بنر در آن نمایش داده شود قرار دهید:

​<me.cheshmak.android.sdk.advertise.Banner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
   />

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

​CheshmakAds.setTestMode(true); 

و یا می‌توانید در فایل منیفست اپلیکیشن اندرویدتان درون تگ application کد زیر را قرار دهید:

​<meta-data
         android:name="CheshmakAdsTestMode"
         android:value="true"
         />
  • مهم: قبل از انتشار برنامه خود این گزینه را حذف کنید. در صورتی که تبلیغات تستی را از اپلیکیشن خود حذف نکنید همیشه به کاربرانتان تبلیغات تستی نمایش داده خواهد شد و شامل کسب درآمد نخواهد شد.

جهت غیر فعال کردن تبلیغات بنری می‌توانید از فراخوانی تابع زیر در برنامه خود استفاده کنید:

​ChesAdv.disableBannerAds();

 

استفاده از پوش نوتیفیکیشن

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

جهت ارسال پیغام پوش به پنل سایت رفته و در قسمت ‘ارسال پوش’ یک پیغام ساخته و دکمه ارسال را بزنید.

 

باز شدن Activity خاصی پس از کلیک روی پوش

برای دریافت پیغام پوش نیاز به تعیین یک Activity برای دریافت آن دارید . برای تعیین Activity مورد نظر ابتدا به AndroidManifest.xml رفته و درون تگ Activity مورد نظر ،کد meta-data زیر را وارد نمایید:

​<activity
android:name=".YourActivity"​
android:label="your_activity_name" >​
​<meta-data android:name="cheshmakPush" android:value="openActivityOnPush"/>​
​</activity>​​​

دریافت داده از پوش نوتیفیکیشن

در پنل سایت شما دیتای ساخته شده توسط شما دارای ساختار JSON میباشد و به صورت رشته با کلید me.cheshmak.data قابل دسترسی میباشد

عنوان پیغام پوش با کلید title و به صورت رشته قابل دسترسی میباشد

پیغامی که در زیر عنوان پوش در بالای نوتیفیکیشن به عنوان توضیحات می آید با کلید message قابل دسترسی می باشد

​​​
​protected void onCreate(Bundle savedInstanceState) {
  //some code​
  Intent intent = getIntent();
  if (intent != null) {
   if (intent.getExtras() != null) {
    Toast.makeText(this,"Cheshmak push notification data"+​
    intent.getExtras().getString("me.cheshmak.data")+"\n"+​
    intent.getExtras().getString("title")+"\n"+​
    intent.getExtras().getString("message")+"\n",Toast.LENGTH_SHORT).show();
   }
  }
  //some code​
}
 

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

در چشمک این قابلیت وجود دارد تا پس از این که پوش نوتیفیکیشن را ارسال کردید هیچ نوتیفیکیشنی به کاربر نمایش داده نشود، بلکه تنها یک سرویس که توسط خودتان در اپلیکیشن مربوطه کانفیگ شده است اجرا شود و یک داده JSON به آن ارسال شود

ممکن است از خودتان بپرسید انجام چنین کاری چه فایده ای دارد؟ این کار به شما کمک می کند تا تغییراتی را در اپلیکیشن خود اعمال کنید بدون این که کاربرتان متوجه این تغییرات باشد.

برای کانفیگ کردن اپلیکیشن خود ابتدا در فایل AndroidManifest.xml درون تگ سرویسی که می‌خواهید باز شود تگ زیر را قرار دهید:

​
​<meta-data  android:name="cheshmakPush" android:value="startServiceOnPush" />​
 

برای مثال

​
​<service android:name=".MyService">​
<meta-data android:name="cheshmakPush"​
android:value="startServiceOnPush" />​
​</service>​
 

توجه : MyService یک سرویس ساخته شده توسط شما می باشد و هر نام دیگری می تواند داشته باشد. برای اطلاعات بیشتر در مورد ایجاد بکگراند سرویس به لینک زیر مراجعه نمایید. 

https://developer.android.com/training/run-background-service/create-service.html

حال درون متد onStart شما خواهید توانست مقدار JSON ای که در پنل ارسال پوش ارسال کرده‌اید دریافت کنید. مقدار JSON در فیلد me.cheshmak.data درون intent ذخیره شده است. دقت کنید که مقدار این فیلد به صورت String می باشد و نیاز است تا با استفاده از کلاسی مانند JSONObject آن را بخوانید.

برای مثال فرض کنید JSON زیر را با پنل ارسال پوش ارسال کرده اید:

​
{
"MyKey":"this is my test string"​
}
 

کد زیر نمونه کد نوشته شده برای دریافت مقدار MyKey می باشد:

​
@Override
​public int onStartCommand(Intent intent ,int flags ,int startId) {
 super.onStartCommand(intent , flags ,startId);
 Log.d("CHESHMAK_POPP", "SERVICE STARTED" + intent.getStringExtra("me.cheshmak.data"));
 JSONObject object=new JSONObject(intent.getStringExtra("me.cheshmak.data"));
 String myOption=object.getString("MyKey");
return START_NOT_STICKY;
}
 

حال برای ارسال پوش نوتیفیکیشن به پنل کاربری رفته و در قسمت ارسال پوش نوتیفیکیشن در بخش «اکشن بعد از رسیدن پوش» گزینه «عدم نمایش پوش نوتیفیکیشن و باز شدن یک سرویس در برنامه و ارسال داده به آن» را انتخاب نمایید.

تگ کردن کاربران

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

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

چگونه کاربران را تگ کنیم؟

جهت تگ کردن کاربران شما می‌توانید با استفاده از تابع sendTag به صورت تکی و تابع sendTags به صورت لیستی از تگ ها برای نشان دادن در پنل استفاده کنید روش استفاده از هرکدام مانند مثال زیر است.

​
Cheshmak.sendTag("premiumUser");

در صورتی که بخواهید همزمان چند تگ را به یک کاربر اختصاص دهید می توانید یک List رشته به آن ارسال نمایید:

​
List tags = new ArrayList<String>();
tags.add("premiumUser");
tags.add("tagA");
tags.add("tagB");
Cheshmak.sendTags(tags);

چگونه تگ ها را حذف کنیم ؟

تگ های تخصیص یافته به کاربران را میتوان به دو روش تکی و چند تایی حذف کرد: روش تکی.

​Cheshmak.deleteTag("premiumUser");

روش چند تایی:

List tags = new ArrayList<String>();
tags.add("premiumUser");
tags.add("tagA");
tags.add("tagB");
Cheshmak.deleteTags(tags);

پاک کردن همه تگ ها:

​Cheshmak.deleteAllTags();

ارسال خطاها

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

ارسال خطا به همراه عنوان

ارسال خطا ها با عنوان وقتی اهمیت پیدا میکند که برنامه شما obfuscate شده باشد و به همین دلیل اسم کلاس ها و محل خطا ها به صورت واضح مشخص نمیباشد ولی هنگامی که برای خطا ها عنوان تعریف میکنید میتوانید در گزارش خطا ها بر اساس عنوان گزارش های خود را فیلتر نمایید.مثال زیر نمایان گر ارسال خطا ها به همراه عنوان میباشد :

​
try{
 //Do some buggy things​
 }
​catch (Exception ex) {
 Cheshmak.trackException("Image-resize-error",ex);
}
 

و یا اگر این خطا از اولویت بالایی برخوردار بود به صورت زیر ارسال شود :

​
try{
 //Do some buggy things​
}
​catch (Exception ex){
 Cheshmak.trackException("memory-exception-error",ex,true);
}
 

ارسال خطاها بدون عنوان

شما همچنین میتوانید خطا را بدون عنوان ارسال نمایید که به صورت زیر میتوانید این کار را انجام دهید

​
try{
 //Do some buggy things​
 }
​catch (Exception ex) {
 Cheshmak.trackException(ex);
}
 

و یا اگر این خطا از اولویت بالایی برخوردار بود به صورت زیر ارسال شود :

​
try{
 //Do some buggy things​
}
​catch (Exception ex) {
 Cheshmak.trackException(ex,true);
}
 

ارسال گزارش بازدید از صفحات برنامه

شما با فعال کردن قابلیت ارسال خودکار مشاهده صفحات برنامه میتوانید گزارش های مربوط به Activity هایی که کابر از آنها دیدن کرده را مشاهده فرمایید . در این قسمت در صورتی که شما از Fragment ها و یا view های خودتان استفاده میکنید میتوانید با استفاده از توابع زیر گزارش صفحات برنامه خود را برای سرور ارسال فرمایید و در داشبورد کاربری قسمت گزارش صفحات دیدن نمایید :

​
@Override
​public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 //Start View​
 Cheshmak.startView("game_select_fragment");
}
 

و

​
@Override
​protected void onPause() {
 super.onPause();
 //EndView​
 Cheshmak.stopView("game_select_fragment");
}