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

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

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

برای بازیابی چشمک آی-دی در داخل کد اپلیکیشنتون متد طراحی شده در نسخه ی جدید SDK رو فراخوانی کنید:

Cheshmak.getCheshmakID(this, new CheshmakIDResponseListener() {
  @Override
  public void onCheshmakIdReceived(String cheshmakID) {
     if (isFinishing()) {
        return;
     }
     Toast.makeText(MainActivity.this, "cheshmak id is " + cheshmakID, Toast.LENGTH_SHORT).show();
  }
  @Override
  public void onError(Throwable throwable) {
     if (isFinishing()) {
        return;
     }
     Toast.makeText(MainActivity.this, "error happened, see logCat", Toast.LENGTH_SHORT).show();
     throwable.printStackTrace();
  }
});

درصورت تمایل می تونید این شناسه رو به سرور اختصاصی خودتون ارسال و ذخیره کنید تا بعدا هر زمانی که خواستین بتونین از سرورتون به اون کاربر خاص پوش ارسال کنید.

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

شیوه ی ارسال از طریق API چشمک در زیر توضیح داده شده:

curl -X POST -H "Content-Type: application/json" -H "key:APIKeyForYourAppGoesHere" \
  -H "Cache-Control: no-cache" \
 -d '{
  
"afterOpenType":"url",
   "pushData":{
      "title":"MY PUSH TITLE",
      "shortMessage": "MY PUSH MESSAGE",
      "icon" : "https://linkToMyPushIcon.png",
      "url" : "http://mywebsite.com/"
   },
   "filter": {
      "cheshmakIds": ["7cea3ab0-c59e-11e8-a710-df4eb38b18e3"]
    }
   
}' "https://api.cheshmak.me/v1/push/app/<AppIdForYourAppGoesHere>/send"

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

نظرتون چیه؟ آیا این خدمت جدید به ارتباط بهتر با کاربرانتون کمک می کنه؟ لطفا نظراتتون رو با ما در میون بگذارید.