2

I am getting following error when I press on custom action button for a Rich notification ...

Unknown PUSH_ACTION for ETPushService: (applicatinId).MESSAGE_OPENED ~!ETPush_ERROR: ET PUSH SDK VERSION: 4.2.0 build 160100043 ~!ETPush_ERROR: APP VERSION: 4.6.0 LOCAL : 83 ~!ETPush_ERROR: Debug version: true ~!ETPush_ERROR: readyAimFire() Initialized with: ~!ETPush_ERROR: ET App Id: {et_app_id} ~!ETPush_ERROR: Access Token: {access_token} ~!ETPush_ERROR: GCM Sender ID: {gcm_sender_id} ~!ETPush_ERROR: Analytics: false ~!ETPush_ERROR: WAMA: false ~!ETPush_ERROR: Location: false ~!ETPush_ERROR: Proximity: false ~!ETPush_ERROR: CloudPages: false ~!ETPush_ERROR: GOOGLE PLAY SERVICES REQUIRED VERSION AVAILABLE: true ~!ETPush_ERROR: GOOGLE PLAY SERVICES REQUIRED VERSION: 8487000

I am using following code to build Rich notification with a custom action

ETNotifications.setNotificationBuilder(new ETNotificationBuilder() {
            @Override
            public Builder setupNotificationBuilder(Context context, Bundle payload) {
                NotificationCompat.Builder builder = ETNotifications.setupNotificationBuilder(context, payload);

                String category = payload.getString("category");
                            if (!TextUtils.isEmpty(category )) {
                    if ("Testing".equalsIgnoreCase(messageCode)) {
                        //we need to add the 3 item_spotlight buttons to the notification. Android allows
                        //a max of 3 action buttons on the BigStyle notifications.
                        Intent similarIntent = new Intent(context, AceRichNotificationMakePaymentActivity.class);
                        similarIntent.putExtras(payload);
                        PendingIntent similarPendingIntent = ETNotifications.createPendingIntentWithOpenAnalytics(context, similarIntent, true);
                        builder.addAction(R.drawable.ic_action_remove, "Pay Now", similarPendingIntent);

                    } else if (ONE_DAY_SALE.equalsIgnoreCase(category)) {
                        //get custom key for the sale date.
                        String saleDateString = payload.getString("sale_date");
                        if (saleDateString != null && !saleDateString.isEmpty()) {
                            try {
                                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
                                df.setTimeZone(TimeZone.getDefault());
                                Date saleDate = df.parse(saleDateString);

                                Intent intent = new Intent(Intent.ACTION_INSERT)
                                        .setData(CalendarContract.Events.CONTENT_URI)
                                        .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, saleDate.getTime())
                                        .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, saleDate.getTime())
                                        .putExtra(CalendarContract.Events.TITLE, payload.getString("event_title"))
                                        .putExtra(CalendarContract.Events.DESCRIPTION, payload.getString("alert"))
                                        .putExtra(CalendarContract.Events.HAS_ALARM, 1)
                                        .putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);

                                PendingIntent reminderPendingIntent = PendingIntent.getActivity(context, 38456, intent, PendingIntent.FLAG_CANCEL_CURRENT);
                                builder.addAction(R.drawable.ic_audio, "Add Reminder", reminderPendingIntent);
                            } catch (ParseException e) {
                                Log.e(TAG, e.getMessage(), e);
                            }
                        }
                    }
                }

                return builder;
            }
        });
  • do you have more than 1 push provider in your application? – Bill Mote Jul 27 '16 at 14:56
  • nope. we use only ExactTarget or ET.. – Venky Jul 27 '16 at 18:09
  • I will implement this in the Android Learning App and get back with you. I see that you're using v4.2. Any chance you'd consider upgrading to v4.5? :) Note, none of this code has changed in a very long time so I do not propose that it will fix the issue you've described above. You can see the full release notes salesforce-marketingcloud.github.io/JB4A-SDK-Android – Bill Mote Jul 27 '16 at 18:42
  • Well, apparently this is a thing. I'm opening an internal ticket for prioritization by Product. Creating a formal escalation through your account manager will help expedite the remediation ;) – Bill Mote Jul 28 '16 at 20:29
  • If you have not reached out to your account manager yet, please do so. It will raise visibility and get your issue prioritized appropriately. – Bill Mote Jul 30 '16 at 14:57
0

This issue has been validated. An internal ticket has been created and this item is actively being worked for a future release of the SDK. As of right now it is expected to be released with the version corresponding to the 2016-06 SFMC release.

Please watch http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/ for details and ask that your account manager notify you when 2016-06 is released.

This item is resolved with version 4.7.3 of the SDK.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.