نسخه ۱.۳.۱ کتابخانه پوشه: ویژگی ها و امکانات

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

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

۱- می توانید با ثبت یک رسیور در برنامه تان، از کلیک شدن یا رد کردن اعلان مطلع شوید. برای این کار یک 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");

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


حسن
برای اینکه از خطا های برنامه با خبر باشیم باید کار خاصی انجام بدیم؟
"برای مشاهده خطاها باید کتابخانه را به ورژن ۱.۱.۰ به روز رسانی نمایید. همچنین باید از فایل مانیفست جدید استفاده نمایید."
این پیام یعنی چی؟ لطفا جواب بدید 
پاسخ مدیر:
سلام
منظور این هست که گزارش خطا از نسخه ی ۱.۱.۰ به بالا وجود دارد و مثلا اگر شما از نسخه ی ۰.۱۰.۲ پوشه دارید استفاده می کنید این امکان در آن وجود ندارد.
بنابراین اگر از نسخه ی مثلا ۱.۳.۱ پوشه استفاده کنید، گزارش خطا در برنامه شما فعال خواهد بود و crash های برنامه شما (خطاهای منجر به Force Close) در صفحه گزارش خطای پنل به شما نشان داده می شود. اینکه باید از فایل منیفست جدید استفاده کنید یعنی وقتی نسخه ی پوشه برنامه تان را بروزرسانی می کنید ، لازم هست که منیفست پوشه در برنامه تان هم بروزرسانی شود.
reza
قسمت 5
منظور از داده ارسالی چیست
دقیقا کدوم قسمت میشه استرینک ارسال کرد
پاسخ مدیر:
سلام
منظور هر داده ای هست که شما علاقمند باشید با باز کردن اکتیویتی خاص در آن اکتیویتی داشته باشید. فیلد ورودی برای ارسال آن از پنل پوشه به زودی اضافه می شود.
muhammad
لطفا این نسخه رو هم برای برنامه ساز جواپ بروز کنید
پاسخ مدیر:
سلام
فکر می کنم که تیم جواپ این کار را انجام داده باشند. لطفا به سایت جواپ مراجعه بفرمایید.
حامد
با سلام من بالای 100 برنامه ام با پوش باید همه اپدیت بدم؟
پاسخ مدیر:
سلام
اگر علاقمند هستید که از امکانات نسخه ی جدید استفاده کنید لازم هست که برنامه های خود را با نسخه ی جدید کتابخانه بروزرسانی کنید. در غیراینصورت نیازی به این کار نیست.
حسین
سلام این نسخه رو هم برای برنامه ساز جواپ بروز کنید اگه هستش لینکشو بذارید
پاسخ مدیر:
سلام
هنوز پلاگین جواپ برای این نسخه از کتابخانه توسط تیم جواپ ارائه نشده و هر زمان که ارائه بشود ما لینک آن را اضافه می کنیم.
امید
سلام
چجوری میتونم با داشتن پنل بدونه داشتن سایت و اپلیکیشن ففط با ارسال نوتیفیکیشن از طریق سایت شما به درآمد برسم؟
دقیق راهنمایی کنید مرسی
پاسخ مدیر:
سلام
پوشه سرویسی برای برنامه نویسان است و شما تنها با داشتن اپلیکیشن می توانید از کتابخانه پوشه و امکان ارسال نوتیفیکیشن استفاده کنید.
saeid
طریقه پیاده سازی کد ها روی بیسیک فور اندروید به چه شکل هست؟؟
پاسخ مدیر:
سلام
لطفا سوال خود را بصورت دقیق با پشتیبانی پوشه مطرح کنید تا شما را راهنمایی کنند.
modir github
با سلام
قسمت 5
از طریق سایت هنوز این داده را برایش فیلدی تعریف نشده
و دوم اینکه : اگر مقدور است این امکان را برای متد زیر هم در نظر بگیرید. کاربردش فراوان خواهد بود.

با تشکر از خدمات عالی سایت شما عزیزان
sendAdvancedNotifToUser( , , );

پاسخ مدیر:
سلام
بله این قسمت فعلا از طریق api در دسترس هست و امکان ارسال آن از سایت را هم اضافه خواهیم کرد.
در جیسونی که ارسال می کنید می توانید کلیدهای مربوط به ارسال داده به اکتیویتی را استفاده کنید و در واقع این امکان الان هم وجود دارد.
کاربر
سلام
میشه برای قسمت 5
و متد sendAdvancedNotifToUser
یک مثال بزنید که چطور میتونیم به یه اکتیویتی مقدار یه استرینگ رو پوت کنیم. با نمایش یک نوتیفیکیشن؟
در سورس گیت هاب شما هم نمونه ای ندیدم.
یا به هر روشی که شما مد نظر دارید بهتره، یه مثال واقعی آدرس بدین.

ممنون از پشتیبانی و خدمات شما عزیزان
پاسخ مدیر:
سلام
نمونه کد ارسال اعلان ساده و جیسون به یک نصب از برنامه در این لینک مربوط به نمونه کد اندروید استادیو و همین طور سمپل های دیگر گیت هاب وجود دارد.
برای ارسال اعلان پیشرفته، جیسون اعلان پیشرفته را بصورت یک استرینگ ایجاد کنید و تابع زیر را صدا بزنید:
(Pushe.sendAdvancedNotifToUser (context, devicePid, advancedNotifStr 

که advancedNotifStr همان جیسون مربوط به اعلان پیشرفته است که آن را به صورت یک رشته در آورده اید.

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

{
"applications": [
"YOUR_APP_PACKAGE"
],
"notification": {
"title": "عنوان",
"content": "تیتر",
"big_title": "تیتر کامل",
"big_content": "متن بزرگ",
"image": "http://url/name.png",
"icon": "http://url/name.png",
"ticker": "متن نوار اعلان",
"notif_icon": "file download",
"sound_url": "http://panel.pushe.co/assets/voices/2.mp3",
"visibility": true,
"led_color": "-8206336",
"show_app": true,
"led_on": 300,
"led_off": 500,
"action": {
"url": "",
"action_type": "T",
"action_data": "MyActivity",
"pushe_activity_extra": "the string you want to send to your activity"
}
}
}

nmotaghed
با عرض سلام ..برنامه من قبل از پروگارد به درستی کار میکنه روی هر گوشی از اندروید 2.8 به بالا
اما بعد از پروگارد برنامه در هنگام بالا اومدن تو اکتیویتی اول ارور میده و برنامه بسته میشه البته به عنوان مثال : توی گوشی سامسونگ با اندروید 4 و هاووی با اندروید 5 هیچ مشکلی نداره اما روی گوشی نوت 4 و شیامی با اندروید 7 و 6 موقع بالا اومدن ارور میده که من با حذف این دستور :Pushe.initialize(this,true); فهمیدم مشکل از اینه..میخواستم لطف کنید بگین بجز موارد ی که تو اموزش گداشتین چیز دیگه هست به پروگارد اضافه کنم؟..البته امروز با کتابحانه 1.3.3 هم چک کردم بازم همون ارور رو میده .
پاسخ مدیر:
سلام
لطفا به پشتیبانی پوشه ایمیل بزنید و مشکلتان را توضیح بدهید.
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی