【问题标题】:Problems integrating Exacttarget and FCM集成 Exacttarget 和 FCM 的问题
【发布时间】:2017-04-27 01:39:20
【问题描述】:

我们正在同一个应用中集成两个新的通知 SDK。 Firebase 和 Salesforce Marketing Cloud(以前称为 ExactTarget)。

我们的 IOS 版本运行良好,未检测到干扰。我们通过这两种工具发送通知。

但是,我们的 Android 版本存在问题。我们的一些测试设备的行为是:

  • 设备已在两个平台中正确注册
  • 设备收到通知时没有明显问题
  • 从时间上随机说,Salesforce 营销云已经不能通知设备了。他们仍然在该平台内选择加入,ET 尝试发送消息,但 GCM 以错误响应,

注册无效,2016-11-22 04:00:00,TokenRejection,|ID|8|:(ServiceStatus,ServiceResponse,TrackingDate,FailureType,SystemToken)

我们的猜测(我们已经做了很多测试)是 GCM 中令牌的变化会产生这些问题。我们尝试使用他们的方法Registration.getInstance().setSystemTokenInCache(token) 每次更新(我们从 Firebase 获取)时向 Salesforce 推送一个新令牌,但到目前为止还没有成功。

【问题讨论】:

  • 嗨,我正在尝试实现相同的目标,但如果我从 Firebase 控制台发送,我会在 Android 上收到两次通知。这主要是因为我认为通知是交给应用程序而不是服务的。你是怎么解决这个问题的?
  • 我们没有解决它。我们与 Salesforce 本身取得了联系,并获得了一些提示,但似乎都没有奏效。

标签: android firebase-cloud-messaging exacttarget


【解决方案1】:

我们没有解决它。我们与 Salesforce 本身取得了联系,并得到了一些提示,但似乎都没有奏效:

这是我们被告知的。我没有在 Firebase 中创建两个项目并调整 google-services.json 文件,而是使用了一个项目的发件人 ID。在您的代码中,您保持 Marketing Cloud 初始化和 google-services.json 文件相同,您只需要更改调用 FirebaseInstanceId.getInstance().getToken(); 到 FirebaseInstanceId.getInstance().getToken("158036016337", "FCM"); 其中第一个参数是您的发件人 ID(与您在 Marketing Cloud 初始化中使用的发件人 ID 相同),“FCM”是范围。

这样做的是,它返回了两个不同的令牌,一个来自 Firebase,一个来自 Marketing Cloud。然而,这两个标记都有一个 11 个字符的前缀,后跟一个相同的冒号。我使用两个令牌发送到推送,并且都运行良好。然后我订阅了 Firebase 中的主题 FirebaseMessaging.getInstance().subscribeToTopic("xxxxx"); 并使用 Firebase API 向该主题发送推送,并且效果也很好。从 Marketing Cloud 发送一些推送,效果也不错。我同意您应该对此进行测试。

【讨论】:

  • 原始帖子的左下角。有一个编辑按钮。
【解决方案2】:

我们以不同的方式解决了这个问题。我们强制在 Firebase 服务中接收通知(通过在清单中实施意图规则)。然后在onMessageReceived() 方法中,我们检查来自ExactTarget 的通知是否带有PushMessageManager.isMarketingCloudPush(Bundle)。如果这是真的,我们让营销云通过

来处理它
MarketingCloudSdk.requestSdk(new 

    MarketingCloudSdk.WhenReadyListener() {
                @Override
                public void ready(MarketingCloudSdk marketingCloudSdk) {
                    marketingCloudSdk.getPushMessageManager().handlePushMessage(bundle);
                }
            });

否则我们会将其作为我们应用的 Firebase 推送通知来处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2015-10-10
    • 2019-11-29
    • 1970-01-01
    • 2016-09-16
    相关资源
    最近更新 更多