推送消息

Adobe Mobile 和 Adobe Mobile SDK 允许您向用户发送推送消息。此 SDK 还允许您轻松报告哪些用户是在点进推送消息后打开了您的应用程序。

要使用推送消息,您​必须​具有 SDK 版本 4.6 或更高版本。

IMPORTANT

请不要在您的应用程序中手动设置 Experience Cloud ID。这会导致新建一个唯一用户,该用户将因其选择加入状态而无法接收推送消息。例如,已选择接收推送消息的某位用户登录到您的应用程序。登录后,如果您在应用程序中手动设置 ID,则会新建一个唯一用户,且该用户未选择接收推送消息。该新用户将不会接收您的推送消息。

不支持将应用程序移动到新的报表包。如果迁移到新报表包,则推送配置可能会中断,并且可能无法发送消息。

启用推送消息

TIP

如果您的应用程序已设置为使用通过 Firebase Cloud Messaging (FCM) 的消息传送,下面有些步骤可能已经完成。

  1. 确认 ADBMobileConfig.json 文件中包含推送消息所需的设置。

    "marketingCloud" 对象必须为推送消息配置了其 "org" 属性。

    "marketingCloud": { 
      "org": <org-id-string> 
     }
    
  2. 使用 Firebase Cloud Messaging (FCM) API 获取注册 ID /令牌。

    String token = FirebaseInstanceId.getInstance().getToken();
    
  3. 必须使用 Config.setPushIdentifier(final String registrationId) 方法将注册 ID/令牌传递到 SDK。

    Config.setPushIdentifier(token); // token was obtained in step 2
    
  4. 通过在 collectLifecycleData 方法中传递您的活动来启用报表。

    以下是启用推送点进报表的要求:

    • FireBaseMessageService 的实现中,必须将包含消息数据(将与 RemoteMessage 对象一起被传递到 onMessageReceived 方法中)的包对象添加到用于在点进时打开目标活动的意图中。可以使用 putExtras 方法来完成此操作。有关更多信息,请参阅 putExtras)。
    Intent intent = new Intent(this, MainActivity.class);
       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    // get the bundle from the RemoteMessage object
       intent.putExtras(message.toIntent().getExtras());
    
    • 在点进的目标活动中,必须通过 collectLifecycleData 调用将该活动传递到 SDK 中。

      请牢记以下信息:

      • 使用 Config.collectLifecycleData(this)Config.collectLifecycleData(this, contextData)

      • 不要​使用 Config.collectLifecycleData()

在此页面上