نسخه ی ۱.۳.۴ پوشه: رسیورهای دریافت کلیک/رد اعلان

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

از نسخه ی ۱.۳.۴ به بعد، intent_filter مربوط به این رسیور به صورت زیر تغییر پیدا کرده است و نام پکیج برنامه هم در آن باید اضافه شود، بصورت زیر:

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

< receiver android:name=".NotifBroadcastReceiver">
< intent-filter>
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_CLICKED"/>
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_DISMISSED" />
< action android:name="YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED" />
</ intent-filter>
</ receiver>

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

public class NotifBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("YOUR_PKG_NAME.pusheco.NOTIF_CLICKED")){
Log.i("Pushe", "Broadcast YOUR_PKG_NAME.pusheco.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("YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED")){
String btnId = intent.getStringExtra("pushe_notif_btn_id");
Log.i("Pushe", "Broadcast YOUR_PKG_NAME.pusheco.NOTIF_BTN_CLICKED received. BtnId = "+btnId);
//add your logic here
}
}
}

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

نظرات (۲)

ازدم
۲۳ آذر ۹۶ ، ۱۹:۰۰
چطور میتونیم گزارش تعداد کلیک دیالوگی که با جیسان پیاده سازی کردیم رو درپنل بگیریم؟ 

ایده: راهی برای کال کردن متد یا پروسه ای که برای ثبت کلیک نوتیفیکیشن دارید، وجود داره؟
پاسخ:
سلام
با تشکر از پیام شما
ارسال جیسون بیشتر با هدف اینکه کاربر اطلاعاتی برای برنامه اش بفرستد و مثلا دیتابیس برنامه را آپدیت کند و این موارد در نظر گرفته شده است.
در حال حاضر امکانی برای شمارش کلیک برای ارسال جیسون موجود نیست.
حسین
۱۴ مرداد ۹۷ ، ۱۰:۰۰
سلام
امکان اینکه بتونیم محتوای پیام یا اطلاعات جیسون رو در این رسیور بگیریم وجود دارد؟
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی