关于个推的使用总结(纯代码干货)

本文主要总结了在项目中应用个推进行消息推送的经验,包括如何获取客户端cid,利用手机号设置别名,并通过别名实现单推模式的详细代码操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于个推的使用总结

个推开发文档

<dependency>
    <groupId>com.getui.push</groupId>
    <artifactId>restful-sdk</artifactId>
    <version>1.0.0.1</version>
</dependency>

在项目中可使用的主要是个推的单推模式,通过客户端获取用户的cid(clientId)后调用接口

通过用户的手机号设置别名,代码如下:

public void doUpdateCidAlias(String cid) {
    String mobile = getLoginedUser().getMobile();//获取当前登录的用户
    UserApi userApi = GetTuiApi.getUserApi();//自己写的UserApi生成的方法
    CidAliasListDTO cidAliasListDTO = new CidAliasListDTO();
    cidAliasListDTO.add(new CidAliasListDTO.CidAlias(cid,mobile));
    userApi.bindAlias(cidAliasListDTO);
    smartGeTuiMappingService.putInfoToGeTuiMapping(cid,mobile);//将信息存入自己的数据库中
}

创建对象(PushApi StatisticApi UserApi )

//创建对象,建议复用。目前有PushApi、StatisticApi、UserApi
public class GetTuiApi {
    public static UserApi getUserApi(){
        GtApiConfiguration apiConfiguration = new GtApiConfiguration();
        //填写应用配置
        apiConfiguration.setAppId(JPressOptions.get("geTuiAppId"));
        apiConfiguration.setAppKey(JPressOptions.get("geTuiAppKey"));
        apiConfiguration.setMasterSecret(JPressOptions.get("geTuiMasterSecret"));
        apiConfiguration.setDomain("https://restapi.getui.com/v2/");
        ApiHelper apiHelper = ApiHelper.build(apiConfiguration);
        // 创建对象,建议复用。目前有PushApi、StatisticApi、UserApi
        return apiHelper.creatApi(UserApi.class);
    }
    public static PushApi getPushApi(){
        GtApiConfiguration apiConfiguration = new GtApiConfiguration();
        //填写应用配置
        apiConfiguration.setAppId(JPressOptions.get("geTuiAppId"));
        apiConfiguration.setAppKey(JPressOptions.get("geTuiAppKey"));
        apiConfiguration.setMasterSecret(JPressOptions.get("geTuiMasterSecret"));
        apiConfiguration.setDomain("https://restapi.getui.com/v2/");
        ApiHelper apiHelper = ApiHelper.build(apiConfiguration);
        return apiHelper.creatApi(PushApi.class);
    }
}

通过别名发送推送消息

/**
 * @param alias_mobile 别名
 * @param title 通知的题头
 * @param body 通知消息的内容
 */
public static void gTPush(String alias_mobile,String title,String body){
    PushApi pushApi = GetTuiApi.getPushApi();
    //根据别名进行单推

    PushDTO<Audience> pushDTO = new PushDTO<Audience>();
    // 设置推送参数
    pushDTO.setRequestId(System.currentTimeMillis() + "");

    PushMessage pushMessage = new PushMessage();


    pushDTO.setPushMessage(pushMessage);
    GTNotification notification = new GTNotification();
    pushMessage.setNotification(notification);
    notification.setTitle(title);
    notification.setBody(body);
    //点击通知信息,跳转到App(打开APP)
    notification.setClickType("startapp");//启动App click_type should choose one of ["url","intent","payload","payload_custom","none","startapp"]

    // 设置接收人信息
    Audience audience = new Audience();
    pushDTO.setAudience(audience);
    audience.addAlias(alias_mobile);
    //audience.addCid("cid");

    // 进行alia别名单推

    ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByAlias(pushDTO);
    //ApiResult<Map<String, Map<String, String>>> mapApiResult = pushApi.pushToSingleByCid(pushDTO); //通过CID进行发送(其他的一下发送方法可在pushApi中查看)
    if (apiResult.isSuccess()) {
        // success
        System.out.println("个推success"+apiResult.getData());
    } else {
        // failed
        System.out.println("个推失败"+"code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值