第三方平台个推SDK的使用
来源:互联网 发布:js登录注册功能 编辑:程序博客网 时间:2024/05/16 10:11
前言 : 即使会使普通人昏倒的伤,我也绝对不能倒下!!!即使会使普通人死掉的伤,我也不可以死…如果我是普通人,就绝对赢不了“鹰眼”,所以我不可以是普通人!!
第三方平台个推SDK的使用
现在我们的APP都会使用到地方的平台,不外乎几个原因:1.第三方平台的功能强大,且易使用。2.能迅速的集成到我们的项目中,使用起来高效简单。
1.将个推SDK集成到自己的项目
集成到自己的项目中,分为eclipse和AS两种模式,我写的demo使用的AS。而AS又分为Maven导入和手动导入两种方式。比较简单,照着官网步骤来就行了。
个推官网集成地址:http://docs.getui.com/mobile/android/androidstudio/
2.消息推送方式
个推有两种基本的推送方式1.消息通知,2.透传消息。
今天我只讲透传消息,因为在项目中透传消息才是我们首选的推送方式。
3.自定义广播接收透传消息并解析
自定义广播
1.接收透传消息
“`
Bundle bundle = intent.getExtras();
switch (bundle.getInt(PushConsts.CMD_ACTION)) { case PushConsts.GET_MSG_DATA: // 获取透传数据 byte[] payload = bundle.getByteArray("payload"); if (payload != null) { String data = new String(payload); Map<String, String> content = getData(data); String contentTitle = content.get("contentTitle"); String contentText = content.get("contentText"); String contentUrl = content.get("contentUrl"); Toast.makeText(context, contentUrl, Toast.LENGTH_SHORT).show(); showNotification(contentTitle, contentText, contentUrl); } break;
2.解析透传消息
我这里的消息格式是content#content#content ,可以自定义各种格式,只要能解析出来就可以。还可以是json数据格式
private Map<String, String> getData(String data) { Map<String, String> mapData = new HashMap<String, String>(); String[] str = data.split("#"); mapData.put("contentTitle", str[0]); mapData.put("contentText", str[1]); mapData.put("contentUrl", str[2]); return mapData;}
3.通过Notifaction显示消息并且点击将消息传递给MainActivity
private void showNotification(String contentTitle, String contentText, String contentUrl) {
Intent intent = new Intent(mContent, MainActivity.class);
intent.putExtra(“contentUrl”, contentUrl);
PendingIntent pendingIntent2 = PendingIntent.getActivity(mContent, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 通过Notification.Builder来创建通知,注意API Level // API11之后才支持 Notification notify2 = new Notification.Builder(mContent) .setSmallIcon(R.mipmap.ic_launcher) // 设置状态栏中的小图片,尺寸一般建议在24×24,这个图片同样也是在下拉状态栏中所显示,如果在那里需要更换更大的图片,可以使用setLargeIcon(Bitmap // icon) .setTicker("您有新消息,请注意查收!")// 设置在status // bar上显示的提示文字 .setContentTitle(contentTitle)// 设置在下拉status // bar后Activity,本例子中的NotififyMessage的TextView中显示的标题 .setContentText(contentText)// TextView中显示的详细内容 .setContentIntent(pendingIntent2) // 关联PendingIntent .getNotification(); // 需要注意build()是在API level // 16及之后增加的,在API11中可以使用getNotificatin()来代替 notify2.flags |= Notification.FLAG_AUTO_CANCEL; manager.notify(NOTIFICATION_FLAG, notify2);}
4.在MainActivity接收数据,数据是url,所以使用WebView解析网址显示
//获取Notifacation传递过来的contentUrl contentUrl = getIntent().getStringExtra("contentUrl"); Toast.makeText(this, contentUrl, Toast.LENGTH_SHORT).show(); //初始化个推 PushManager.getInstance().initialize(this.getApplicationContext()); initView(); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.requestFocus(); mWebView.loadUrl(contentUrl); mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });
除了以上透传消息外,还有使用一种特定推送的方法使用的比较多,别名推送。
别名可以使我们的手机号,现在的APP大多数都是手机号注册。
public boolean bindAlias(this,"你的手机号")
讲解的比较简单,但是第三方的SDK的使用本身就是这么简单。如果还需要其他的功能,可以多参考官方DEMO。
源码 下载
- 第三方平台个推SDK的使用
- 第三方推送-个推使用
- CocoaPods的使用,安装第三方SDK
- 第三方SDK:百度地图SDK的使用
- 集成第三方组件--个推
- 针对工程中使用了各平台的sdk及引入第三方平台的整体sdk包冲突的解决方法
- 第三方平台功能使用
- 关于第三方的SDK
- 个推SDK的集成
- android使用第三方sdk的相关问题
- 使用第三方SDK中出现的错误
- IOS Android 视频播放(不使用第三方库,使用平台底层sdk)实现
- 第三方开发者推游戏平台Yahoo Games Network
- Dcloud开发引用第三方sdk的app小程序扫盲---使用第三方sdk并且打包
- 个推推送第三方服务的应用和自我理解(一)
- 个推推送第三方服务的应用和自我理解(二)
- 使用友盟进行第三方平台的授权分享
- ShareSDK第三方平台的详细使用参考官方API
- Linux下面查看进程编号
- 标准体重测量器
- Seeing the Big Picture:Deep Embedding with Contextual Evidences
- 嵌入式Linux编译系统的设计——Bootloader, 内核,驱动,文件系统,升级镜像等自动化编译打包
- 使用Arrays类操作Java数组
- 第三方平台个推SDK的使用
- 王爽汇编第二版实验4
- A Neural Algorithm of Artistic Style--码农的文艺梦
- 朴素贝叶斯法(对于连续和离散属性的处理)
- 数据结构的主要概念
- mysql redo undo
- SpringMVC框架开发登录界面的验证码
- 大数据系列修炼-Scala课程46
- 大数据系列修炼-Scala课程47