前言:公司要做app推送,选择了友盟,刚接触推送这一块,也不怎么熟悉,碰到了一些问题,比如友盟推送是分平台:Android和IOS都是不同的key和secret.然后就是如果想在本地测试,那么就要去友盟后台关闭白名单......等等
特别是刚接触的同学特别需要注意是:
1.deviceToken是IOS或者Android来获取传递给我们的,不是我们自己能获取的.
2.如果需要使用别名推送,那么也是IOS或者Android来将deviceToken和用户的唯一属性进行绑定的,不需要我们后端处理,但是每次绑定的时候,是需要几分钟左右,友盟那边才会生成,不是秒级的,他们绑定后,我们会定义一个别名类型,他们定义好后,会提供给我们.我们只需要将这个值赋予alias_type就行.
3.友盟提供的demo中就有利用token推送,也有广播推送,但是没提供别名推送
API消息推送常见问题及解决方法小览:http://bbs.umeng.com/thread-10472-1-1.html
接口调用错误码详解:http://dev.umeng.com/push/android/api-doc#4_8
参考网址:https://blog.csdn.net/weilai_zhilu/article/details/77976015
这里我就只提供别名推送:
import java.util.ResourceBundle;
import com.alibaba.fastjson.JSONObject;
public class PushUtil {
private static String appAndroidkey = "";
private static String appAndroidMasterSecret = "";
private static String appIOSkey = "";
private static String appIOSMasterSecret = "";
private static String aliasType = ""; //别名类型,与手机端统一的一个自定义类型 值可随便写但必须统一
// http接口:http://msg.umeng.com/api/send
// https接口:https://msgapi.umeng.com/api/send
private static String url = "";
private static boolean mode = false; //模式 true正式模式;false测试模式
private static PushClient client = new PushClient();
static {
if(appAndroidkey.equals("")) {
ResourceBundle resource