MUI集成个推实现消息推送

1.个推官网注册

2.开发者中心-我的-应用管理,创建应用

3.HBuilder中获取应用包名,配置到应用里面

4.在应用配置中可以看到AppID,AppSecret,AppKey,MasterSecret信息,把相应的信息填到项目的mainfest.json-sdk配置-个推,然后打包安装app(配置好的app要安装才能收到信息)

5.个推官网发送消息测试

6.java集成(可参考文档,内容足够详细)

 

7.app获取cid: var cid = plus.push.getClientInfo().clientid;

  这样就可以实现推送消息到指定设备上

   这个加到dependencies

<!-- 个推 -->
        <dependency>
            <groupId>com.gexin.platform</groupId>
            <artifactId>gexin-rp-sdk-http</artifactId>
            <version>4.1.1.0</version>
        </dependency>

  这个加到外面

<!-- 个推 -->
    <repositories>
        <repository>
            <id>getui-nexus</id>
            <url>http://mvn.gt.igexin.com/nexus/content/repositories/releases/</url>
        </repository>
    </repositories>

java代码

package jt.cab.webapi.utils;

import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.AppMessage;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.NotificationTemplate;
import com.gexin.rp.sdk.template.style.Style0;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class AppPushUtil {
    // STEP1:获取应用基本信息
    private static String appId = "";
    private static String appKey = "";
    private static String masterSecret = "";
    private static String url = "http://sdk.open.api.igexin.com/apiex.htm";

    public static void main(String[] args) throws IOException {

        IGtPush push = new IGtPush(url, appKey, masterSecret);

        Style0 style = new Style0();

        // STEP2:设置推送标题、推送内容(这里会有个问题,可能会中文乱码,但是从实体中获取就不存在这里问题了)
        style.setTitle("title");
        style.setText("content");
//        style.setLogo("push.png");  // 设置推送图标
        // STEP3:设置响铃、震动等推送效果
        style.setRing(true);  // 设置响铃
        style.setVibrate(true);  // 设置震动
        //设置通道,根据cid发送,不设置默认所有
        style.setChannel("84e183e7414652a93a92453c6ec4dfac");


        // STEP4:选择通知模板
        NotificationTemplate template = new NotificationTemplate();
        template.setAppId(appId);
        template.setAppkey(appKey);
        template.setStyle(style);


        // STEP5:定义"AppMessage"类型消息对象,设置推送消息有效期等推送参数
        List<String> appIds = new ArrayList<String>();
        appIds.add(appId);
        AppMessage message = new AppMessage();
        message.setData(template);
        message.setAppIdList(appIds);
        message.setOffline(true);
        message.setOfflineExpireTime(1000 * 600);  // 时间单位为毫秒

        // STEP6:执行推送
        IPushResult ret = push.pushMessageToApp(message);
        System.out.println(ret.getResponse().toString());
    }
}

 

posted @ 2020-04-03 09:54  农名工进城  阅读(1178)  评论(0编辑  收藏  举报