集成极光推送

Write By lz:  转发请注明原地址: http://www.cnblogs.com/lizhilin2016/p/6952445.html

Lz 寄语: 极光推送, 跟着套路走

官方文档: http://docs.jiguang.cn/

集成文档: http://docs.jiguang.cn/jpush/client/Android/android_guide/

Step 1: 直接查看集成文档

Step 2: Jcenter 自动集成

2.1 module的build中添加依赖

Android --> defaultConfig 中配置:  (若是有问题查看官方文档)


ndk {  //选择要添加的对应cpu类型的.so库。

abiFilters ‘armeabi‘, ‘armeabi-v7a‘, ‘arm64-v8a‘ // 还可以添加 ‘x86‘, ‘x86_64‘, ‘mips‘, ‘mips64‘

}

manifestPlaceholders = [

JPUSH_PKGNAME : applicationId,

JPUSH_APPKEY : "你的appkeyID", //JPush上注册的包名对应的appkey.

JPUSH_CHANNEL : "自定义渠道名称", //用户渠道统计的渠道名称

]


dependencies {

compile ‘cn.jiguang.sdk:jpush:3.0.5‘  // 此处以JPush 3.0.5 版本为例。

compile ‘cn.jiguang.sdk:jcore:1.1.2‘  // 此处以JCore 1.1.2 版本为例。

}

Step 3: 配置Manifest文件

3.1 添加权限


<!-- Required -->

<permission

android:name="您应用的包名.permission.JPUSH_MESSAGE"

android:protectionLevel="signature" />

<!-- Required -->

<uses-permission android:name="您应用的包名.permission.JPUSH_MESSAGE" />

<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.VIBRATE" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<!-- Optional. Required for location feature -->

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

<uses-permission android:name="android.permission.GET_TASKS" />

3.2 注册JPush SDK 运行所需推送服务和消息接收器


<!-- Required SDK 核心功能-->

<!-- 可配置android:process参数将PushService放在其他进程中 -->

<service

android:name="cn.jpush.android.service.PushService"

android:enabled="true"

android:exported="false" >

<intent-filter>

<action android:name="cn.jpush.android.intent.REGISTER" />

<action android:name="cn.jpush.android.intent.REPORT" />

<action android:name="cn.jpush.android.intent.PushService" />

<action android:name="cn.jpush.android.intent.PUSH_TIME" />

</intent-filter>

</service>

<!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->

<!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->

<service

android:name="cn.jpush.android.service.DaemonService"

android:enabled="true"

android:exported="true">

<intent-filter >

<action android:name="cn.jpush.android.intent.DaemonService" />

<category android:name="您应用的包名"/>

</intent-filter>

</service>

<!-- Required SDK核心功能-->

<receiver

android:name="cn.jpush.android.service.PushReceiver"

android:enabled="true" >

<intent-filter android:priority="1000">

<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />

<category android:name="您应用的包名"/>

</intent-filter>

<intent-filter>

<action android:name="android.intent.action.USER_PRESENT" />

<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

</intent-filter>

<!-- Optional -->

<intent-filter>

<action android:name="android.intent.action.PACKAGE_ADDED" />

<action android:name="android.intent.action.PACKAGE_REMOVED" />

<data android:scheme="package" />

</intent-filter>

</receiver>

<!-- Required SDK核心功能-->

<activity

android:name="cn.jpush.android.ui.PushActivity"

android:configChanges="orientation|keyboardHidden"

android:theme="@android:style/Theme.NoTitleBar"

android:exported="false" >

<intent-filter>

<action android:name="cn.jpush.android.ui.PushActivity" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="您应用的包名" />

</intent-filter>

</activity>

<!-- SDK核心功能-->

<activity

android:name="cn.jpush.android.ui.PopWinActivity"

android:configChanges="orientation|keyboardHidden"

android:exported="false"

android:theme="@style/MyDialogStyle">

<intent-filter>

<category android:name="android.intent.category.DEFAULT" />

<category android:name="您应用的包名" />

</intent-filter>

</activity>

<!-- Required SDK核心功能-->

<service

android:name="cn.jpush.android.service.DownloadService"

android:enabled="true"

android:exported="false" >

</service>

<!-- Required SDK核心功能-->

<receiver android:name="cn.jpush.android.service.AlarmReceiver" />

<!-- User defined. 用户自定义的广播接收器-->

<receiver

android:name="您自己定义的Receiver"

android:enabled="true">

<intent-filter>

<!--Required 用户注册SDK的intent-->

<action android:name="cn.jpush.android.intent.REGISTRATION" />

<!--Required 用户接收SDK消息的intent-->

<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />

<!--Required 用户接收SDK通知栏信息的intent-->

<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />

<!--Required 用户打开自定义通知栏的intent-->

<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />

<!-- 接收网络变化 连接/断开 since 1.6.3 -->

<action android:name="cn.jpush.android.intent.CONNECTION" />

<category android:name="您应用的包名" />

</intent-filter>

</receiver>

<!-- Required. For publish channel feature -->

<!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。-->

<!-- 例如: -->

<!-- 发到 Google Play 的APK可以设置为 google-play; -->

<!-- 发到其他市场的 APK 可以设置为 xxx-market。 -->

<!-- 渠道统计报表位于控制台页面的 “统计”-“用户统计”-“渠道分布” 中-->

<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>

<!-- Required. AppKey copied from Portal -->

<meta-data android:name="JPUSH_APPKEY" android:value="您应用的Appkey"/>

Step 4: 配置代码

4.1 启动推送服务


JPushInterface.setDebugMode(true); // 社会调试模式

JPushInterface.init(this);  // 初始化JPush

--------完成配置, 开始推送

Write by lz

2017-06-06

时间: 2024-10-10 06:28:42

集成极光推送的相关文章

Swift集成极光推送

今天介绍一下用swift集成极光推送 一.首先到极光推送的官网下载iOS对应的SDK包   SDK下载地址 二.第二步在极光的官网创建账号配置对应的应用信息,推送证书的这些就不介绍了很基本,官网的很详细 配置应用地址 三.第三创建一个工程,导入下载的SDK包,并且导入依赖的库文件,编译看有没有错误提示 四.配置工程的相关信息 五.开始代码编写,集成Jpush 六.运行工程,检测是否集成正确 七.后台测试,来到极光推送的应用后台测试 滑动消息进入前台,控制台打印通知消息 以上便是极光推送的集成步骤

李洪强iOS之集成极光推送一iOS SDK概述

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #000000 } span.s1 { } span.s2 { font: 18.0px Menlo } 李洪强iOS之集成极光推送一iOS SDK概述 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 } span.s1 { } JPus

iOS集成极光推送

iOS集成极光推送 一.配置APNs 苹果APNs(英文全称:Apple Push Notification Service) 1.配置开发证书 ![Uploading apns_13_803165.png -] 2.配置生产证书 和配置开发证书的流程相同. 3.将配置好的证书导出为 .p12 文件 一.注册极光推送帐号 可登录 极光推送官网 注册帐号. 注册成功后进入控制台 二.集成极光推送SDK sdk地址 我使用的是JPush-iOS-SDK-2.1.0.下载的文件里有个pdf文件iOS+

thinkphp3.2集成极光推送

项目中用到了给客户端的推送功能,选用了极光推送,下面演示一下在thinkphp中集成极光推送 1.下载极光推送的php类,可以从笔者的git下载 地址:https://git.oschina.net/zhangchao123/jiguangtuisongphplei.git 2.thinkphp集成 解压后,直接把jpush文件夹放在Thinkphp/Libray/Vender目录 /*   * 极光推送   * $pushId:极光ID,字符串或者array()   * $content:推送

1行命令集成极光推送

本文写给那些想极速集成推送功能的开发者,不用阅读任何文档,不用写一行代码,1分钟集成,立即使用! 不论你的项目是用 Objective-C 开发的 native app 还是基于 Cordova(phonegap.ionic.We5x 等框架)的 Hybrid app 或是 Cocos2d-x 的 iOS 项目,统统只需打开 终端 输入一行命令: appkey=yourAppkey platform=yourPlatform npm install one-line-jpush-ios 下载推送

安卓集成极光推送SDK基础服务

1.到极光推送官网注册用户. 2.创建一个应用根据包名申请app key,注意一个包名对应一个appkey,如果不对应则不能实现功能. 3.下载官网上的SDK,内附指南. 4.首先是各种粘贴复制,注意别漏掉 5.然后是配置Manifest.xml文件 1)一开始第一条permission被我忘了 2)除了标注着required的部分还要把MyReceiver的部分也复制过来 3)注意该修改包名的地方和最后的appkey,不过官网提供的example里已经是改好的了可以直接用 <permissio

记录vue项目 用hbuilder离线打包集成极光推送 安卓篇

极光推送的官方demo: https://github.com/jpush/jpush-hbuilder-demo 里面也记录有详细的方法了. 我记录下自己的过程. 首先去极光那里创建一个应用 获取AppKey ,创建后如下. 然后把vue 项目npm run build 打包一下.用hbuilder 里面 发行-->本地打包--->生成本地包资源--->生成一个离线包. 然后去https://ask.dcloud.net.cn/article/103 里面下载HBUILDER最新的SD

李洪强iOS之集成极光推送二iOS 证书 设置指南

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #000000 } span.s1 { } span.s2 { font: 18.0px Menlo } 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning Portal中,点击App IDs进入App ID列表. 创建 App ID,如果

iOS集成极光推送遇到的几个问题

1.APNs证书和主证书的区别 刚开始做推送的时候本来以为APNs证书就是主证书里加了个允许推送而已,事实证明我还是太天真了. 首先是创建Provisioning Profile文件时选择证书列表时是不能选择APNs证书的,而且在XCode里Code Signing也是不能选择的.APNs证书其实是只表示了有推送功能,主证书还是必不可少的.所以现在只是又添加了两个证书,其他的是不用变的,所以现在就有4个证书了.作为一个有轻微强迫症的人,创建完APNs证书就顺手把主证书删了,在这里让我折腾了好久.