ارسال‌ پوش‌نوتیفیکیشن

علاوه بر ارسال پیام جابک، شما می‌توانید از طریق API پوش‌نوتیفیکیشن ارسال کنید. این کار از دو متد پست notifyUsers و notifyUser انجام می‌شود.

ارسال پوش‌نوتیفیکیشن به گروهی از کاربران

در این متد (notifyUsers) می‌توانید برای گروهی از کاربران (سگمنت) یا همه کاربران پوش‌نوتیفیکیشنی را از طریق API ارسال کنید.

ساختار درخواست

لینک پایه: https://sandbox.push.adpdigital.com/api/push/notifyUsers

نمونه cURL:

curl -X POST \
"https://sandbox.push.adpdigital.com/api/push/notifyUsers?access_token=<ACCESS_TOKEN>" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d "@payload.json"

پارامترها

پارامترها توضیح نوع مقدار مثال
target * سگمنت مورد نظر یا * برای کانال عمومی string یک سگمنت-id موجود یا فیلترهای سگمنت جدید
content * متن پیام string سلام
trackId تعیین شناسه ردگیری جداگانه برای رصد پیام string adp-1397-6-11
live فقط کاربرانی که در لحظه ارسال، برنامه را باز دارند دریافت می‌کنند (زنده) boolean false
autoNotify نمایش پیام توسط گوگل صورت می‌گیرد boolean false
useAsAlert استفاده متن پیام به عنوان متن اعلان boolean true

پارامترهای اعلان (Notification)

پارامترها توضیح نوع مقدار مثال
title * عنوان اعلان string ثبت درخواست
body متن اعلان string سفارش شما ثبت شد
groupId برای گروه‌بندی شخصی اعلان‌ها string news
icon تصویر اعلان string نام تصویر
sound صدای اعلان (به فرمت صدا دقت داشته باشید) string نام صدا
clickUrl لینک هنگام کلیک string لینک
ledColor تنظیم رنگ led (فقط اندروید) string کد رنگ HEX
smallIcon آیکون کوچک اعلان (فقط اندروید) string نام آیکون
(id (action شناسه اکشن string check
(title (action عنوان اکشن string status
(options (action رفتار اکشن (فقط آی‌او‌اس) number 1
(icon (action نام آیکون در فولدر drawable (فقط اندروید) string نام آیکون
mediaType نوع رسانه string jpeg
mediaUrl لینک رسانه string لینک
contentAvailable برای انجام یک آپدیت بی‌صدا در بک‌گراند یا فورگراند مقدار 1 را بگذارید boolean 1
mutableContent برای پشتیبانی از اعلان چندرسانه‌ای مقدار 1 را حتما قرار دهید boolean 1
category شناسه اعلان برای ذخیره آن string delivery

نکته : نماد * در جدول پارامترها به معنی الزامی بودن پارامتر است و بدون آن‌ درخواست شما صورت نمی‌گیرد. (برای پوش‌نوتیفیکیشن عمومی در قسمت target به جای سگمنت، {} را خالی بگذارید.)

نکته : در پارامترهای اعلان، پارامتر options یا همان رفتار اکشن (فقط در آی‌او‌اس) می‌توانید عدد ۱ برای اکشن Authentication Required (اکشن در صورت قفل نبودن دستگاه اجرا می‌شود)،‌ ۲ برای اکشن Destructive (اکشن تسک مخرب انجام می‌دهد)، ۴ برای اکشن Foreground (اکشن موجب باز شدن اپ در فورگراند می‌شود) و جمع این اعداد را برای ترکیب آن‌ها با هم قرار دهید.

پاسخ

پاسخ درخواست‌های ارسال پیام به صورت تعداد دستگاه‌هایی که پیام به آن‌ها ارسال می‌شود، می‌باشد.

{
  "count": number
}



مثال از متد notifyUsers

درخواست

بسته به نوع نوتیفیکیشنی که می‌خواهید ارسال کنید می‌توانید از انواع پارامترها استفاده کنید. به عنوان مثال می‌خواهید یک نوتیفیکیشنی را برای اعلام انتشار نسخه جدید اپلیکیشن خود به همه کاربران، ارسال کنید.

curl -X POST \
"https://sandbox.push.adpdigital.com/api/push/toUsers?access_token=<ACCESS_TOKEN>" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d "{ \"target\": \"{}\", \"content\": \"نسخه جدید اپلیکیشن رسید!\"}"

نکته : در قسمت سگمنت، فیلترهای پیش‌فرض چابک ‍‍‍‍‍‍‍‍‍‍‍‍‍installDate (اولین بازدید یا نصب) ، launchTime (آخرین بازدید) ،‌ launchCount (تعداد بازدید) ، clientVersion (نسخه برنامه) ،‌ osVersion (نسخه سیستم‌عامل) ، deviceType (نوع دستگاه) ، tags (تگ‌ها) ، nearBy (موقعیت مکانی) می‌باشند. درصورت اضافه کردن سگمنت از سوی خودتان هم فقط کافی‌‌ست نام آن را وارد نمایید.

پاسخ

همانطور که می‌بینید درخواست شما با موفقیت انجام شد و نوتیفیکیشن شما به ۶۴۰ (count: 640) دستگاه ارسال شد.

{
  "count": 640
}

حالا می‌توانید در پنل بخش پیام‌ها قسمت پیام‌ها جزئیات ارسال و تحویل پیام خود را مشاهده کنید.

عکس مربوطه

نکته : برای تست کردن این عمل می‌توانید به این لینک مراجعه کنید.



ارسال پوش‌نوتیفیکیشن به یک کاربر

در این متد (notifyUser) شما می‌توانید پوش‌نوتیفیکیشنی را به یک کاربر (userId) ارسال کنید.

ساختار درخواست

لینک پایه: https://sandbox.push.adpdigital.com/api/push/notifyUser

نمونه cURL:

curl -X POST \
"https://sandbox.push.adpdigital.com/api/push/notifyUser?access_token=<ACCESS_TOKEN>" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-d "@payload.json"

پارامترها

پارامترها توضیح نوع مقدار مثال
userId * شناسه کاربری string userTest

پارامترهای اعلان (Notification)

پارامترها توضیح نوع مقدار مثال
title * عنوان اعلان string ثبت درخواست
body متن اعلان string سفارش شما ثبت شد
groupId برای گروه‌بندی شخصی اعلان‌ها string news
icon تصویر اعلان string نام تصویر
sound صدای اعلان (به فرمت صدا دقت داشته باشید) string نام صدا
clickUrl لینک هنگام کلیک string لینک
ledColor تنظیم رنگ led (فقط اندروید) string کد رنگ HEX
smallIcon آیکون کوچک اعلان (فقط اندروید) string نام آیکون
(id (action شناسه اکشن string check
(title (action عنوان اکشن string status
(options (action رفتار اکشن (فقط آی‌او‌اس) number 1
(icon (action نام آیکون در فولدر drawable (فقط اندروید) string نام آیکون
mediaType نوع رسانه string jpeg
mediaUrl لینک رسانه string لینک
contentAvailable برای انجام یک آپدیت بی‌صدا در بک‌گراند یا فورگراند مقدار 1 را بگذارید boolean 1
mutableContent برای پشتیبانی از اعلان چندرسانه‌ای مقدار 1 را حتما قرار دهید boolean 1
category شناسه اعلان برای ذخیره آن string delivery

نکته : نماد * در جدول پارامترها به معنی الزامی بودن پارامتر است و بدون آن‌ درخواست شما صورت نمی‌گیرد.

نکته : در پارامترهای اعلان، پارامتر options یا همان رفتار اکشن (فقط در آی‌او‌اس) می‌توانید عدد ۱ برای اکشن Authentication Required (اکشن در صورت قفل نبودن دستگاه اجرا می‌شود)،‌ ۲ برای اکشن Destructive (اکشن تسک مخرب انجام می‌دهد)، ۴ برای اکشن Foreground (اکشن موجب باز شدن اپ در فورگراند می‌شود) و جمع این اعداد را برای ترکیب آن‌ها با هم قرار دهید.

پاسخ

پاسخ درخواست‌های ارسال پیام به صورت تعداد دستگاه‌هایی که پیام به آن‌ها ارسال می‌شود، می‌باشد.

{
  "count": number
}



مثال از متد notifyUser

درخواست

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

curl -X POST \
 "https://sandbox.push.adpdigital.com/api/push/notifyUser/989335******" \
 -H "accept: application/json" \
 -H "Content-Type: application/json" \
 -d "{ \"title\": \"ثبت موفق\", \"body\": \"سفارش شما با موفقیت ثبت شد.\"}"

پاسخ

درخواست شما با موفقیت انجام شد و کمپین شما به ۲ دستگاه (count : 2) ارسال شد.

{
  "count": 2
}

پس از ارسال موفقیت آمیز می‌توانید در پنل بخش پیام‌ها آمار ارسال و تحویلتان را مشاهده کنید.

عکس مربوطه

نکته : برای تست کردن این عمل می‌توانید به این لینک مراجعه کنید.


نحوه استفاده از سگمنت‌ها در API

هر سگمنت می‌تواند شامل یک یا چند شرط (rule) باشد.

شرط‌ها

هر شرط شامل ۳ قسمت اصلی می‌باشد:

  • name نام فیلد

  • operator نوع عملوند (مانند بزرگتر، مساوی‌ با و غیره)

  • value مقداری که سنجش می‌شود

عملوند‌های مجاز (operators)

  • equal_to

  • not_equal

  • lesser_than

  • lesser_equals

  • greater_than

  • greater_equals

  • include

  • not_include

  • before

  • after

نکته: عملوند‌های before و after مخصوص فیلد‌هایی از جنس زمان هستند، و مقداری که در قسمت value این نوع شرط‌ها قرار میگیرد به صورت xh می‌باشد. نمونه: 'value: '6h.

nameهای مجاز

  • installDate زمان اولین بازدید

  • launchTime زمان آخرین بازدید

  • launchCount تعداد بازدید

  • tags تگ‌های کاربر

  • deviceType نوع دستگاه

  • clientVersion نسخه برنامه

  • osVersion نسخه سیستم‌عامل

نمونه

"segment": {
  "all": [
    {
       "name": "installDate",
       "operator": "after",
       "value": "6h"
    },
    {
       "name": "launchCount",
       "operator": "greater_than",
       "value": 2
    }
  ]
}

مثال بالا کاربرانی را هدف قرار می‌دهد که بعد از ۶ ساعت پیش، برنامه‌ را نصب کرده‌اند و بیش از ۲ بار هم آن را باز نموده‌اند.