Hubilder ios推送使用个推总结
首先根据hbuilder的官方知道进行配置开发是没有任何问题的
- 对于ios的应用在线情况下:推送走的是个推平台和应用个推SDK的TCP长链接,在监听了receiver方法页面中可以收到透传消息。
对于ios的应用不在线情况下:推送走的是个推平台拿着deviceToken将消息发送给苹果APNS服务器,苹果服务器根据deviceToken将消息发送给对应deviceToken的设备,进行离线消息推送。
- 切记后台消息模版一定一定一定要用透传,下面是java后端代码。
package com.fgdz.util; import java.util.ArrayList; import java.util.List; import java.util.Map; import com.fgdz.common.WebConfig; import com.fgdz.dao.TUserClient; import com.gexin.rp.sdk.base.IPushResult; import com.gexin.rp.sdk.base.ITemplate; import com.gexin.rp.sdk.base.em.EPushResult; import com.gexin.rp.sdk.base.impl.ListMessage; import com.gexin.rp.sdk.base.impl.Target; import com.gexin.rp.sdk.base.payload.APNPayload; import com.gexin.rp.sdk.http.IGtPush; import com.gexin.rp.sdk.template.TransmissionTemplate; /** * 个推的java服务端发送消息推送 */ public class GeTuiPushUtil { // 定义常量, appId、appKey、masterSecret 采用本文档 "第二步 获取访问凭证 "中获得的应用配置 private static String appId = " "; private static String appKey = " "; private static String masterSecret = " "; private static String host = " "; /** * * @param title * 通知标题 * @param message * APNPayload节点内容,不超过2kb * @param transmissionContent * 透传内容 :2048中/英字符,透传内容,不支持转义字符, * @param offline * 是否离线,建议设置成true * @param offlineExpireTime * 离线时长 单位为毫秒 * @param clientList * 要推送给的设备用户集合 * @return */ public static boolean pushMessageToList(String title, String message, String transmissionContent, boolean offline, long offlineExpireTime, List<TUserClient> clientList) { if (!WebConfig.isEnableJPush) return true; try { // 配置推送目标 List<Target> targets = new ArrayList<Target>(); for (TUserClient client : clientList) { // TODO: 一次建议50-100个CID Target target = new Target(); target.setAppId(appId);// 必填,设置客户端所属应用唯一ID target.setClientId(client.getClientId());// 必填,设置客户端身份ID targets.add(target); }