Я создал путешествие с повторяющимся планированием и расширением данных. Я хочу отображать определенное сообщение в приложении, когда новый клиент вставляется в таблицу, но клиент может увидеть сообщение в течение 7 дней после отправки сообщения по причинам закона.

Параметр расписания:

  • Повторять = ежедневно
  • Конец = никогда
  • Оценивать только новые записи = true

Например,

Джон был вставлен в таблицу tb_high_score 15 марта, и поездка отправила сообщение в приложении Promotion A Джону 15 марта. Если Джон откроет приложение до 22 марта, он сможет увидеть сообщение Promotion A, после 22 марта он больше не сможет видеть это сообщение.

Моя идея заключалась в том, чтобы возвращать false в методе override fun shouldShowMessage(message: InAppMessage) в соответствии с InAppMessage.startDateUtc для сообщений с истекшим сроком действия. Однако служба поддержки Salesforce сообщила мне, что startDateUtc основано на времени первоначального запуска сообщения, а не на времени отправки сообщения. Поэтому я всегда буду получать один и тот же startDateUtc.

override fun shouldShowMessage(message: InAppMessage): Boolean {
    return !isMessageExpired(message)
}

private fun isMessageExpired(message: InAppMessage) {
    val today = Calendar.getInstance()
    val dueDate = Calendar.getInstance().apply {
        time = message.startDateUtc
        add(Calendar.DAY_OF_YEAR, 7)
    }

    today.after(dueDate)
}

Команда CRM предпочитает не устанавливать дату окончания пути, потому что существует множество кампаний с таким поведением, и они выполняются постоянно.

Пожалуйста, кто-нибудь знает или имеет другую идею для моей проблемы?

1
Victor Furuse 9 Апр 2020 в 00:09

1 ответ

Если я правильно понял вопрос, вы пытаетесь: - Ограничить срок просмотра сообщения в приложении на 7 дней в зависимости от времени прибытия сообщения на устройство.

В настоящее время это не поддерживается платформой сообщений в приложении Marketing Clouds MobilePush. Однако это уникальный и очень интересный вариант использования. Моя рекомендация на данный момент — отправить запрос функции, зафиксировав сценарии, которые вы хотите, чтобы платформа поддерживала.

2
Jason Pitcher 9 Апр 2020 в 20:02