s-3.664-0.699-5.062-2.099c-1.397-1.398-2.097-3.087-2.097-5.065s0.699-3.667,2.097-5.065c1.397-1.399,3.085-2.099,5.062-2.099 s3.664,0.699,5.062,2.099C223.888,120.556,224.587,122.244,224.587,124.223z"/>

Cordova

راه‌اندازی

ساخت اپلیکیشن

  • با استفاده از دستورات Cordova یک اپلیکیشن اندرویدی با نام پکیج (packagename) مورد نظرخودتان بسازید و پلتفرم Android را با روش زیر به پروژه خود اضافه کنید.
cordova platform add android@6.2.3
  • وارد پنل پوشه شوید و اپلیکیشن خود ثبت کنید. توجه داشته باشید که همان Package Name را وارد کنید که در مرحله قبل برای ساختن اپلیکیشن خود استفاده کرده اید.

اضافه کردن پلاگین

  • پلاگین پوشه برای Cordova/Ionic را از این لینک دانلود و آن را unzip کنید.
  • فایل منیفست مربوط به Cordova/Ionic را از پنل دانلود کنید و مقدار توکن و مقدار PUSHE_CR را از آن کپی کنید. سپس فایل plugin.xml را در پلاگینی که دانلود و unzip کرده اید باز کنید و بجای PUSHE_TOKEN توکنی که کپی کردید و به جای PUSHE_CR مقدار دوم را paste کنید.
  • پلاگین را به پروژه خود اضافه کنید. برای این کار دستور زیر را اجرا کنید:
cordova plugin add مسیر-پلاگین-دانلودشده --nofetch
  • یک فایل javascript به نام initpushe.js بسازید و کد زیر را به آن اضافه کنید:
document.addEventListener("deviceready", deviceReady, true);
function deviceReady() {
    window.pushe.initialize();
}
  • فایل index.html پروژه خود را باز کنید و خط زیر را به آن اضافه کنید:
<script type="text/javascript" src="js/initpushe.js"></script>

تست

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

  • به صفحه نصب ها بروید.
  • بعد از گذشت زمان کوتاهی یک ردیف مشخصات نصب به لیست نصب ها اضافه می شود که متعلق به گوشی شما است.
  • یک اعلان تست ارسال کنید.دقت کنید تلفن همراه شما به اینترنت متصل باشد.
توصیه می شود اپلیکیشن را بر روی موبایل یا تبلت اجرا و تست کنید. اگر می خواهید اپلیکیشن را بر روی Emulator تست کنید، بر روی ایمولاتور شما باید Google API نصب باشد.

امکانات

دریافت اطلاعات دلخواه با فرمت JSON

شما میتوانید از طریق پنل برای اپلیکیشن خود اطلاعات دلخواه در قالب یک JSON ارسال کنید. برای اینکه بتوانید از این اطلاعات در اپلیکیشن خود استفاده کنید کافیست که

 window.pushe.jsonCallback()

را با یک تابع کال بک به عنوان ورودی صدا کنید. فرض کنید جیسونی به صورت مقابل فرستاده اید:

{
    "titr": "تیتر",
    "matn": "متن"
}

با گذاشتن کد زیر در فایل js ای که برای صدا زدن تابع initialize پوشه در نظر گرفته اید، می توانید جیسون را دریافت کنید.

window.pushe.jsonCallback(function userCallback(jsonMsg){
    console.log("user jsonMsg is : " + JSON.stringify(jsonMsg));
    //process your json message
});

تاپیک (topic)

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

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

window.pushe.subscribe("varzeshi");

برای لغو عضویت از این تاپیک از اسکریپت زیر استفاده کنید:

window.pushe.unsubscribe("varzeshi");

دو اسکریپت فوق را در محل مناسب و بر روی event مناسب قرار دهید (مثلا کلیک یک دکمه).

نکته: توجه داشته باشید که توابع مربوط به عضو شدن و لغو عضویت در تاپیک باید بعد از پایان Pushe.initialize اجرا شوند. بنابراین آنها را بلافاصله بعد از window.pushe.initialize قرار ندهید.
window.pushe.isPusheInitialized(function pusheInited(result){
       if(result) {
            window.pushe.sendAdvancedNotifToUser("pid_a0e3-82ac-a0", "{ \"title\":\"test\", \"content\":\"sent from client\" }");
       }
 });

غیرفعال کردن نمایش پوش

می توانید نمایش پوش را غیرفعال کنید. مثلا در تنظیمات اپلیکیشن خود امکان دریافت نکردن پوش را برای کاربر قرار دهید و طبق انتخاب کاربر آن را فعال یا غیرفعال کنید.

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

window.pushe.setNotificationOff();

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

window.pushe.setNotificationOn();

ارسال پوش از یک دستگاه به دستگاه دیگر

می توانید مستقیم از یک دستگاه به دستگاه دیگر اعلان بفرستید. برای این کار باید شناسه ی پوشه ی آن دستگاه یعنی pusheId آن را داشته باشید. برای بدست آوردن شناسه هر دستگاه می توانید به روش زیر عمل کنید:

window.pushe.getPusheId(function pidCallnack(pid){
    console.log("pid is: " + pid);
});

به این روش pid هر دستگاه را می توانید بدست بیاورید و آنها را در سرور خود ذخیره کنید تا برای ارسال اعلان به دستگاه از آن استفاده کنید. برای ارسال اعلان ساده از دستور زیر استفاده کنید:

window.pushe.sendSimpleNotifToUser("pid_a0e3-82ac-a0", "title", "content");

پارامتر اول pusheId است و پارامتر دوم و سوم به ترتیب تیتر و متن اعلان هستند.

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

window.pushe.sendAdvancedNotifToUser("pid_a0e3-82ac-a0", "{ \"title\":\"تست\", \"content\":\"پیام ارسالی از یک دستگاه \" }");

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

window.pushe.sendCustomJsonToUser("pid_a0e3-82ac-a0", "{ \"key1\":\"value1\", \"key2\":\"value2\" }");

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

نکته مهم: توابع ارسال اعلان به دستگاه دیگر و عضویت یا لغو عضویت در تاپیک را بعد از اطمینان از اینکه عملیات initialization پوشه انجام شده است، صدا بزنید. برای این کار به روش زیر عمل کنید:

window.pushe.isPusheInitialized(function pusheInited(result){
       if(result) {
            window.pushe.sendAdvancedNotifToUser("pid_a0e3-82ac-a0", "{ \"title\":\"test\", \"content\":\"sent from client\" }");
       }
 });

ایجاد و حذف کانال نوتیفیکیشن در اپلیکیشن (Android 8.0+ only)

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

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

window.pushe.createNotificationChannel(
            "MY_CHANNEL_ID", //channelId
            "all news channel", //Channel Name
            "", //description about channel
            4, //importance: Number between 0 to 5 (5 is the most important)
            true, //enableLight
            true, //enableViberation
            true, //showBadge
            -16776961, //led color
);

با استفاده از تابع زیر در برنامه خود می توانید کانال نوتیفیکشنی که قبلا ایجاد کردید را حذف کنید:

window.pushe.removeNotificationChannel(
            "MY_CHANNEL_ID" //channelId
);

همیشه در کنارتان هستیم

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

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