ارسال اعلان با محتوا دلخواه
تعریف اعلان با محتوای دلخواه
این نوع اعلان ارسال محتوای دلخواه به شکل json به اپلیکیشن میباشد.
در این نوع اعلان از شناسه های یکتا و فیلترهای اعلان که در قسمت ارسال اعلان فیلتردار توضیح داده شد هم میتوانید برای فیلتر و مشخص کردن مخاطبین دریافت کننده اعلان استفاده کنید.
دریافت محتوای دلخواه فرستاده شده در اپلیکیشن
برای دریافت مقدار محتوای دلخواه ارسال شده در پلتفرم وب یک EventListener اضافه کنید. برای مشاهده نحوه انجام این کار به راهنمای ایونتهای کتابخانه وب ، مراجعه کنید.
آدرس (url) ارسال اعلان
برای ارسال اعلان فیلتردار میتوانید از آدرس زیر که برای ارسال اعلان به پلتفرمهای آیاواس و اندروید میباشد استفاده کنید.
https://api.pushe.co/v2/messaging/notifications/web
کلیدهای ارسال اعلان با محتوا دلخواه
برای ارسال یک اعلان با محتوای دلخواه حداقل کلیدهایی که می توان استفاده کرد تا یک اعلان به صورت صحیح ساخته و ارسال شود به شکل زیر میباشد.
- app_id: شناسه اپلیکیشن که از نوع رشته string میباشد.
این فیلد اجباری است - custom_content: یک دیکشنری است که کلید ها و مقادیر دلخواهی که میخواهید ارسال کنید را نگه میدارد
این فیلد اجباری است - data: یک دیکشنری که مقادیر (محتوای) اعلان را نگه میدارد.
این فیلد اجباری است- title: این فیلد بیانگر عنوان اعلان میباشد و از نوع رشته string میباشد.
این فیلد اجباری است - content: این فیلد بیانگر متن اعلان میباشد و از نوع رشته string میباشد.
این فیلد اجباری است
- title: این فیلد بیانگر عنوان اعلان میباشد و از نوع رشته string میباشد.
امکان استفاده از کلیدهایی که در قسمت ارسال اعلان ساده و در قسمت ارسال اعلان فیلتردار گفته شد در این نوع اعلان هم امکانپذیر میباشد.
نکته
برای مشاهده تمامی کلیدهای قابل استفاده در ارسال اعلان به تمامی کلید های اعلان مراجعه کنید.
تبصره
در اعلانهای غیرتراکنشی استفاده همزمان از دو کلید data
و custom_content
مجاز است.
نمونه کد ارسال اعلان با محتوای دلخواه
در نمونه کد های زیر حداقل کد مورد نیاز برای ارسال یک اعلان ساده در زبان های مختلف با عنوان و متن نمایش داده شده. برای مشاهده تمامی کلید های قابل استفاده به بخش تمامی کلید های اعلان مراجعه کنید.
- CURL
- NODE.JS
- PYTHON
- PHP
- GO
- در این نمونه کد از cURL استفاده شده است که میتوانیدتوسط
sudo apt install curl
آن را نصب کنید.
curl -X POST https://api.pushe.co/v2/messaging/notifications/web \
-H 'authorization: Token YOUR_TOKEN' \
-H 'content-type: application/json' \
-d '{
"app_ids": "YOUR_APP_ID",
"custom_content": {"key1": "Value1","Key2": "Value2"},
"data": {"title": "عنوان پیام", "content": "محتوای پیام"}
}'
- برای اجرای این کد باید ابتدا پکیج axios را نصب کنید
npm install axios
const axios = require('axios');
const YOUR_TOKEN = 'put your token here ...';
const YOUR_APP_ID = 'put your app id here ...';
const url = `https://api.pushe.co/v2/messaging/notifications/web`;
const options = {
headers: {
'Authorization': `Token ${YOUR_TOKEN}`,
'Content-Type': 'application/json'
}
};
const data = {
app_ids: YOUR_APP_ID,
custom_content: {
key1: "value1",
key2: "value2"
},
data: {
title: 'عنوان پیام',
content: 'متن پیام'
}
};
axios.post(url, data, options)
.then(resp => console.log(resp))
.catch(err => console.error(err));
- برای اجرا نیاز به پایتون ورژن ۳.۶ و به بالا میباشد
- برای اجرای این کد باید ابتدا پکیج requests را نصب کنید.
pip install requests
import requests
import json
YOUR_TOKEN = 'put your token here ...'
YOUR_APP_ID = 'put your app id here ...'
url = f'https://api.pushe.co/v2/messaging/notifications/web'
headers = {
'Authorization': f'Token {YOUR_TOKEN}',
'Content-Type': 'application/json'
}
payload = json.dumps({
'app_ids': YOUR_APP_ID,
'custom_content': {
'key1': 'value1',
'key2': 'value2'
},
'data': {
'title': 'عنوان اعلان',
'content': 'متن اعلان'
}
})
r = requests.post(url, data=payload, headers=headers)
print(r.status_code)
$YOUR_TOKEN = 'put your token here ...';
$YOUR_APP_ID = 'put your app id here ...';
$ch = curl_init('https://api.pushe.co/v2/messaging/notifications/web');
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Token " . $YOUR_TOKEN,
),
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
'app_ids' => $YOUR_APP_ID,
'custom_content' => array(
'key1' => 'value1',
'key2' => 'value2'
),
'data' => array(
'title' => 'عنوان پیام',
'content' => 'متن پیام'
)
)));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
package main
import (
"fmt"
"bytes"
"io/ioutil"
"encoding/json"
"net/http"
)
const YOUR_TOKEN = "put your token here ..."
const YOUR_APP_ID = "put your app id here ..."
func main() {
url := "https://api.pushe.co/v2/messaging/notifications/web"
payload := map[string]interface{}{
"app_ids" : YOUR_APP_ID,
"custom_content": map[string]string{
"key1": "value1",
"key2": "value2",
},
"data": map[string]string{
"title": "عنوان اعلان",
"content": "متن اعلان",
}
}
jsonValue, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Token " + YOUR_TOKEN)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("response Status:", resp.Status)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}