基于个推实现推送

本文档记录了在APP开发中如何基于个推进行消息推送。首先,在个推官网完成appkey等配置,包括获取Android签名。接着,创建推送工具类,简化推送操作,并使用模板类设定推送内容。通过调用工具类并传入参数,即可实现推送功能。
摘要由CSDN通过智能技术生成

基于个推实现推送

在开发APP的时候,我们经常会碰到需要进行推送消息的情况,个推就是一个很好地解决了这个问题的平台,接下来就我在项目中使用的情况 简单做以记录。

在个推官网申请appkey等内容

在个推开发者中心中,点击应用管理中的添加应用,填写相应的应用信息,唯独获取android签名比较麻烦,但是可根据平台的引导获取得到。
然后一步步操作可获取appId、appKey、masterSecret这三项配置。我在此是
写成了静态的变量,方便之后进行操作。

// 在这里你需要吧自己申请的东西填进去哦
public class conf {
    
    //定义常量, appId、appKey、masterSecret  在"个推控制台"中获得的应用配置
    // 由IGetui管理页面生成,是您的应用与SDK通信的标识之一,每个应用都对应一个唯一的AppID 
    public static String appId = "";
    // 预先分配的第三方应用对应的Key,是您的应用与SDK通信的标识之一。 
    public static String appKey = "";
    // 个推服务端API鉴权码,用于验证调用方合法性。在调用个推服务端API时需要提供。(请妥善保管,避免通道被盗用) 
    public static String masterSecret = "";
 
    public static String url = "http://sdk.open.api.igexin.com/apiex.htm";
}

app推送的工具类

该工具类是为了方便推送,所以写的工具类

public class AppPush {
   
    // 对单个用户推送消息
	/*
	 * 1. cId:客户端唯一识别码
	 * 2. transText:透传消息
	 * 3. title:标题栏 ,
	 * 4. text:通知栏内容,
	 */
    public static void sendAppMsg(String cId,Map<String,String> param) {
   
        try {
   
            // 代表在个推注册的一个 app,调用该类实例的方法来执行对个推的请求
            IGtPush push = new IGtPush(conf.url,conf.appKey, conf.masterSecret);
            //定义消息推送方式为,单推
            SingleMessage message = new SingleMessage();
            // 设置推送消息的模板
            JSONObject transText = new JSONObject();
            for (Map.Entry<String,String> entry : param.entrySet()) {
   
                transText.element(entry.getKey(), entry.getValue());
            }
            message.setData(Templates.getTransmissionTemplate(transText.toString()));
            message.setOffline(true);
            message.setOfflineExpireTime(24*1000*3600);
            // 设置推送目标
            Target target = new Target();
            target.setAppId(conf.appId);
            // 设置cid
            target.setClientId(cId);
            // 获得推送结果
            System.out.println("正在推送app消息...");
            IPushResult result = push.pushMessageToSingle(message, target);
            System.out.println("========================");
            System.out.println(result.getResponse().toString());
		/*
		 * 1. 失败:{result=sign_error}
		 * 2. 成功:{result=ok, taskId=OSS-0212_1b7578259b74972b2bba556bb12a9f9a, status=successed_online}
		 * 3. 异常
		 */
        }catch (Exception e){
   
            e.printStackTrace();
        }


    }
    // 对单个用户推送消息
	/*
	 * 1. cId:客户端唯一识别码
	 * 2. transText:透传消息
	 * 3. title:标题栏 ,
	 * 4. text:通知栏内容,
	 */
    public static void sendAppOpenMsg(String cId,Map<String,String> param) {
   
        try {
   
            // 代表在个推注册的一个 app,调用该类实例的方法来执行对个推的请求
            IGtPush push = new IGtPush(conf.url
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值