Expand my Community achievements bar.

Dive in, experiment, and see how our AI Assistant Content Accelerator can transform your workflows with personalized, efficient content solutions through our newly designed playground experience.
SOLVED

Sending push notifications to specific devices and types (Android/iOS)

Avatar

Level 7

Hi there,

 

We have one app surface that has both android & iOS configured, and we prefer not to split them up to different app surfaces. And I am wondering if there's a way in Campaigns and Journeys, that we can target only specific device types (iOS/Android). 

 

In test mode, I've tried entering one single ECID, and it fires a push notification to all my devices (Android/iOS). So I am wondering:

1) Is there a way to send push notifications only to a specific ECID

2) Is there a way to send push notifications only to Android or iOS devices

 

Thanks,

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @akwankl 

 

The only way to do this currently is by using two app surfaces.


     Manoj
     Find me on LinkedIn

View solution in original post

7 Replies

Avatar

Correct answer by
Community Advisor

Hello @akwankl 

 

The only way to do this currently is by using two app surfaces.


     Manoj
     Find me on LinkedIn

Avatar

Employee

Agree with @_Manoj_Kumar_  - best way to achieve this is to have 2 app surfaces. 

Avatar

Employee

In test mode, if ECID is being used - then the details associated with that profile would be pulled in.

 

If there are multiple tokens associated with the profile, collection management functions can be leveraged to retrieve the corresponding android / ios tokens by filtering against the platform, appId values.

 

Reference

https://experienceleague.adobe.com/docs/journey-optimizer/using/orchestrate-journeys/building-advanc...

Avatar

Level 7

Thanks @dugganab, can you help me out with this?

 

 

akwankl_0-1709582178763.png

 

 

 

I have this in the push parameters:

 

#{ExperiencePlatform.AppNotifications.profile.pushNotificationDetails.all(currentDataPackField.platform == 'apns' and currentDataPackField.identity.id == ${externalKey}).token}

 

But it's coming back with this error:

"push channel details are invalid, payload: {\n \"push\" : {\n \"token\" : \"[abc1234567maskedtoken]\"\n }\n}"

 

It's returning the token correctly, but doesn't seem to fit the syntax required in the push action.

 

Thanks.

Avatar

Community Advisor

Hello @akwankl 

 

With collection management functions you can only filter the records with a certain key value pair. You cannot pick the collection to strip the parameter to force the push delivery to use the remaining parameters.


     Manoj
     Find me on LinkedIn

Avatar

Employee

Did you try directly using the collection managements functions by overriding the push parameters ? You will have to override all the three parameters, ensuring the appId and token are specific to apns/fcm. 

 

dugganab_1-1709839514170.png

 

 

 

Avatar

Level 1

Hi @dugganab,

Do you know how to override the push parameters to send a push message for all profiles that meets a condition (authenticatedState = "authenticated") with a collection management function?

I tried this with the equivalent attribute for token/appID/platform but I haven't receive any push and no errors neither!

 

#{ExperiencePlatform.ProfileFieldGroup.profile.pushNotificationDetails.all
(currentDataPackField.identity.authenticatedState == "authenticated").token}

 

PD: It works well when I include first()/last()/at(n) before attribute but I need to send for all profiles that meet the condition.

Many thanks!

Arc_NXnFNhRMcY.png