Android集成新版极光推送服务(4.0.6版)

2024-04-14 16:18

本文主要是介绍Android集成新版极光推送服务(4.0.6版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Android集成新版极光推送服务(4.0.6版)

  • 关于
    • 使用第一步
    • 修改androidmanifest.xml配置文件
    • 初始化

关于

  虽然极光推送官方文档和对应的demo里面都有介绍使用,但是还是感觉云里雾里,可能会有人和我一样要花个大半天时间才能集成好,这也是本篇要记录的原因,以备后面其余项目使用。

使用第一步

  首先去官网新建一个应用,获取对应的一个appkey。然后点击消息推送进行集成:
在这里插入图片描述
  输入我们要集成的项目的包名(build里面的applicationId),下面的其他推送渠道我没去勾选,有需要的童鞋可以去配置。
在这里插入图片描述
  然后我们选择下载SDK,里面会有我们需要的配置的jar包和.so库文件:
在这里插入图片描述
  复制到我们的项目中:
在这里插入图片描述

  并且将上面两个jar包添加到libray中,添加ndk到build中:

 defaultConfig {applicationId "com.tobey.newstest"   manifestPlaceholders = [JPUSH_PKGNAME: applicationId,JPUSH_APPKEY : "d292495db1604dd08bbexxxx", //JPush 上注册的包名对应的 Appkey.JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.]ndk {//cpu类型对应的.so库。abiFilters 'arm64', 'armeabi-v7a'}}

修改androidmanifest.xml配置文件

  添加权限:

  <permission android:name="${applicationId}.permission.JPUSH_MESSAGE"android:protectionLevel="signature"/><uses-permission android:name="${applicationId}.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.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.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

  在application内部添加如下:

<serviceandroid:name="cn.jpush.android.service.PushService"android:enabled="true"android:exported="false"android:process=":pushcore"><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><serviceandroid: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="${applicationId}"/></intent-filter></service><service android:name=".jiguanPush.PushService"android:enabled="true"android:exported="false"android:process=":pushcore"><intent-filter><action android:name="cn.jiguang.user.service.action" /></intent-filter></service><receiverandroid: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="${applicationId}"/></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><!-- since 3.3.0 Required SDK核心功能 --><activityandroid:name="cn.jpush.android.service.JNotifyActivity"android:exported="true"android:taskAffinity="jpush.custom"android:theme="@android:style/Theme.Translucent.NoTitleBar" ><intent-filter><action android:name="cn.jpush.android.intent.JNotifyActivity" /><category android:name="${applicationId}" /></intent-filter></activity><!-- 3.3.0开始所有事件将通过该类回调 --><!-- 该广播需要继承 JPush 提供的 JPushMessageReceiver 类, 并如下新增一个 Intent-Filter --><receiverandroid:name=".jiguanPush.PushMessageReceiver"android:enabled="true"android:exported="false" ><intent-filter><action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" /><category android:name="${applicationId}" /></intent-filter></receiver><receiver android:name="cn.jpush.android.service.AlarmReceiver" /><meta-dataandroid:name="JPUSH_CHANNEL"android:value="developer-default" /><!-- 添加appkey--><meta-dataandroid:name="JPUSH_APPKEY"android:value="d292495db1604dd08bxxxx" /><!-- since 3.0.9 Required SDK 核心功能--><providerandroid:authorities="${applicationId}.DataProvider"android:name="cn.jpush.android.service.DataProvider"android:exported="false"android:process=":pushcore"/>

初始化

public class App extends Application {@Overridepublic void onCreate() {super.onCreate();JPushInterface.setDebugMode(true);JPushInterface.init(this);}
}

  然后在对应权限都获取了以后,在极光推送平台上发送一条推送:
在这里插入图片描述

  然后在手机上收到通知:
在这里插入图片描述
  如果提示没有没有满足条件的推送目标或推送目标超过 255 天不活跃,被排除在推送目标之外,说明没配置好,严格检查build文件、用户权限、包名、appkey、配置文件是否配置好。
  到此本篇结束,有问题欢迎批评指正!

这篇关于Android集成新版极光推送服务(4.0.6版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903449

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过