![]() ![]() ![]() ![]() |
本章介绍 Sun Java System Content Delivery Server 消息传送 API。消息传送 API 为运营商或应用程序供应商集成自身的 WAP、SMS 和 MMS 推送实现(通过提供适配器进行集成)提供了一种机制。Content Delivery Server 还提供了可以在大多数情况下使用的缺省 WAP、SMS 和 MMS 推送实现。
下图说明了消息传送 API 的高层体系结构以及使用此 API 的其他组件。
外部推送系统可以与 Content Delivery Server 进行交互或者从中接收推送消息。
有关本节中未介绍的类或方法的信息,请参见 $CDS_HOME/javadoc/cdsapi/index.html
中的消息传送 API 的 Javadoc 工具的 HTML 输出。
PushMsgSender
接口声明推送消息发送器实现所需的方法。此接口在 Content Delivery Server 发送推送消息时由 Content Delivery Server 消息传送服务调用。
PushMsgListener
接口声明推送消息监听器实现所需的方法。
此方法在 SMSC 发送推送消息时由 Content Delivery Server 消息传送服务调用。
这是 Content Delivery Server 消息传送服务调用的第一个方法,以便在连接到 SMSC 之前初始化 SMSC 参数。
当 PushMsgListener
已连接到 SMSC 并且希望监听来自设备的传入消息时,此方法将由 Content Delivery Server 消息传送服务调用。
如果一段时间后 SMSC 要求发送“保持活动”的信号,那么此消息将由 Content Delivery Server 消息传送服务调用。
PushMessage
是由 Content Delivery Server 生成的所有不同类型推送消息的接口。MMSPushMessage
、 WAPPushMessage
、SMTPMessage
和 SMSMessage
类扩展了 PushMessage
。
在消息构建期间,所有 set
方法由 Content Delivery Server 使用。所有 get
方法可以由推送消息的发送器实现使用。
设置接收订户设备的用户代理。
返回接收订户设备的所有用户代理。
返回所有消息特性。
返回目标地址,即接收订户的电话号码或者电子邮件 ID。
返回 JMS 消息的 ID。
返回消息文本。
返回推送消息的类别。
返回推送消息的域。
返回消息类型。
返回订户 ID。
返回唯一设备 ID。
返回销售内容 ID。
设置接收订户设备的多个用户代理。
设置所有消息的特性。
设置推送消息的接收订户的目标地址。目标地址可以是电话号码或电子邮件 ID。
设置 JMS 消息的 ID。
设置消息文本。
设置推送消息的类别。
设置推送消息的域。
设置订户的 ID。
设置设备唯一的 ID。
设置销售内容 ID。
将 PushMessage
对象的数据显示到日志。此方法主要用于调试。
SMSURLEncoder 接口声明了获取 HTTP 请求的 URL 所需的方法。
此方法由 HTTPSMSPushMessageSender
调用,以获取服务提供商宿主特定 SIM 卡时 HTTP 请求所需的 URL 和参数。
SMSMessage
类扩展了 PushMessage,并代表了一个 SMS 推送消息。SMSMessage 包括的方法可以获取并设置消息内容的名称和类型以及 MIME 类型。还包括获取并设置用于下载的 URL 的方法。
在消息构建期间,所有 set
方法由 Content Delivery Server 使用。所有 get
方法可以由推送消息的发送器实现使用。
设置消息的内容类型。
获取消息的内容类型。
设置内容或应用程序的显示名称。
获取内容或应用程序的显示名称。
获取 MIME 类型。
设置 MIME 类型。
设置应用程序的下载 URL。此方法在 Content Delivery Server 需要向设备发送下载消息时由它调用。
如果在消息中设置了 URL,则获取下载 URL。如果未指定任何下载 URL 则返回空。
WapPushMessage
类扩展了 WAP 支持的 PushMessage
接口。
设置应用程序的下载 URL。此方法在 Content Delivery Server 需要向设备发送下载消息时由它调用。
获取在消息中设置的下载 URL。如果未指定下载 URL 则返回空。
此类表示 SMTP push message。SMTPMessage
扩展了 PushMessage
。SMTPMessage
包括的方法可以获取并设置消息主题以及用来覆盖消息的“发件人”字段的值。
在消息构建期间,所有 set
方法由 Content Delivery Server 使用。所有 get
方法可以由推送消息的发送器实现使用。
返回用作电子邮件消息的“发件人”地址的地址。
获取 SMTP 消息的主题。
设置电子邮件消息的覆盖“发件人”地址。如果设置为非空的值,它将用于已发送电子邮件消息的标题。
设置 SMTP 消息的主题。
此类用于存储 MMS 推送消息的二进制数据。该二进制数据可以具有 MIME 类型并具有与之关联的唯一 ID。在消息构建期间,所有 set
方法由服务器使用。所有 get
方法可以由推送消息的实现使用。
返回与 MMS 推送消息关联的二进制数据。
返回与 MMS 推送消息的二进制数据关联的唯一 ID。
返回 MMS 推送消息的二进制数据的 MIME 类型。
设置 MMS 推送消息的二进制数据。
设置与 MMS 推送消息的二进制数据关联的唯一 ID。
设置 MMS 推送消息的二进制数据的 MIME 类型。
此类是 ContentSlide
对象的包装,用于构建 MMS 推送消息。在消息构建期间,所有 set
方法由服务器使用。所有 get
方法可以由推送消息的实现使用。
返回 MMSSlide
对象的音频内容。
返回 MMSSlide
对象的图像内容。
返回 MMSSlide
对象的文本内容。
返回 MMSSlide
对象的视频内容。
设置 MMSSlide
对象的音频内容。
设置 MMSSlide
对象的图像内容。
设置 MMSSlide
对象的文本内容。
设置 MMSSlide
对象的视频内容。
MMSPushMessage
类扩展了 PushMessage
并表示了 MMS 推送消息。在消息构建期间,所有 set
方法由 Content Delivery Server 使用。所有 get
方法可以由推送消息的实现使用。此类将包含“发件人”地址、“收件人”地址、MMSC 相关数据、用户代理以及任何同步多媒体集成语言 (SMIL) 数据(如果可用)。同时还封装了 MMSSlide
对象。
设置 MMSSlide
对象。
设置接收订户的电话号码或电子邮件 ID。
返回与此 MMSPushMessage
关联的所有 MMSSlide
对象。
返回消息的所有收件人的电话号码或电子邮件 ID。
返回 DeliveryReportRequired
特性的值。
返回发送者的电话号码或电子邮件 ID。
返回 MessageClass
特性的值。
返回 MessagePriority
特性的值。
返回 ReadReportRequired
特性的值。
返回 SenderVisibility
特性的值。
返回 SMIL 数据。
设置 DeliveryReportRequired
特性的值。
设置发送者的电话号码或电子邮件 ID。
设置 MessageClass
特性的值。
设置 MessagePriority
特性的值。
设置 ReadReportRequired
特性的值。
设置 SenderVisibility
特性的值。
设置 SMIL 数据。
PushResponse
是由外部推送服务生成的所有不同类型推送响应的基类。所有 set
方法由推送消息的发送器实现使用。所有 get
方法可以由服务器使用以便将推送消息记录到数据库中。
返回消息 ID。
返回响应的说明。
返回响应的状态。
PushConstants
类包含所有推送服务服务器支持的常量。特定推送服务实现将这些常量与从 PushMessage
对象接收的值进行比较。
public static final long SMS_PUSH_TYPE = "sms" public static final long WAP_PUSH_TYPE = "wap" public static final long MMS_PUSH_TYPE = "mms" public static final long SMTP_PUSH_TYPE = "smtp"
public static final long PUSH_SUBSCRIBER_DETAIL_URL_CATEGORY = "subscriber_detail_url" public static final long PUSH_MOBILE_ORIGINATED_DETAIL_URL_CATEGORY = "mobile_originated_detail_url" public static final long PUSH_CONTENT_BINARY_CATEGORY = "content_binary" public static final long PUSH_GIFTING_DETAIL_URL_CATEGORY = "gifting_detail_url" public static final long PUSH_CONTENT_SHARING_DETAIL_URL_CATEGORY = "content_sharing_detail_url" public static final long PUSH_PASSWORD_REMINDER_CATEGORY = "password_reminder" public static final long PUSH_CAMPAIGN_MESSAGE_CATEGORY = "campaign_message" public static final long PUSH_DEVELOPER_MESSAGE_CATEGORY = "developer_message" public static final long PUSH_NEW_MODEL_EMAIL_NOTIFICATION_CATEGORY = "new_model_email_notification"
public static final long SUBSCRIBER_PUSH_DOMAIN = "subscriber" public static final long VENDING_PUSH_DOMAIN = "vending" public static final long CATALOG_PUSH_DOMAIN = "catalog" public static final long DEVELOPER_PUSH_DOMAIN = "developer"
推送消息发送器适配器必须实现 PushMsgSender
接口。部署期间,实现类需要在 Content Delivery Server 中注册。XML 文件用于注册。此 XML 文件位于 $CDS_HOME/deployment/
deployment-name/conf
目录中,且名为 pushsenderfactory.xml
。
以下示例显示了此文件的结构。
<?xml version="1.0" encoding='UTF-8' ?> <PushSenderConfig nodeid="0"> <pushmsgsenderset nodeid ="1"> <pushmsgsender nodeid ="2" class = "com.sun.content.server.server.msgserver.push.SMSHTTPPushMsgSender" protocol="sms"/> <pushmsgsender nodeid ="3" class = "com.sun.content.server.server.msgserver.push.WAPPushMsgSender" protocol="wap"/> <pushmsgsender nodeid ="4" class = "com.sun.content.server.server.msgserver.push.SMTPushMsgSender" protocol="smtp"/> </pushmsgsenderset> </PushSenderConfig>
此文件中注册了三个适配器。请指定适配器支持全限定类名和协议。例如,如果适配器用于 SMS 推送,则协议应为 SMS。确保在类路径中设置了适配器类和相关的类。
MMSSender
接口声明用于发送 MMS 消息的方法。此接口必须在集成过程中由供应商特定的多媒体消息服务中心 (MMSC) 实现。
发送 MMS 消息的功能封装在 sendMMS
方法中:
此方法由 Content Delivery Server 消息传送服务在从 Content Delivery Server 接收 MMSPushMessage
时调用。
Content Delivery Server 将 MMSPushMessage
对象发送到 Content Delivery Server 消息传送服务。消息传送服务使用 MsgService.properties
文件中的 mms.senderclass
属性值标识提供 MMSSender.sendMMS
的供应商特定实现的类的全限定名称。sendMMS
实现中的代码将 MSSPushMessage
对象转换为 MMS 消息对象的供应商特定版本并将其发送到供应商特定 MMSC 进行处理。下图显示了此过程。
实现 MMSSender.sendMMS
供应商特定版本的代码包含以下常规步骤:
![]() ![]() ![]() ![]() |
定制指南 Sun Java™ System Content Delivery Server,版本 2004Q1 |
版权所有 © 2004 Sun Microsystems, Inc. 保留所有权利。必须依据许可证条款使用。