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

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

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

011253_Sbfb_1539097.jpg


会进入下面的界面

011512_72nH_1539097.jpg

点击创建工程见下界面

011659_ewqx_1539097.jpg

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

011824_6mWN_1539097.jpg


011954_ELoN_1539097.jpg

点击推送设置

012113_44Tc_1539097.jpg

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

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

012440_GX12_1539097.jpg

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

013229_55Lm_1539097.jpg

013229_wdPM_1539097.jpg

013230_GUP7_1539097.jpg

接下来是代码的调用

013449_Fmq0_1539097.jpg将这两个文件拷贝到你的主包下,修改使其没错,


 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;

    }

现在可以测试一下了

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

014051_UU69_1539097.jpg

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


转载于:https://my.oschina.net/u/1539097/blog/337157

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值