Skip to main content

Providers: push message structure

Altcraft Platform supports the following services for sending mobile push messages:

info

You need Connection of the corresponding SDKs in the app.

caution

Yandex.AppMetrica uses Google Firebase SDK to deliver messages. You will need to implement it in your app.

Integration with Yandex.AppMetrica is available in Altcraft Platform for importing customer profiles, registering their actions and value (cost).

At first, it is necessary to verify that the application supports the structure of push notifications in Altcraft Platform. If the format is not supported, Altcraft can adjust the message structure from its side.

Android Firebase (legacy)

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"to": "SubscriptionID",
"priority": "Priority",
"time_to_live": 0-86400,
"content_available": true,
"mutable_content": true,
"data": {
"uid": "UID",
"message": "Body",
"mediaUrl": "Icon",
"image": "Image",
"launch_id": "LaunchID",
"hub_link": {
"open": "URLOpenEvent",
"ack": "URLDelivEvent"
}
},
"notification": {
"title": "Title",
"body": "Body",
"icon": "Icon",
"color": "ImageBackgroundColor",
"click_action": "ClickURL",
"sound": "Sound"
}
}
tip

uid — the internal send ID, unique for each message.
launch_id — the internal send ID, unique within the campaign.

Android Firebase (api v1)

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"message": {
"token": "SubscriptionID",
"android": {
"priority": "Priority",
"ttl": TTL,
"data": {
"uid": "UID",
"launch_id": "LaunchID",
"hub_link": "{\"open\": \"URLOpenEvent\", \"ack\": \"URLDelivEvent\"}"
},
"notification": {
"title": "Title",
"body": "Body",
"icon": "Icon",
"click_action": "ClickURL",
"sound": "Sound",
"color": "ImageBackgroundColor",
"light_settings": {
"color": {
"red": 0-1,
"green": 0-1,
"blue": 0-1,
"alpha": 0/1
},
"light_on_duration": "LEDOnDuration",
"light_off_duration": "LEDOffDuration"
},
"image": "Image",
"default_vibrate_timings": true/false,
"notification_count": 0-999
}
}
}
}
tip

uid — the internal send ID, unique for each message.
launch_id — the internal send ID, unique within the campaign.

iOS Firebase (legacy)

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"to": "SubscriptionID",
"priority": "Priority",
"time_to_live": 0-86400,
"content_available": true,
"mutable_content": true,
"data": {
"uid": "UID",
"message": "Body",
"mediaUrl": "Icon",
"media": "Media",
"launch_id": "LaunchID",
"hub_link": {
"open": "URLOpenEvent",
"ack": "URLDelivEvent"
}
},
"notification": {
"title": "Title",
"body": "Body",
"icon": "Icon",
"color": "ImageBackgroundColor",
"click_action": "ClickURL",
"sound": "Sound"
}
}
tip

uid — the internal send ID, unique for each message.
launch_id — the internal send ID, unique within the campaign.

iOS Firebase (api v1)

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"message": {
"token": "SubscriptionID",
"apns": {
"headers": {
"apns-expiration": "TTL"
},
"payload": {
"aps": {
"badge": 0-999,
"sound": "Sound",
"mutable_content": 1,
"alert": {
"title": "Title",
"subtitle": "SubTitle",
"body": "Body"
}
},
"click-url": "ClickURL",
"uid": "UID",
"launch_id": "LaunchID",
"hub_link": "{\"open\": \"URLOpenEvent\", \"ack\": \"URLDelivEvent\"}",
"media": "Media",
"mediaUrl": "Icon"
},
"fcm_options": {
"image": "Media"
}
}
}
}
tip

uid — the internal send ID, unique for each message.
launch_id — the internal send ID, unique within the campaign.

iOS Apns

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"aps": {
"badge": 0-999,
"sound": "Sound",
"mutable_content": 1,
"alert": {
"title": "Title",
"subtitle": "SubTitle",
"body": "Body"
}
},
"click-url": "ClickURL",
"icon": "Icon",
"media": "Media",
"hub_link": {
"open": "URLOpenEvent",
"ack": "URLDelivEvent"
}
}

Appmetrica iOS

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"iOS": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"badge": 0-999,
"expiration": 0,
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"},\"icon\":\"Icon\",\"media\":\"Media\"}"
},
"open_action": {
"url": "URL"
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "ios_push_token"
}
]
}
]
}
}

Appmetrica android

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"android": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"time_to_live": 0,
"image": "Icon",
"icon_background": "IconBackground",
"banner": "Banner",
"led_color": "LEDColor",
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"}}"
},
"open_action": {
"url": "URL"
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "google_aid"
}
]
}
]
}
}

HMS Android

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"message":{
"android":{
"notification":{
"badges":{
"set_num":2
},
"body":"Dear user, we offer you our new product, productName!",
"click_action":{
"intent":"#Intent;compo=com.example/app2;S.W=U;end",
"type":1
},
"color":"#cdc167",
"icon":"https://i.postimg.cc/2yVZyQMn/demo-Push-Icon.jpg",
"importance":"NORMAL",
"light_settings":{
"color":{
"alpha":1,
"blue":0.70980394,
"green":0.78039217,
"red":0.5686275
},
"light_off_duration":"1.5s",
"light_on_duration":"1.5s"
},
"sound":"tadaam.ogg",
"title":"Title of push message"
},
"params":{
"hub_link": "{\"open\": \"URLOpenEvent\", \"ack\": \"URLDelivEvent\"}",
"launch_id":"2_6j_4LxYQQ8VECT",
"uid":"w4LxYQQsznE1_2_6j_i_o___4.2Pzr5NNonCwUWQwvJ_4u71jH"
},
"ttl":"604800s"
},
"token":[
"AGIwonWCgyDXGEG-airg4cUbVxeq0RFDfTuDM2hPWRrxfMociyvLNmn-GWdd4I6ZDrXIee46IrWSjC-cPDauP3ciS74bVi8wJ7T3PwHhvEY38VdYSu5zeHRXQzBRDgTnxA"
]
}
}
tip

launch_id — internal send ID, unique within the campaign.

HMS iOS

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"message":{
"apns":{
"headers":{
"apns-expiration":"3600"
},
"hms_options":{
"target_user_type":1
},
"payload":{
"apple":"red",
"aps":{
"alert":{
"body":"Dear user, we offer you our new product, productName!",
"subtitle":"sub title",
"title":"Title of push message"
},
"badge":0,
"mutable_content":1,
"sound":"default"
},
"click-url":"",
"hub_link": "{\"open\": \"URLOpenEvent\", \"ack\": \"URLDelivEvent\"}",
"launch_id":"2_6j_4LxYKovmDvu",
"mediaUrl":"https://i.postimg.cc/2yVZyQMn/demo-Push-Icon.jpg",
"uid":"w4LxYKq9nBMc_2_6j_i_o___4.2Pzr5NNonCwUWQwvJ_aDfVX"
}
},
"token":[
"IQAAAACy0huaAQwLF6BO92GYzCAnfqZgaxhD1f7wLWGmOxQ6bFKCQYQQYtTi2-1hXHlsXAnCzLQdX3m4RTCCEI-KYu-XcaBJYovDZANg2eRTvPv7qA"
]
}
}

RuStore Android

info

It's possible to edit the JSON object (on request).

Adding additional data to the "data" object is supported. This can be done for each sending individually in the Altcraft MP message settings.

{
"validate_only": false,
"message": {
"token": "{{.SubscriptionID}}",
"data": {
"uid": "{{.UID}}",
"message": "{{.Body}}",
"mediaUrl": "{{.Icon}}",
"image": "{{.Image}}",
"launch_id": "{{.LaunchID}}",
"hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}"
},
"android": {
"priority": "{{.Priority}}",
"notification": {
"title": "{{.Title}}",
"body": "{{.Body}}",
"icon": "{{.Icon}}",
"color": "{{.ImageBackgroundColor}}",
"image": "{{.Image}}",
"click_action": "{{.ClickURL}}",
"sound": "{{.Sound}}",
"channel_id": "{{.ChannelID}}",
{{if ne .LEDColorHex ""}}
"light_settings": {
"color": {
"red": {{.LEDColorSRGBA.R}},
"green": {{.LEDColorSRGBA.G}},
"blue": {{.LEDColorSRGBA.B}},
"alpha": {{.LEDColorSRGBA.A}}
},
"light_on_duration": "{{.LEDOnDuration}}",
"light_off_duration": "{{.LEDOffDuration}}"
},
{{end}}
"notification_count": {{.Badges}}
},
"ttl": {{.TTL}}
}
}
}
tip

uid — the internal send ID, unique for each message.
launch_id — the internal send ID, unique within the campaign.