极光推送总结

官网:https://docs.jiguang.cn/jpush/client/Android/android_sdk/

1.注册帐号,创建应用包名

    注意点:

  •  这里保持和我的项目的包名一致,好辨认;
  • 设置应用头像,如果发现发现收到的消息不是你设定的头像,而是极光默认头像,重启手机即可;
  • 保存或者知道怎么查找生成的APPkey值,很重要。


2.先运行一遍demo。

        看通知,自定义消息,以及富媒体都是怎样的形式展示的,这样在之后写demo,心里有底,小女子就是找的网上好看的自定义消息的demo去运行,结果各种问题,还一直沉迷在bug里没出来,浪费时间


3.运行报错问题

极光正在解决中,但不影响使用,不要一直卡在这不动

at cn.jiguang.d.b.a.d.f(Unknown Source)


4.添加的打印信息,在控制台没有任何输出的问题,确认如下这几个地方。

  •   确认打印信息的地方,一定可以跑到(小女子就会忘记AndroidManifist里没注册广播,So……你懂)
  •   确认手机的开发者模式打开,并且下面的调试的应用也打开
  •   打开你手机的工程模式,设置调试模式。(没打开之前,发现我的手机只能用Log.e的方式输出,.d的都不行)。
  •   确认Android studio里的调试工具已经切换过来,准备打印





5.PC服务器端发送带Key的消息,在项目的广播接收的地方,要用json解析出来

之前没有解析,整个bundle都放进去,然后跳转Activity,发现那边接收到的值为空

intent.putExtras(bundle);

正确的打开方式应该是这样:

 if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
                String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
                String sale_country = "";
                String snm = "";
                String uid = "";
                try {
                    JSONObject extrasJson = new JSONObject(extras);
                     sale_country = extrasJson.optString("sale_country");
                     snm = extrasJson.optString("snm");
                     uid = extrasJson.optString("uid");
                } catch (Exception e) {
                    LogUtil.e(TAG, "Unexpected: extras is not a valid json");
                    return;
                }

                LogUtil.d(TAG, "[MyReceiver] 用户点击打开了通知");

                //打开自定义的Activity
                Intent i = new Intent(context, ProductDetailActivity.class);
                i.putExtra("sale_country",sale_country);
                i.putExtra("snm",snm);
                i.putExtra("uid",uid);
//                i.putExtras(bundle);
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
                context.startActivity(i);

            } 

测试:

  • 目前我使用的Charles,抓包工具,可以查看你发送过来的值,是不是接收到了,使用第一种整个bundle传到Activity的方式,snm收到的值为null,使用第二种,就有值了
  • 使用Android Stuido设置断点的方式,在Activity接收的地方打断点


6.官网提供了两种集成极光SDK的模式。

  • 一种是手动集成(就是说一个个把AndroidManifist ,so 之类的东西手动配置)
  • 另一种是jcenter自动集成。粗心或想偷懒的,就它了。

说下jcenter自动方式,在AndroidManifist里,只需要下图这两个东西。其他的,需要的时候再加,这是最简洁的,不像手动添加的那种方式,要添加各种类和权限。

当然,自动集成的方式也有几个地方要配置哦,一个都不能少

总之,照着官网,不懂的还可以call极光客服(这点极光做的非常好,回应很及时啊,有木有!附上客服QQ:179576370

自动配置AndroidManifist不会生成AppKey的说明链接


总结完毕!(2)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值