即时通信 IM 模板推送

模板推送是指开发者预先在推送平台创建含固定框架与可替换变量的消息模板,推送时仅传入变量值,由平台自动填充生成最终消息并下发,兼顾标准化、效率与个性化。一次创建可实现多次批量推送,大幅降低开发与运营成本。适用场景包括。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

·系统通知:订单状态、物流更新、账户变动、验证码提醒。

·运营营销:活动促销、会员福利、新品上线、优惠券发放。

·用户唤醒:沉默用户召回、未读消息提醒、功能升级通知。

·行业专属:金融交易提醒、电商物流通知、OTA 行程变更、IoT 设备告警等。

一、创建推送模板

1. 前往 控制台 > 推送服务 Push > 推送设置,点击创建推送模板。

2. 填写基础信息:包括模板名称和模板描述。

3. 填写推送信息:包括推送标题和推送内容。可选择添加预设变量(仅适用于 Chat 消息场景),纯 Push 场景可以点击新增自定义变量,页面左侧可查看推送预览。

4. (可选)多语言设置:打开多语言开关后,支持手动添加 / 批量导入。

5. 点击保存推送模板。

二、应用推送模板

使用推送模板,有两种方式:

三、1. 控制台使用模板

1.1 在 推送设置 页面,选择对应模板后点击创建推送。

推送设置页面

或在 推送管理 页面,点击新建消息推送任务,选择从模板创建,选择对应模板。

推送管理页面

1.2 选定推送模板并查看推送预览后,设置推送策略、推送目标、发送时机等,最后点击推送消息。

1.3 查看推送消息预览,确认无误后点击确认推送。

四、2. 客户端使用模板

请参考如下推送模板接口进行设置使用,详见 接口列表。

特性分类 字段 类型 使用说明 备注
推送模板 pushTemplateId String 推送模板 ID。模板在控制台创建并生成,客户端发送时指定。 无
 pushTemplateParam JSON String 推送模板填充参数。例:对应的模板是:{appName} 发来一条消息你参与的会议,地址 {address} ,将于 {time} 后开始!参数内容为:{"appName": " TIMPush ","address":" 1908 会议室 ","time":" 3 分钟 "} 无

用法示例

AndroidiOSC++JavaKotlinGson gson = new Gson();Map<String, Object> map = new HashMap<>();map.put("pushTemplateId", "templateid");Map<String, Object> pushTemplateParamMap = new HashMap<>();pushTemplateParamMap.put("key1", "value1");map.put("pushTemplateParam", gson.toJson(pushTemplateParamMap));// 构造 offlinePushInfoV2TIMOfflinePushInfo offlinePushInfo = new V2TIMOfflinePushInfo();offlinePushInfo.setVendorParams(gson.toJson(map));// 发送消息,传入 offlinePushInfoV2TIMManager.getMessageManager().sendMessage( message, receiver, groupID, V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, offlinePushInfo, callback);val gson = Gson()val map = mutableMapOf<String, Any>( "pushTemplateId" to "templateid")val pushTemplateParamMap = mapOf("key1" to "value1")map["pushTemplateParam"] = gson.toJson(pushTemplateParamMap)// 构造 offlinePushInfoval offlinePushInfo = V2TIMOfflinePushInfo()offlinePushInfo.setVendorParams(gson.toJson(map))// 发送消息,传入 offlinePushInfoV2TIMManager.getMessageManager().sendMessage( message, receiver, groupID, V2TIMMessage.V2TIM_PRIORITY_DEFAULT, false, offlinePushInfo, callback)OCSwiftNSMutableDictionary *map = [@{ @"pushTemplateId": @"templateid"} mutableCopy];NSDictionary *pushTemplateParamMap = @{@"key1": @"value1"};NSData *pushTemplateData = [NSJSONSerialization dataWithJSONObject:pushTemplateParamMap options:0 error:nil];NSString *pushTemplateJson = [[NSString alloc] initWithData:pushTemplateData encoding:NSUTF8StringEncoding];;NSData *paramsData = [NSJSONSerialization dataWithJSONObject:map options:0 error:nil];NSString *params = [[NSString alloc] initWithData:paramsData encoding:NSUTF8StringEncoding];// 构造 offlinePushInfoV2TIMOfflinePushInfo *offlinePushInfo = [[V2TIMOfflinePushInfo alloc] init];offlinePushInfo.vendorParams = params;// 发送消息,传入 offlinePushInfo[[V2TIMManager sharedInstance] sendMessage:message receiver:receiver groupID:groupID priority:V2TIM_PRIORITY_DEFAULT onlineUserOnly:NO offlinePushInfo:offlinePushInfo progress:nil succ:succ fail:fail];var map: [String: Any] = [ "pushTemplateId": "templateid",]let pushTemplateParamMap: [String: String] = ["key1": "value1"]if let pushTemplateData = try? JSONSerialization.data(withJSONObject: pushTemplateParamMap), let pushTemplateJson = String(data: pushTemplateData, encoding: .utf8) { map["pushTemplateParam"] = pushTemplateJson}let paramsData = try! JSONSerialization.data(withJSONObject: map)let params = String(data: paramsData, encoding: .utf8)!// 构造 offlinePushInfolet offlinePushInfo = V2TIMOfflinePushInfo()offlinePushInfo.vendorParams = params// 发送消息,传入 offlinePushInfoV2TIMManager.sharedInstance().sendMessage( message: message, receiver: receiver, groupID: groupID, priority: .V2TIM_PRIORITY_DEFAULT, onlineUserOnly: false, offlinePushInfo: offlinePushInfo, progress: nil, succ: succ, fail: fail)#include <sstream>#include <string>std::ostringstream params;params << "{";params << "\\"pushTemplateId\\":\\"templateid\\",";std::string pushTemplateParam = "{\\"key1\\":\\"value1\\"}";params << "\\"pushTemplateParam\\":\\"";for (const char c : pushTemplateParam) { if (c == '"') { params << '\\\\'; } params << c;}params << "\\"}";std::string vendorParams = params.str();// 构造 offlinePushInfoV2TIMOfflinePushInfo offlinePushInfo;offlinePushInfo.vendorParams = V2TIMString(vendorParams.c_str(), vendorParams.size());// 发送消息,传入 offlinePushInfoV2TIMManager::GetInstance()->GetMessageManager()->SendMessage( message, receiver, groupID, V2TIM_PRIORITY_DEFAULT, false, offlinePushInfo, callback);

赞 (0)
上一篇 4天前
下一篇 4天前