[v7]{class="badge informative" title="也适用于Campaign Classic v7"} [v8]{class="badge positive" title="适用于Campaign v8"}
推送通知渠道更改 push-upgrade
您可以使用Campaign在iOS和Android设备上发送推送通知。 为此,Campaign依赖于移动应用程序订阅服务。
Android Firebase Cloud Messaging (FCM)服务的一些重要更改将于2024年发布,可能会影响您的Adobe Campaign实施。 您可能需要更新Android推送消息的订阅服务配置才能支持此更改。
此外,Adobe强烈建议迁移到基于令牌的连接而不是APN的基于证书的连接,这种连接更加安全和可扩展。
Google Android Firebase Cloud Messaging (FCM)服务 fcm-push-upgrade
更改了哪些内容? fcm-changes
作为Google不断努力改进其服务的一部分,旧版FCM API将于 2024年7月22日 终止。 请参阅Google Firebase文档以了解有关Firebase Cloud Messaging HTTP协议的更多信息。
Adobe Campaign Classic v7和Adobe Campaign v8已支持用于发送推送通知消息的最新API。 但是,某些旧实施仍依赖旧版API。 必须更新这些实施。
您是否受影响? fcm-impact
如果您当前的实施支持使用旧版API连接到FCM的订阅服务,则您会受到影响。 必须转换为最新的API才能避免任何服务中断。 在这种情况下,Adobe团队将会与您联系。
要检查您是否受到影响,您可以按照以下筛选条件筛选您的 服务和订阅:
-
如果您的任何活动推送通知服务使用 HTTP (旧版) API,则您的设置将直接受到此更改的影响。 您必须查看当前配置并迁移到如下所述的新API。
-
如果您的安装程序仅使用 HTTP v1 API来接收Android推送通知,则表明您已符合要求,无需执行任何进一步操作。
如何更新? fcm-transition-procedure
先决条件 fcm-transition-prerequisites
-
需要Android Firebase Admin SDK服务的帐户JSON文件才能将移动应用程序移动到HTTP v1。 请参阅Google Firebase文档以了解如何获取此文件。
-
对于Campaign Classicv7,20.3.1版本中添加了对HTTP v1的支持。 如果您的环境运行在旧版本上,则迁移到HTTP v1的先决条件是将环境升级到最新的Campaign Classic内部版本。 对于Campaign v8,所有版本都支持HTTP v1,无需升级。
-
作为Campaign Classic v7内部部署用户,您必须同时升级营销和实时执行服务器。
-
对于混合、托管和托管Cloud Service部署,除了下面的过渡过程之外,请联系Adobe以更新实时(RT)执行服务器。
-
关于Android路由外部帐户:
-
作为Campaign Classicv7内部部署或混合用户,检查您的Android路由外部帐户是否配置了
androidPushConnectorV2.js
。 请参阅Campaign Classicv7文档以了解详情。 -
对于混合、托管和托管Cloud Service部署,还必须与Adobe客户关怀团队联系,以验证是否在Android路由中间源服务器的外部帐户中选择了
androidPushConnectorV2.js (nms)
连接器。
-
过渡过程 fcm-transition-steps
要将环境移动到HTTP v1,请执行以下步骤:
-
浏览到您的 服务和订阅 列表。
-
使用 HTTP (旧版) API版本列出所有移动应用程序。
-
对于每个移动设备应用程序,请将 API版本 设置为 HTTP v1。
-
单击 Load project json file to extract project details… 链接以直接加载您的JSON密钥文件。
您还可以手动输入以下详细信息:
- Project Id
- Private Key
- Client Email
-
单击 Test the connection 以检查您的配置是否正确,以及营销服务器是否有权访问FCM。 请注意,对于中间源部署,Test connection 按钮无法检查服务器是否有权访问Android Firebase Cloud Messaging (FCM)服务。
-
作为一个选项,您可以根据需要使用大约 Application variables 扩充推送消息内容。 这些都是完全可自定义的,并且是发送到移动设备的消息有效负载的一部分。
-
单击 Finish,然后单击 Save。
以下是FCM有效负荷名称,用于进一步个性化您的推送通知。 此处详细介绍这些选项。
table 0-row-3 1-row-3 2-row-3 1-align-center 2-align-center 3-align-center 5-align-center 6-align-center 7-align-center 9-align-center 10-align-center 11-align-center 消息类型 可配置消息元素(FCM有效负荷名称) 可配置选项(FCM有效负荷名称) 数据消息 N/A validate_only 通知消息 title,正文, android_channel_id,图标,声音,标记,颜色,点击操作,图像,滚动条,粘性,可见性,通知优先级,通知计数 validate_only
更新现有模板 fcm-transition-update
过渡HTTP v1完成后,您必须为Android推送通知更新 投放模板 以增加批处理消息数量。 为此,请浏览到Android投放模板的属性,然后在 投放 选项卡中,将消息批次数量设置为 256。 将此更改应用于您的Android投放使用的所有投放模板,以及您所有现有的Android投放。
您还可以更新在升级到支持HTTP v1的版本之前创建的现有投放和投放模板。 要执行此操作,请执行以下操作:
-
作为托管Cloud Service或托管客户,请联系Adobe以更新现有Android交付模板。
-
对于内部部署环境,请下载
fcm-httpv1-migration.js
脚本并运行它,如下所述。note caution CAUTION 必须在内部部署营销实例上执行脚本。 accordion 更新现有投放和模板的步骤(仅限内部部署) 要修补在升级到支持HTTP v1的版本之前创建的所有投放和投放模板,请执行以下步骤:
-
将现有的投放和投放模板导出到一个程序包中,以便在修补期间发生意外问题时能够恢复它们。
-
在Posgresql中运行以下命令:
code language-sql pg_dump -Fp -f /sftp/<db_name>-nmsdelivery-before_rd_script.sql -t nmsdelivery -d <db_name>
-
默认情况下,脚本处于
dryrun
模式,您可以在该模式下启动脚本以检查是否需要修补某些投放。命令
code language-sql nlserver javascript -instance:<instance_name> -file fcm-httpv1-migration.js
输出
code language-sql ... HH:MM:SS > Processing delivery (id:123456, label:'Deliver on Android - New', name:'DM1234') HH:MM:SS > Dry run: Would update androidCheckParams for delivery (id:123456, label:'Deliver on Android - New', name:'DM1234') HH:MM:SS > Processing delivery (id:567890, label:'Deliver on Android - New', name:'DM5678') HH:MM:SS > Dry run: Would update androidCheckParams for delivery (id:567890, label:'Deliver on Android - New', name:'DM5678') ... HH:MM:SS > Summary (XYZ processed deliverie(s) or delivery template(s)): HH:MM:SS >> - X had not patchable androidCheckParams formula! HH:MM:SS > - Y had androidCheckParams formula patched. HH:MM:SS > - Z ignored as alreading having androidCheckParams formula patched.
note note NOTE 需要手动更新 not patchable
投放。 可以在日志中找到他们的ID。 -
在执行模式下通过以下方式运行脚本以更新投放:
code language-sql nlserver javascript -instance:<instance_name> -file fcm-httpv1-migration.js -arg:run
-
这对我的Android应用程序有何影响? fcm-apps
无需对Android Mobile应用程序的代码进行特定更改,通知行为不应发生变化。
但是,使用HTTP v1,您可以使用 HTTPV1 additional options 进一步个性化推送通知。
您可以:
- 使用 Ticker 字段设置通知的滚动条文本。
- 使用 Image 字段设置要在通知中显示的图像URL。
- 使用 Notification Count 字段设置直接显示在应用程序图标上的新未读信息数。
- 将 Sticky 选项设置为false,以便在用户单击该通知时自动将其关闭。 如果设置为true,则即使用户单击通知,也会显示通知。
- 将通知的 Notification Priority 级别设置为默认、最小、低或高。
- 将通知的 Visibility 级别设置为public、private或secret。
有关 HTTP v1 additional options 以及如何填写这些字段的更多信息,请参阅FCM文档。
Apple iOS推送通知服务(APN) apns-push-upgrade
更改了哪些内容? ios-changes
按照Apple的建议,您应使用无状态身份验证令牌保护与Apple推送通知服务(APN)的通信。
基于令牌的身份验证提供了与APN进行通信的无状态方式。 无状态通信比基于证书的通信速度更快,因为它不要求APN查找与您的提供商服务器相关的证书或其他信息。 使用基于令牌的身份验证还有其他优势:
-
您可以使用来自多个提供程序服务器的相同令牌。
-
您可以使用一个令牌为您的公司的所有应用程序分发通知。
在Apple开发人员文档中了解有关基于令牌的APN连接的更多信息。
Adobe Campaign Classic v7和Adobe Campaign v8支持基于令牌和基于证书的连接。 如果您的实施依赖于基于证书的连接,Adobe强烈建议您将其更新为基于令牌的连接。
您是否受影响? ios-impact
如果您当前的实施依赖于基于证书的请求来连接到APN,则您会受到影响。 建议转换为基于令牌的连接。
要检查您是否受到影响,您可以按照以下筛选条件筛选您的 服务和订阅:
-
如果您的任何活动推送通知服务使用 基于证书的身份验证 模式(.p12),则应审查您当前的实施并将其移动到基于 令牌的身份验证 模式(.p8),如下所述。
-
如果您的设置仅对iOS推送通知使用 基于令牌的身份验证 模式,则表明您的实施已处于最新状态,无需您执行任何进一步操作。
如何更新? ios-transition-procedure
先决条件 ios-transition-prerequisites
-
对于Campaign Classicv7,已在20.2版本中添加了对 基于令牌的身份验证 模式的支持。 如果您的环境运行在旧版本上,则此更改的先决条件是将您的环境升级到最新的Campaign Classic内部版本。 对于Campaign v8,所有版本都支持 基于令牌的身份验证 模式,无需升级。
-
您需要APN身份验证令牌签名密钥来生成您的服务器使用的令牌。 您从Apple开发人员帐户请求此密钥,如Apple开发人员文档中所述。
-
对于混合、托管和Managed Services部署,除了下面的过渡过程之外,请联系Adobe以更新实时(RT)执行服务器。 不影响中间源服务器。
-
作为Campaign Classic v7内部部署用户,您必须同时升级营销和实时执行服务器。 不影响中间源服务器。
过渡过程 ios-transition-steps
要将iOS移动应用程序移动到基于令牌的身份验证模式,请执行以下步骤:
-
浏览到您的 服务和订阅 列表。
-
使用 基于证书的身份验证 模式(.p12)列出所有移动应用程序。
-
编辑每个移动应用程序,并浏览到 证书/私钥 选项卡。
-
从 身份验证模式 下拉列表中,选择 基于令牌的身份验证 模式(.p8)。
-
填写APNs连接设置 Key Id、Team Id 和 Bundle Id,然后单击 Enter the private key… 选择您的p8证书。
-
单击 Test the connection 以检查您的配置是否正确,以及服务器是否有权访问APN。 请注意,对于中间源部署,Test connection 按钮无法检查服务器是否有权访问APN。
-
单击 Next 开始配置生产应用程序,并遵循上面详述的相同步骤。
-
单击 Finish,然后单击 Save。
您的iOS应用程序现在已移至基于令牌的身份验证模式。