jpush java api_JPush極光推送Java服務器端API

產品功能說明

極光推送(JPush)是一個端到端的推送服務,使得服務器端消息能夠及時地推送到終端用戶手機上,讓開發者積極地保持與用戶的連接,從而提高用戶活躍度、提高應用的留存率。極光推送客戶端支持 Android, iOS 兩個平台。

本 Android SDK 方便開發者基於 JPush 來快捷地為 Android App 增加推送功能。

主要功能

保持與服務器的長連接,以便消息能夠即時推送到達客戶端

接收通知與自定義消息,並向開發者App 傳遞相關信息

主要特點

客戶端維持連接占用資源少、耗電低

SDK豐富的接口,可定制通知欄提示樣式

服務器大容量、穩定

jpush-sdk_v1.x.y.zip 集成壓縮包內容

AndoridManifest.xml

客戶端嵌入SDK參考的配置文件

libs/jpush-sdk-release1.x.y.jar

SDK Java 開發包

libs/armeabi/libjpush.so

SDK native 開發包

example

是一個完整的 Android 項目,通過這個演示了 JPush SDK 的基本用法,可以用來做參考。

Android SDK 版本

目前SDK只支持Android 2.1或以上版本的手機系統。

SDK集成步驟

1、導入 SDK 開發包到你自己的應用程序項目

解壓縮 jpush-sdk_v1.x.y.zip 集成壓縮包

復制 libs/jpush-sdk-release1.x.y.jar 到工程 libs/ 目錄下

復制 libs/armeabi/libjpush.so 到工程 libs/armeabi 目錄下d26e0fe5e5b6d4efdd6d05c1aa2a02d7.jpe

如果您的項目有 libs/armeabi-v7a 這個目錄,請把 libjpush.so 也復制一份到這個目錄。

2、配置 AndroidManifest.xml

根據 SDK 壓縮包里的 AndroidManifest.xml 樣例文件,來配置應用程序項目的 AndroidManifest.xml 。

主要步驟為:

復制備注為 "Required" 的部分

將備注為替換包名的部分,替換為當前應用程序的包名

將AppKey替換為在Portal上注冊該應用的的Key,例如(9fed5bcb7b9b87413678c407)

3、添加代碼

JPush SDK 提供的 API 接口,都主要集中在 cn.jpush.android.api.JPushInterface 類里。

基礎 API

init 初始化SDK

setDebugMode 設置調試模式

調用示例代碼(參考 example 項目)

init 只需要在應用程序啟動時調用一次該 API 即可。

以下代碼定制一個本應用程序 Application 類。需要在 AndoridManifest.xml 里配置。請參考上面 AndroidManifest.xml 片斷,或者 example 項目。

4、測試確認

確認所需的權限都已經添加。如果必須的權限未添加,日志會提示錯誤。

確認 AppKey(在Portal上生成的)已經正確的寫入 Androidmanifest.xml 。

確認在程序啟動時候調用了init(context) 接口

確認測試手機(或者模擬器)已成功連入網絡

客戶端調用 init 后不久,如果一切正常,應有登錄成功的日志信息

啟動應用程序,在 Portal 上向應用程序發送自定義消息或者通知欄提示。詳情請參考管理Portal。

在幾秒內,客戶端應可收到下發的通知或者正定義消息

如果 SDK 工作正常,則日志信息會如下圖所示:

aHR0cDovL2RvY3MuanB1c2guY24vZG93bmxvYWQvYXR0YWNobWVudHMvNTU3MjE0L2pwdXNoLmpwZz92ZXJzaW9uPTImbW9kaWZpY2F0aW9uRGF0ZT0xMzUwMDIxMDExMDAw

如圖所示,客戶端啟動分為 4 步:

檢查 metadata 的 appKey 和 channel ,如果不存在,則啟動失敗

初始化 JPush SDK,檢查 JNI 等庫文件的有效性,如果庫文件無效,則啟動失敗

檢查 Androidmanifest.xml,如果有 Required 的權限不存在,則啟動失敗

連接服務器登錄,如果存在網絡問題,則登陸失敗,或者前面三步有問題,不會啟動JPush SD

AppKey的獲取

進入極光的官方網站,登錄注冊,建立一個應用,創建成功后,點擊該應用進入詳情頁面就可以獲取appkey了

https://www.jpush.cn

5cfae8e63e33f1bdb4f9bc139305aab9.jpe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven详解(转)

转自 https://www.cnblogs.com/hongwz/p/5456578.html 一.前言 以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的。最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目…

java商品编写代码_商品品牌业务之后台Java代码的编写

今天是刘小爱自学Java的第146天。感谢你的观看,谢谢你。商品品牌业务之后台Java代码的编写-1.jpg (50.46 KB, 下载次数: 1)2021-2-5 00:22 上传学习计划安排如下:昨天实现了前端页面的编写以及发送请求,今天关于异步请求工具axios的简单说明。…

java中8种数据类型和默认值所占字节数

java 8种基本数据类型的默认值及所占字节数通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge;2 3 public class Ceshi { 4 int a; 5 double b; 6 boolean c; 7 char d; 8 float f; 9 byte e; 10 long h; 11 short j; 12 public static void main(String…

软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序

实验报告 实验内容: 1.Install Junit(4.12), Hamcrest(1.3) with Eclipse 2.Install Eclemma with Eclipse 3.Write a java program for the triangle problem and test the program with Junit. 实验步骤: 1.在eclipse中安装Junit、Hamcrest和eclemma。…

SurfaceFlinger与Surface概述

基本原理: SF一个Client对应一个app中的SurfaceComposerClient, 分别是Binder的n端和b端,主要用来CreateSurface 一个app中有多个Activity,一个Activity一般有一个Surface(除SurfaceView,一个View就有一个Surface)&…

拼图项目动手指南

Jigsaw项目将把模块化引入Java平台,根据原始计划,它将在12月10日完成功能。 所以我们在这里,但是拼图在哪里? 在过去的六个月中肯定发生了很多事情: 原型问世 ,内部API的迫在眉睫的删除引起了很大的骚动 &…

java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串

文章目录一、题目描述1.1 题目验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a cana…

java开发门禁指纹,指纹门禁

大兀人脸识别控制系统USB指纹仪DW9拓扑图(指纹为java系统直接采集、云或控制板直接比对,无需二次注册,人脸为htttp上传服务器或rtsp视频流比对方案)大兀活体指纹门禁采用BS架构,已集成进大兀人脸识别系统,如二次开发可直接调用jav…

使用Selenide进行有效的UI测试

等待奇迹 圣诞节是奇迹的时刻。 在新的一年的前夕,我们都为下一年制定了计划。 我们希望所有问题都将在最后一年消失,在来年出现奇迹。 每个Java开发人员都梦想着创造一个奇迹,使他成为世界上最有效的Java开发人员。 我想向你展示这样的奇…

android之seekbar

做了一个拖动滑块改变数值的demo 下附上代码: <SeekBar android:id"id/myseekbar" android:layout_width"match_parent" android:layout_marginTop"20dp" android:thumb"drawable/slider" android:layout_height&qu…

php 微信小程序 循环 多选,微信小程序实现多选功能

本文为大家分享了微信小程序实现多选功能的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下代码&#xff1a;{{num 1}}/{{quesyion.length}}{{question[num][0]}}A {{question[num][1]}}B {{question[num][2]}}C {{question[num][3]}}D {{question[num][4]}}正确答案…

php+反序列化代码执行漏洞,PHP反序列化漏洞

0x001 漏洞产生原理在反序列化的过程中自动触发了某些魔术方法。未对用户输入的序列化字符串进行检测&#xff0c;导致攻击者可以控制反序列化过程&#xff0c;从而导致XSS、代码执行、文件写入、文件读取等不可控后果。0x002 漏洞触发条件一般只能通过代码审计的方式挖掘该漏洞…

java filter 模式,Java设计模式----过滤器模式(挑三拣四)

过滤器模式描述拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器&#xff0c;并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志&#xff0c;或者跟踪请求&#xff0c;然后把请求传给相…

java项目processes设置,Jvm调优和SpringBoot项目优化的详细教程

参考文章1、先看一下未设置JVM参数的情况&#xff0c;默认情况下&#xff0c;没有设置任何Jvm参数。2、设置Jvm参数。配置参数&#xff1a;关于这些设置的JVM参数是什么意思&#xff0c;参考Jvm调优。-XX:MetaspaceSize128m (元空间默认大小)-XX:MaxMetaspaceSize128m (元空间最…

Git问题Everything up-to-date解决

Git问题Everything up-to-date解决 【自己的亲身错误体验】 我的上一篇博客&#xff0c;说了怎么上传一个项目到git远程上面。今天我写好一个小栗子&#xff0c;准备再次上传的时候。我依旧是放在我的F:\github\js- 这个和我的github上的远程仓库相同名称的文件中的 在这里空白…

java超出gc开销限制_超出了GC开销限制– Java堆分析

java超出gc开销限制这篇文章是我们原来的GC开销超出问题模式的延续。 正确的Java堆分析对于消除O​​utOfMemoryError&#xff1a;GC开销问题至关重要。 如果您不熟悉此Java HotSpot 1.6错误&#xff0c;建议您首先阅读有关此主题的第一篇文章 。 本文将为您提供一个示例程序和…

java自定义一个timeout,Timeout操作符 RxJava 学习笔记二十一

timeout用于检测在给定时间内observables没有及时响应。如果指定的时间量没有发出任何项目&#xff0c;则超时会使observables失败并出现TimeoutException。我们将从debounce的示例中重用我们的observable来演示超时。输出&#xff1a;只要值不超过200ms&#xff0c;就会输出。…

用xshell ssh连接测试服务器时候出的问题

问题还原&#xff1a;用ssh连接测试服务器 给我结结实实报了个错 FBIwarning: ----------------------------------------------------------------------------------------------------------------------------以上 问题还原 解决过程&#xff1a;百度 博客地址http://blog.…

maven集成spring_Maven集成测试和Spring Restful Services

maven集成spring介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后&#xff0c;许多人要求我提供比最初使用的示例更实际的示例。 这篇文章显示了如何在实…

WebService.asmx架设后,显示调用按钮的方法

我们在VS本地调试WebService的时候&#xff0c;页面是可以调试的&#xff0c;如下图 但是在发布以后&#xff0c;通过浏览器访问服务器上的地址&#xff0c;是不能调试你的程序的&#xff0c;就变成了这个样子&#xff1a; 可以通过修改服务器上的web.config达到远程调试的效果…