نسخه ی ۱.۳.۱ کتابخانه ی پوشه با اضافه شدن چندین قابلیت جدید منتشر شد. در این پست با امکانات و قابلیت های این نسخه آشنا می شوید.

در نسخه ۱.۳.۱ از کتابخانه پوشه امکانات زیر اضافه شده است:

۱- می توانید با ثبت یک رسیور در برنامه تان، از کلیک شدن یا رد کردن اعلان مطلع شوید. برای این کار یک BroadcastReceiver در برنامه خودتان اضافه کنید و اینتنت فیلتر های زیر را در آن اضافه کنید. سه اینتنت فیلتر برای سه اتفاق کلیک،‌ دیسمیس اعلان و کلیک شدن دکمه ای از اعلان معرفی شده است. می توانید هر سه را استفاده کنید یا فقط یکی یا دو تا را بسته به نیازمندی خودتان مشخص کنید.

< receiver android:name=".NotifBroadcastReceiver">
< intent-filter>
< action android:name="co.ronash.pushe.NOTIF_CLICKED"/>
< action android:name="co.ronash.pushe.NOTIF_DISMISSED" />
< action android:name="co.ronash.pushe.NOTIF_BTN_CLICKED" />
</ intent-filter>
</ receiver>


در کلاس BroadcastReceiver هم کدی شبیه به زیر اضافه کنید:

public class NotifBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("co.ronash.pushe.NOTIF_CLICKED")){
Log.i("Pushe", "Broadcast co.ronash.pushe.NOTIF_CLICKED received");
//add your logic here
}
else if(intent.getAction().equals("co.ronash.pushe.NOTIF_DISMISSED")){
Log.i("Pushe", "Broadcast co.ronash.pushe.NOTIF_DISMISSED received");
//add your logic here
}
else if(intent.getAction().equals("co.ronash.pushe.NOTIF_BTN_CLICKED")){
String btnId = intent.getStringExtra("pushe_notif_btn_id");
Log.i("Pushe", "Broadcast co.ronash.pushe.NOTIF_BTN_CLICKED received. BtnId = "+btnId);
//add your logic here
}
}
}

همانطور که مشاهده می کنید در حالتی که یک دکمه اعلان کلیک شود، شناسه آن دکمه را که یکی از اعداد ۱ تا ۳ هست می توانید داشته باشید و از روی آن اینکه چه دکمه ای کلیک شده است را متوجه شوید.

۲- دسترسی READ_PHONE_STATE حذف شده است و جزو دسترسی های اختیاری است. از این به بعد هر دستگاه در پنل با یک شناسه ی پوشه که به شکل pid_20aa-ba40-a0 هست شناسایی می شود. شما از طریق تابع ()Pushe.getPusheId می توانید این شناسه را دریافت کنید و آن را در سرور خود نگهداری کنید.

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

  • ()Pushe.sendSimpleNotifToUser        ارسال اعلان ساده که فقط تیتر و متن دارد
  • ()Pushe.sendAdvancedNotifToUser    ارسال اعلان پیشرفته که اعلان بصورت یک رشته با فرمت جیسون مشخص می شود
  • ()Pushe.sendCustomJsonToUser       ارسال جیسون دلخواه که در این حالت اعلانی نمایش داده نمی شود

۴- با استفاده از این نسخه کتابخانه،‌ با انتخاب "باز کردن صفحه اپ در مارکت" به عنوان عملکرد اعلان ارسالی، در صورتی که کاربر دریافت کننده مارکت مورد نظر را نصب داشته باشد دقیقا همان مارکت باز خواهد شد. مثلا اگر شما بخواهید با کلیک اعلان، صفحه برنامه تان را گوگل پلی باز شود، اگر کاربر دریافت کننده اعلان گوگل پلی را نصب داشته باشد؛ صفحه ی برنامه شما در گوگل پلی باز خواهد شد و دیگر صفحه ای که از کاربر بخواهد یکی از مارکت های نصب شده روی گوشی را انتحاب کند نشان داده نمی شود.

۵- با استفاده از این نسخه کتابخانه،‌ در صورتی که در زمان ارسال اعلان، عملکرد اعلان را باز کردن اکتیویتی انتخاب کنید، می توانید داده هم به اکتیویتی خود ارسال کنید. داده ی ارسالی شما به فرمت string به اکتیویتی ارسال می شود و با کلید "pushe_activity_extra"  در اکتیویتی خود می توانید آن را دریافت کنید.

String extra = getIntent().getStringExtra("pushe_activity_extra");

۶- در پلاگین کوردوای نسخه ی جدید، امکان دریافت جیسون اضافه شده است. برای استفاده لطفا به توضیحات پلاگین کوردوا در راهنمای سایت مراجعه کنید.