百度云推送的一些注意事项

最近项目中要用到推送,之前一直用的是xmpp,这次公司指明要用百度云推送,以为几分钟就能搞定的事,结果吃在了以前用xmpp的亏,进入了一个误区,以为只要启动就ok了,可是事实却总是报,找不到相关类,静下心来看官方文档,发现网站的引导做的不是很好,甚至有点乱,总是找不到想到的网页,这里简单的说下流程:

首先注册一个百度账号,这里就不多说了。然后登陆,点击右上方的管理控制台选择开发者服务管理见下图

百度云推送的一些注意事项_第1张图片


会进入下面的界面

百度云推送的一些注意事项_第2张图片

点击创建工程见下界面

百度云推送的一些注意事项_第3张图片

随便输入一个应用名称,点击创建会看到下面的界面

百度云推送的一些注意事项_第4张图片


百度云推送的一些注意事项_第5张图片

点击推送设置

百度云推送的一些注意事项_第6张图片

接下来输入你的应用包名,点保存

现在点击右上角的APIKey,就可以复制你的API key了

百度云推送的一些注意事项_第7张图片

下面简单介绍一下配置和代码,官方文档,和demo已经足够了,这里就说一下需要注意的地方

百度云推送的一些注意事项_第8张图片

接下来是代码的调用

百度云推送的一些注意事项_第9张图片将这两个文件拷贝到你的主包下,修改使其没错,


 if (!hasBind(getApplicationContext())) {

//           !! 请将AndroidManifest.xml 104行处 api_key 字段值修改为自己的 api_key 方可使用 !!

//           !! ATTENTION:You need to modify the value of api_key to your own at row 104 in AndroidManifest.xml to use this Demo !!

           PushManager.startWork(getApplicationContext(),

                   PushConstants.LOGIN_TYPE_API_KEY,

                   getMetaValue(MainActivity.this, "api_key"));

           // Push: 如果想基于地理位置推送,可以打开支持地理位置的推送的开关

           // PushManager.enableLbs(getApplicationContext());

       }

这段代码是启动推送的,放到oncreate方法中

下面是几个关联的方法

 // 用share preference来实现是否绑定的开关。在ionBind且成功时设置true,unBind且成功时设置false

    public static boolean hasBind(Context context) {

        SharedPreferences sp = PreferenceManager

                .getDefaultSharedPreferences(context);

        String flag = sp.getString("bind_flag", "");

        if ("ok".equalsIgnoreCase(flag)) {

            return true;

        }

        return false;

    }


 // 获取ApiKey

    public static String getMetaValue(Context context, String metaKey) {

        Bundle metaData = null;

        String apiKey = null;

        if (context == null || metaKey == null) {

            return null;

        }

        try {

            ApplicationInfo ai = context.getPackageManager()

                    .getApplicationInfo(context.getPackageName(),

                            PackageManager.GET_META_DATA);

            if (null != ai) {

                metaData = ai.metaData;

            }

            if (null != metaData) {

                apiKey = metaData.getString(metaKey);

            }

        } catch (NameNotFoundException e) {


        }

        return apiKey;

    }

现在可以测试一下了

还是点击点击开发者服务管理,会看到下面界面

百度云推送的一些注意事项_第10张图片

运行你的应用后,点击通知,发送消息,验证是否成功


你可能感兴趣的:(百度云推送)