[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,请执行以下步骤:

  1. 浏览到您的​ 服务和订阅 ​列表。

  2. 使用​ HTTP (旧版) API版本列出所有移动应用程序。

  3. 对于每个移动设备应用程序,请将​ API版本 ​设置为​ HTTP v1

  4. 单击​ Load project json file to extract project details… ​链接以直接加载您的JSON密钥文件。

    您还可以手动输入以下详细信息:

    • Project Id
    • Private Key
    • Client Email

  5. 单击​ Test the connection ​以检查您的配置是否正确,以及营销服务器是否有权访问FCM。 请注意,对于中间源部署,Test connection ​按钮无法检查服务器是否有权访问Android Firebase Cloud Messaging (FCM)服务。

  6. 作为一个选项,您可以根据需要使用大约​ Application variables ​扩充推送消息内容。 这些都是完全可自定义的,并且是发送到移动设备的消息有效负载的一部分。

  7. 单击 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
NOTE
一旦将这些更改应用于您的所有服务器,所有向Android设备投放​ ​推送通知都将使用HTTP v1 API。 正在重试、进行中和正在使用的现有推送投放仍使用HTTP(旧版)API。 请在以下部分了解如何更新它们。

更新现有模板 fcm-transition-update

过渡HTTP v1完成后,您必须为Android推送通知更新​ 投放模板 ​以增加批处理消息数量。 为此,请浏览到Android投放模板的属性,然后在​ 投放 ​选项卡中,将消息批次数量设置为​ 256。 将此更改应用于您的Android投放使用的所有投放模板,以及您所有现有的Android投放。

您还可以更新在升级到支持HTTP v1的版本之前创建的现有投放和投放模板。 要执行此操作,请执行以下操作:

  • 作为托管Cloud Service或托管客户,请联系Adobe以更新现有Android交付模板。

  • 对于内部部署环境,请下载fcm-httpv1-migration.js脚本并运行它,如下所述。

    下载fcm-httpv1-migration.zip

    note caution
    CAUTION
    必须在内部部署营销实例上执行脚本。
    accordion
    更新现有投放和模板的步骤(仅限内部部署)

    要修补在升级到支持HTTP v1的版本之前创建的所有投放和投放模板,请执行以下步骤:

    1. 将现有的投放和投放模板导出到一个程序包中,以便在修补期间发生意外问题时能够恢复它们。

    2. 在Posgresql中运行以下命令:

      code language-sql
      pg_dump -Fp -f /sftp/<db_name>-nmsdelivery-before_rd_script.sql -t nmsdelivery -d <db_name>
      
    3. 默认情况下,脚本处于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。
    4. 在执行模式下通过以下方式运行脚本以更新投放:

      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移动应用程序移动到基于令牌的身份验证模式,请执行以下步骤:

  1. 浏览到您的​ 服务和订阅 ​列表。

  2. 使用​ 基于证书的身份验证 ​模式(.p12)列出所有移动应用程序。

  3. 编辑每个移动应用程序,并浏览到​ 证书/私钥 ​选项卡。

  4. 从​ 身份验证模式 ​下拉列表中,选择​ 基于令牌的身份验证 ​模式(.p8)。

  5. 填写APNs连接设置​ Key IdTeam Id ​和​ Bundle Id,然后单击​ Enter the private key… ​选择您的p8证书。

  6. 单击​ Test the connection ​以检查您的配置是否正确,以及服务器是否有权访问APN。 请注意,对于中间源部署,Test connection ​按钮无法检查服务器是否有权访问APN。

  7. 单击​ Next ​开始配置生产应用程序,并遵循上面详述的相同步骤。

  8. 单击 Finish,然后单击 Save

您的iOS应用程序现在已移至基于令牌的身份验证模式。

recommendation-more-help
c14bd44c-7b5f-474a-888d-1c2baee5a247