Meta tags:
Headings (most frequently used words):
集成指南, maven, 0版本更新注意, 前言, 重点提示, 创建个推应用, 集成, 配置推送服务, 设置通知图标, 其他配置, 编写集成代码, 验证推送, 常见问题, 当前位置, 个推文档, 客户端, android, 18, 需要集成com, getui, gtc, 0及以上版本, 17, 其他版本更新注意, 配置, 库地址, 配置依赖, 其他说明, 重要, 配置可选权限, 资源精简配置, 初始化, sdk, 注册, cid, 和自定义接收服务事件, 上报透传消息的展示和点击数据, 文档中心搜索, shrinkresources, andresguard,
Text of the page (most frequently used words):
context (39), png (39), sdk (38), #android (38), drawable (34), push (28), com (25), push_small (24), pushmanager (19), getui (16), cid (15), res (13), getinstance (12), public (12), name (12), demo (11), igexin (11), gradle (11), string (10), permission (10), maven (9), pushservice (9), service (9), override (8), void (8), app (8), log (7), initialize (7), appid (7), xml (7), push1 (7), 集成指南 (7), messageid (6), taskid (6), androidmanifest (6), msg (6), data (6), class (6), import (6), value (6), andresguard (6), push2 (6), xxhdpi (6), xhdpi (6), mdpi (6), ldpi (6), hdpi (6), getui_appid (6), get (5), application (5), boolean (5), gtintentservice (5), tools (5), keep (5), build (5), uses (5), repositories (5), getuisdkdemoactivity (4), manifest (4), instance (4), content (4), start (4), version (4), gtactionid (4), result (4), meta (4), 常见问题 (3), setdebuglogger (3), registerpushintentservice (3), login (3), oncreate (3), int (3), message (3), gtnotificationmessage (3), payload (3), clientid (3), 隐私政策 (3), 初始化 (3), 若您需要使用其他自定义推送图标 (3), 也需要在此处添加 (3), 此处的 (3), true (3), whitelist (3), api (3), getui_sdk_demo_as_official (3), src (3), dependencies (3), gtc (3), implementation (3), ios (3), api接口 (3), 开发者中心 (2), 验证推送 (2), 编写集成代码 (2), 其他配置 (2), 设置通知图标 (2), 配置推送服务 (2), 创建个推应用 (2), 重点提示 (2), err (2), java (2), system (2), this (2), 如果看到 (2), the (2), call (2), onhandleintent (2), pid (2), successed (2), with (2), logcat (2), push_log (2), iuserloggerinterface (2), new (2), send (2), return (2), feedbackmessage (2), 则调用此方法上报 (2), onreceivemessagedata (2), 透传消息 (2), 不做任何处理 (2), 客户端接收到透传消息后需要自己去做后续动作处理 (2), 如通知栏展示 (2), 弹框等 (2), 上报透传消息的展示和点击数据 (2), demointentservice (2), intentservice (2), gtcmdmessage (2), gttransmitmessage (2), tag (2), 只有个推通道下发的通知会回调此方法 (2), onreceiveclientid (2), extends (2), package (2), 在项目源码中添加一个继承自 (2), issue (2), 应为您当前放置的推送图标 (2), your_package_name (2), path (2), 的方式 (2), 需要您在 (2), 节点下添加如下代码 (2), 为了避免个推 (2), 所需资源被错误精简导致功能异常 (2), shrinkresources (2), style (2), setlogo (2), main (2), 图片尺寸 (2), 192 (2), 128 (2), process (2), demopushservice (2), 版本开始 (2), queries (2), intent (2), action (2), 个推sdk的appid (2), defaultconfig (2), manifestplaceholders (2), gtsdk (2), 占位符 (2), getui_app_id (2), 文件的 (2), 如下所示 (2), https (2), mvn (2), nexus (2), releases (2), url (2), google (2), mavencentral (2), allprojects (2), 库地址 (2), userintentservice (2), userservicename (2), 需要集成com (2), 0及以上版本 (2), 0版本更新注意 (2), 客户端 (2), open (2), harmony (2), 服务端 (2), 厂商应用开通指南 (2), applink集成 (2), 3分钟演示 (2), 进阶功能 (2), 随时联系技术支持, 微信扫一扫, 文档中心搜索, 在这篇文章中, 非常感谢您的反馈, 我们会继续努力做到更好, 反馈成功, 是否遇到以下问题, 联系方式, 反馈建议, 问题类型不能为空, 不是我想要的内容, 对产品功能不满意, 图片和视频难理解, 文章描述不清晰, 内容与功能不一致, 问题类型, 您的改进建议, 没帮助, 有帮助, 以上文档对您是否有帮助, 更多问题详见, faq, 集成常见问题, 发送通知后无法展示, 发送消息后接收不到, 不显示, 或者接收不到, getui_android_sdk, getui_sdk_demo_as_maven, androidstudio, 快速集成, 更多详细信息可参考个推, 资料包中的路径如下, test, create, 115, 在logcat过滤getuipushexception日志, 若有集成问题会打印类似如下日志, check, catch, exception, print, stacktrace, try, 如果无法获取cid, 建议调用, 接口检查集成结果, 此接口会自动检测运行环境且只在debug状态下时才会工作, 线上release版本不会被执行, checkmanifest, 依次填写通知标题和通知内容, 点击发送按钮即可向该推送应用名下所有, 推送通知消息, 具体推送操作方法详见, 下拉通知栏, 如果手机或模拟器收到消息, 那么恭喜您, 接入测试已经成功完成, 创建推送通知, 点击相应应用创建推送, 进入待测试应用的推送通知界面, 测试推送功能, 可以任意顺序调用该接口与个推初始化接口, 但建议紧邻着个推初始化接口调用该接口, 这样的提示请调整调用时间间隔, warning, cache, too, long, show, full, suggest, you, and, short, time, interval, 接口仅限调试的时候使用, 切勿发布到线上版本, 重复调用仅以第一次为准, initializing, demopushservicenew, logcontroller, servicemanager, ti85ild, l89mfnv, appkey, 1qnlp, p9cogyja, e3f004e873f9a5d9e2e006c4a9ca2f5f, received, client, from, 连接手机或启动, 模拟器, 编译运行你的工程, 日志输出, 则说明, 初始化成功, xxx, 中添加以下代码, set, debuglogger, 查看调试日志信息, gtactionid传入60002表示个推渠道消息点击了, 60002, gtclick, 上报个推透传消息的点击回执, 如果透传消息本地创建通知栏消息被, gtactionid传入60001表示个推渠道消息展示了, 60001, gtshow, 上报个推透传消息的展示回执, 如果透传消息本地创建通知栏消息, 以下是上报, 数据的示例代码, 字段从, 透传回调获取, 展示和点击, 如果开发者自己本地将, 创建了通知栏展示, 建议执行相应动作后, 回执上报给个推, 可帮助您完善推送数据, 且支持更精确的运营场景, 个推只传递数据, 中配置上述, util, getpayload, gettaskid, getmessageid, onnotificationmessageclicked, 通知点击, onnotificationmessagearrived, 通知到达, cmdmessage, onreceivecommandresult, 各种事件处理回执, online, onreceiveonlinestate, 离线上线通知, taskid和messageid字段, 是用于回执上报的必要参数, 详情见下方文档, 透传消息文本内容, receiver, byte, 此方法用于接收和处理透传消息, 透传消息个推只传递数据, 如果开发者在客户端将透传消息创建了通知栏展示, 建议将展示和点击回执上报给个推, onreceiveservicepid, 接收来自个推的消息, 所有消息在主线程中回调, 如果注册了该服务, 则务必要在, 中声明, 否则无法接受消息, 用于接收, 透传消息以及其他推送服务事件, 请参考下列代码实现各个事件回调方法, 自定义接收推送服务事件, 调用个推注册, 进行推送, 的注册, 为了保障推送功能可以正常使用, 您务必确保用户同意, 调用初始化和注册, 若不调用注册, 推送功能无法正常使用, 为了保证推送通知更好的触达用户, 降低用户对于通知开关设置的难度, 我们建议在应用代码中引导用户前往通知页面打开允许应用通知开关, 具体实现代码可以参考, 调用个推初始化代码, 的初始化, 我们建议开发者在, 方法中初始化个推, 多次调用, 初始化并无影响, 为了保证, 服务稳定, 开发者需在, 与授权合作伙伴共享, 条款中, 加入其中, 并确保在, 首次运行时通过明显方式提示终端用户阅读您的, 取得终端用户的合法授权后, 再初始化, 详情可查看, 个推合规指南, 个推的用户隐私政策, 此时sdk功能尚未启用, 暂未生成, activity, preinit, 和自定义接收服务事件, isactive, 命令行使用, 文件中的, config, for, 如果您的工程使用了, 进行资源精简, 需要为个推添加白名单配置, http, schemas, xmlns, resources, encoding, utf, 如果您的工程启用了资源精简, 即如果在, buildtypes, release, 下配置了, 需要在项目资源目录, 中添加, 文件中使用, 定义哪些资源需要被保留, 资源之间用, 通知图标的名称应为您当前放着于应用中的图标名称, raw, 资源精简配置, 通过服务端推送, 方法指定通知栏图标的名称, 来指定要切换展示的对应名称的通知图标, 仅切换通知栏图标, 服务端推送模版, 在资源目录的, 等各分辨率目录下放置相应的多套通知图标, 配置多套通知栏图标, 如果您需要根据不同推送场景切换不同通知栏图标或者其他配置多套通知栏图标的场景, 可以参考以下步骤, 国产手机可以直接使用应用图标, 但是在海外版手机的, 有以下四个注意要点, 必须是带, alpha, 透明通道的, 背景必须是透明的, 图形必须是白色, 周围不宜留过多的, padding, xxxhdpi, 建议的, 图片尺寸和, 图片尺寸分别如下, 将会作为通知展示图标, 请务必确认您放置的图标内容无误, 会展示在顶部状态栏和通知左上角位置, 只能内置, 不能修改, 设置通知栏及通知栏顶部图标, 为了修改默认的通知图标以及通知栏顶部提示小图标, 请务必在资源目录的, 等各分辨率目录下, 放置相应尺寸的文件名为, 的图片, 该图片内容为您应用自定义的图标文件, 如图所示, 客户端必须配置, 资源文件, 若客户端无该文件, 会导致通知栏消息无法展示, label, false, exported, 请根据您当前自定义的, 名称路径进行配置, 中添加上述自定义, 属性必须为, 手动集成方式也请保证与其他组件进程名一致, 建议复制本文档的默认配置即可, 的自定义, 为了让推送服务在部分主流机型上更稳定运行, 个推支持第三方应用配置使用自定义, 来作为推送服务运行的载体, access_coarse_location, access_fine_location, access_background_location, 个推电子围栏功能所需权限, bluetooth_admin, bluetooth, ibeancon, 功能所需权限, 上述接入方式已包含个推服务所需的所有必备权限, 在此之外, 您还可以配置以下可选权限, 以便使用个推提供的电子围栏功能, 根标签下添加如下配置, 配置可选权限, queries标签对gradle版本有要求, 建议升级到4, 1及以上, 或使用3, 4版本, androidmanifest文件添加, android11及以上, 个像sdk的appid, gi_appid, 补充个像sdk的appid, 个数sdk的appid, gs_appid, 补充个数sdk的appid, 个验sdk的appid, gy_app_id, 补充个验sdk的appid, push_appid, 必须补充, 文件中务必添加对应的标签来补充appid, 具体如下, 可以任选一个产品, 配置到, 占位符中, 对于同时集成个推多个产品, 且多个, 值不一致的用户, 其他说明, 个推核心组件, 个推sdk, your, 后续所有产品的, 均统一配置为, 占位符从, 切换为, 依赖及应用参数, 块中引用个推, 为对应的, 版本号, 下添加, 配置个推相关的应用参数, 配置依赖, buildscript, 在项目根目录, 添加个推, 如果过去是手动集成方式切换到, 则需删除原有集成配置再进行新集成, 请参考, 获取相应的, 该信息在之后的步骤配置中将会使用, 创建应用, 用于调试日志输出, loggerinterface, 接口进行初始化, 推荐使用该接口进行初始化, 废弃原有的, stopservice, 接口变动, 原先使用, 以下版本的用户, 升级前请删除所有已集成配置, 简化集成步骤, 只需调用新增, 接口即可完成, 会自动去寻找相应的, 无需在代码中注册自定义的, 以及再次调用, 详细步骤见本教程说明, 建议替换原有的, 为兼容, 节点添加, usescleartexttraffic, getui_app_key, getui_app_secret, 中仅保留, 其他版本更新注意, 表示省略其他与本教程无关的内容, 表示相同意义, 不再重复说明, settings, 模块级, 代码目录, libs, 第三方库, 项目主模块, 本文默认读者已经具有基础的, 以及项目工程结构如下, 本文档适用, 及以后, 本文档介绍, studio, 开发环境下基于, 方式集成的步骤, 实现安卓离线推送, 快速提高消息到达率, 集成多厂商, 当前位置, 个推文档, 推送服务使用协议, 消息推送购买指引, 消息推送计费说明, 购买指南, sdk更新日志, 服务端常见问题, ios常见问题, android常见问题, 客户端推送常见问题, 点击率提升方案, 到达率提升方案, 点击提升方案集成指南, 应用内弹窗操作手册, 流程画布操作手册, 文案圈人操作手册, 点击提升方案, liveactivity, 灵动岛, 文档说明, 时效性通知, 即时通知, 微信小程序推送, 消息终止, 覆盖和撤回, emoji, 表情推送, 标签推送, 通知大图, 大文本, 角标设置, 自定义通知图标, 消息分类, 自定义通知铃声, 三方账号打通, 推送应用场景, 基于应用信息生成鉴权令牌, 请求示例, 响应参数, 请求体参数说明, 请求体结构说明, 功能介绍, 场景化消息, 个推回执文档, 老版文档, 返回码说明, 用户api, 统计api, 推送api, 鉴权api, 多厂商参数, 公共参数, 进阶功能说明, 接口调用规范, 开发前必读, restapi, 推荐使用, kit常见问题, 推送后台消息, 发送语音播报消息, 发送通知消息, 推送场景化消息, 获取push, token, 通知类型介绍, 使用入门, 服务端接口, ios接口, android接口, 使用指南, 卓信id, 客户端插件, 小程序, harmonyos, 隐私清单说明, ios集成视频, 证书配置指南, 厂商通道限额, qps说明, 厂商sdk更新日志, 厂商消息报表补全, 厂商sdk集成指南, android多厂商, maven集成视频, 多厂商推送接入说明, 名词解释, 开发者中心使用说明, 产品简介, 快速接入指南, 快速入门, 本月不再提醒, 立即登录, 欢迎登录开发者中心, 体验更多产品服务, 点击提升, 合规检测, 一键认证, 数字人外呼, 短信服务, 模型管理, 标签管理, 用户分析, 统计分析, ai应用工坊, oneid服务, 用户运营, 消息推送, 请选择产品, 个推学堂, sdk下载, 退出登录, 应用管理, 安全设置, 基本资料, 您的优惠服务将于, 欢迎您, 文档中心, 个推文档中心,
Text of the page (random words):
集成指南 个推文档中心 文档中心 开发者中心 欢迎您 您的优惠服务将于 到期 基本资料 安全设置 应用管理 退出登录 登录 注册 sdk下载 个推学堂 请选择产品 消息推送 用户运营 oneid服务 ai应用工坊 统计分析 用户分析 标签管理 模型管理 短信服务 数字人外呼 一键认证 合规检测 点击提升 体验更多产品服务 欢迎登录开发者中心 立即登录 本月不再提醒 快速入门 快速接入指南 产品简介 开发者中心使用说明 进阶功能 名词解释 多厂商推送接入说明 客户端 android 概述 3分钟演示 集成指南 api接口 进阶功能 applink集成 maven集成视频 android多厂商 厂商应用开通指南 厂商sdk集成指南 厂商消息报表补全 厂商sdk更新日志 厂商通道限额 qps说明 ios 概述 3分钟演示 集成指南 api接口 applink集成 ios 证书配置指南 ios集成视频 隐私清单说明 harmonyos 概述 集成指南 厂商应用开通指南 api接口 小程序 客户端插件 卓信id 概述 使用指南 android接口 ios接口 服务端接口 open harmony 简介 使用入门 通知类型介绍 获取push token 推送场景化消息 发送通知消息 发送语音播报消息 推送后台消息 push kit常见问题 服务端 restapi v2 推荐使用 开发前必读 接口调用规范 进阶功能说明 公共参数 多厂商参数 鉴权api 推送api 统计api 用户api 返回码说明 服务端 sdk 老版文档 导航 个推回执文档 open harmony api 场景化消息 功能介绍 请求体结构说明 请求体参数说明 响应参数 请求示例 基于应用信息生成鉴权令牌 推送应用场景 三方账号打通 自定义通知铃声 消息分类 自定义通知图标 角标设置 通知大图 大文本 标签推送 emoji 表情推送 消息终止 覆盖和撤回 微信小程序推送 ios 时效性通知 即时通知 liveactivity 灵动岛 文档说明 点击提升方案 文案圈人操作手册 流程画布操作手册 应用内弹窗操作手册 点击提升方案集成指南 到达率提升方案 点击率提升方案 常见问题 客户端推送常见问题 android常见问题 ios常见问题 服务端常见问题 sdk更新日志 购买指南 消息推送计费说明 消息推送购买指引 推送服务使用协议 当前位置 个推文档 客户端 android 集成指南 集成指南 集成指南 前言 集成多厂商 实现安卓离线推送 快速提高消息到达率 本文档介绍 android studio 开发环境下基于 maven 方式集成的步骤 本文档适用 sdk 版本 3 1 2 0 及以后 本文默认读者已经具有基础的 android 知识 以及项目工程结构如下 getui_sdk_demo_as_official app 项目主模块 libs 第三方库 src 代码目录 build gradle 模块级 gradle 文件 gradle build gradle 顶层 gradle 文件 settings gradle 注 其中 表示省略其他与本教程无关的内容 以下 表示相同意义 不再重复说明 重点提示 3 2 18 0版本更新注意 需要集成com getui gtc 3 2 5 0及以上版本 3 2 17 0版本更新注意 需要集成com getui gtc 3 2 4 0及以上版本 其他版本更新注意 移除 gradle 中 getui_app_key getui_app_secret 配置 getui_app_id 改为 getui_appid androidmanifest 中仅保留 getui_appid 占位符 为兼容 android 9 0 请在 application 节点添加 android usescleartexttraffic true 简化集成步骤 只需调用新增 pushmanager getinstance initialize context context 接口即可完成 sdk 初始化 个推 sdk 会自动去寻找相应的 pushservice 和 gtintentservice 无需在代码中注册自定义的 pushservice 以及再次调用 pushmanager getinstance registerpushintentservice context context class t userintentservice 进行 intentservice 注册 详细步骤见本教程说明 建议替换原有的 pushmanager getinstance initialize context context class t userservicename 接口 原先使用 2 9 5 0 以下版本的用户 升级前请删除所有已集成配置 接口变动 移除 pushmanager getinstance stopservice 接口 废弃原有的 pushmanager getinstance initialize context context class t userservicename pushmanager getinstance registerpushintentservice context context class t userintentservice 接口 新增 pushmanager getinstance initialize context context 接口进行初始化 推荐使用该接口进行初始化 新增 pushmanager getinstance setdebuglogger context context iuserloggerinterface loggerinterface 接口 用于调试日志输出 1 创建个推应用 请参考 创建应用 获取相应的 appid 信息 该信息在之后的步骤配置中将会使用 2 maven 集成 注意 如果过去是手动集成方式切换到 maven 集成 则需删除原有集成配置再进行新集成 2 1 配置 maven 库地址 在项目根目录 build gradle 文件的 allprojects repositories 块中 添加个推 maven 库地址 maven url https mvn getui com nexus content repositories releases 如下所示 buildscript repositories mavencentral google dependencies allprojects repositories mavencentral google maven url https mvn getui com nexus content repositories releases 2 2 配置依赖 配置 sdk 依赖及应用参数 在 app build gradle 文件的 dependencies 块中引用个推 sdk 依赖 implementation com getui gtsdk version 此处的 version 为对应的 sdk 版本号 并在 android defaultconfig 下添加 manifestplaceholders 配置个推相关的应用参数 如下所示 android defaultconfig manifestplaceholders 从 3 1 2 0 版本开始 appid 占位符从 getui_app_id 切换为 getui_appid 后续所有产品的 appid 均统一配置为 getui_appid 占位符 getui_appid your appid dependencies implementation com getui gtsdk 3 3 15 0 个推sdk implementation com getui gtc 3 3 3 0 个推核心组件 2 3 其他说明 重要 对于同时集成个推多个产品 sdk 且多个 sdk appid 值不一致的用户 可以任选一个产品 appid 配置到 getui_appid 占位符中 其余 sdk 在 androidmanifest 文件中务必添加对应的标签来补充appid 具体如下 application 个推sdk的appid 重要 必须补充 meta data android name push_appid android value 个推sdk的appid 补充个验sdk的appid meta data android name gy_app_id android value 个验sdk的appid 补充个数sdk的appid meta data android name gs_appid android value 个数sdk的appid 补充个像sdk的appid meta data android name gi_appid android value 个像sdk的appid application androidmanifest文件添加 标签 适配 android11及以上 queries标签对gradle版本有要求 建议升级到4 0 1及以上 或使用3 3 3 3 4 3 3 5 4 3 6 4版本 manifest queries intent action android name com getui sdk action intent queries manifest 2 4 配置可选权限 上述接入方式已包含个推服务所需的所有必备权限 在此之外 您还可以配置以下可选权限 以便使用个推提供的电子围栏功能 请在 androidmanifest xml 的 manifest 根标签下添加如下配置 ibeancon 功能所需权限 uses permission android name android permission bluetooth uses permission android name android permission bluetooth_admin 个推电子围栏功能所需权限 uses permission android name android permission access_background_location uses permission android name android permission access_fine_location uses permission android name android permission access_coarse_location 3 配置推送服务 为了让推送服务在部分主流机型上更稳定运行 从 2 9 5 0 版本开始 个推支持第三方应用配置使用自定义 service 来作为推送服务运行的载体 在项目源码中添加一个继承自 com igexin sdk pushservice 的自定义 service package com getui demo service public class demopushservice extends com igexin sdk pushservice 在 androidmanifest xml 中添加上述自定义 service 使用 maven 集成 android process 属性必须为 pushservice 手动集成方式也请保证与其他组件进程名一致 建议复制本文档的默认配置即可 如下 请根据您当前自定义的 pushservice 名称路径进行配置 service android name com getui demo service demopushservice android exported false android label pushservice android process pushservice 4 设置通知图标 客户端必须配置 push_small png 资源文件 若客户端无该文件 会导致通知栏消息无法展示 设置通知栏及通知栏顶部图标 为了修改默认的通知图标以及通知栏顶部提示小图标 请务必在资源目录的 res drawable ldpi res drawable mdpi res drawable hdpi res drawable xhdpi res drawable xxhdpi 等各分辨率目录下 放置相应尺寸的文件名为 push png 和 push_small png 的图片 该图片内容为您应用自定义的图标文件 如图所示 getui_sdk_demo_as_official app src main res drawable hdpi push png push_small png drawable ldpi push png push_small png drawable mdpi push png push_small png drawable xhdpi push png push_small png drawable xxhdpi push png push_small png push_small png 会展示在顶部状态栏和通知左上角位置 push_small 只能内置 不能修改 push png 将会作为通知展示图标 请务必确认您放置的图标内容无误 建议的 push png 图片尺寸和 push_small png 图片尺寸分别如下 push png 图片尺寸 ldpi 48 48 mdpi 64 64 hdpi 96 96 xhdpi 128 128 xxhdpi 192 192 push_small png 图片尺寸 ldpi 18 18 mdpi 24 24 hdpi 36 36 xhdpi 48 48 xxhdpi 72 72 xxxhdpi 96 96 另外 国产手机可以直接使用应用图标 但是在海外版手机的 push_small png 有以下四个注意要点 1 必须是带 alpha 透明通道的 png 图片 2 背景必须是透明的 3 图形必须是白色 4 周围不宜留过多的 padding 配置多套通知栏图标 如果您需要根据不同推送场景切换不同通知栏图标或者其他配置多套通知栏图标的场景 可以参考以下步骤 首先 在资源目录的 res drawable ldpi res drawable mdpi res drawable hdpi res drawable xhdpi res drawable xxhdpi 等各分辨率目录下放置相应的多套通知图标 例如 push1 png push2 png 如下 getui_sdk_demo_as_official app src main res drawable hdpi push1 png push2 png push_small png drawable ldpi push1 png push2 png push_small png drawable mdpi push1 png push2 png push_small png drawable xhdpi push1 png push2 png push_small png drawable xxhdpi push1 png push2 png push_small png 然后 通过服务端推送 api style 样式 api 中的 setlogo 方法指定通知栏图标的名称 例如 style setlogo push1 png 来指定要切换展示的对应名称的通知图标 仅切换通知栏图标 详见 服务端推送模版 5 其他配置 5 1 资源精简配置 5 1 1 shrinkresources 如果您的工程启用了资源精简 即如果在 app build gradle 的 android buildtypes release 下配置了 shrinkresources true 为了避免个推 sdk 所需资源被错误精简导致功能异常 需要在项目资源目录 res raw 中添加 keep xml 文件 并在 keep xml 文件中使用 tools keep 定义哪些资源需要被保留 资源之间用 隔开 如 tools keep drawable push drawable push_small 此处 drawable push drawable push_small 通知图标的名称应为您当前放着于应用中的图标名称 如下 xml version 1 0 encoding utf 8 resources xmlns tools http schemas android com tools tools keep drawable push drawable push_small 若您需要使用其他自定义推送图标 也需要在此处添加 5 1 2 andresguard 如果您的工程使用了 andresguard 进行资源精简 为了避免个推 sdk 所需资源被错误精简导致功能异常 需要为个推添加白名单配置 gradle 集成 andresguard 的方式 需要您在 andresguard 的 whitelist 节点下添加如下代码 andresguard whitelist for getui r drawable push r drawable push_small 若您需要使用其他自定义推送图标 也需要在此处添加 此处的 r drawable push r drawable push_small 应为您当前放置的推送图标 命令行使用 andresguard 的方式 需要您在 config xml 文件中的 节点下添加如下代码 issue id whitelist isactive true path value your_package_name r drawable push path value your_package_name r drawable push_small 若您需要使用其他自定义推送图标 也需要在此处添加 此处的 r drawable push r drawable push_small 应为您当前放置的推送图标 issue 6 编写集成代码 6 1 初始化 sdk 注册 cid 和自定义接收服务事件 初始化 sdk 调用个推初始化代码 com igexin sdk pushmanager getinstance preinit context context 进行 sdk 的初始化 我们建议开发者在 application oncreate 和主 activity oncreate 方法中初始化个推 sdk 多次调用 sdk 初始化并无影响 注意 此时sdk功能尚未启用 推送 cid 暂未生成 为了保证 sdk 服务稳定 开发者需在 app 隐私政策 的 与授权合作伙伴共享 条款中 将 个推的用户隐私政策 加入其中 并确保在 app 首次运行时通过明显方式提示终端用户阅读您的 app 隐私政策 取得终端用户的合法授权后 再初始化 sdk 详情可查看 个推合规指南 另外 为了保证推送通知更好的触达用户 降低用户对于通知开关设置的难度 我们建议在应用代码中引导用户前往通知页面打开允许应用通知开关 具体实现代码可以参考 demo 工程 注册 cid 调用个推注册 cid 代码 com igexin sdk pushmanager getinstance initialize context context 进行推送 cid 的注册 为了保障推送功能可以正常使用 您务必确保用户同意 隐私政策 之后 调用初始化和注册 cid 方法 若不调用注册 cid 方法 推送功能无法正常使用 自定义接收推送服务事件 在项目源码中添加一个继承自 com igexin sdk gtintentservice 的类 用于接收 cid 透传消息以及其他推送服务事件 请参考下列代码实现各个事件回调方法 package com getui demo import android content context import android util log import com igexin sdk gtintentservice import com igexin sdk message gtcmdmessage import com igexin sdk message gtnotificationmessage import com igexin sdk message gttransmitmessage 继承 gtintentservice 接收来自个推的消息 所有消息在主线程中回调 如果注册了该服务 则务必要在 androidmanifest 中声明 否则无法接受消息 public class demointentservice extends gtintentservice override public void onreceiveservicepid context context int pid 此方法用于接收和处理透传消息 透传消息个推只传递数据 不做任何处理 客户端接收到透传消息后需要自己去做后续动作处理 如通知栏展示 弹框等 如果开发者在客户端将透传消息创建了通知栏展示 建议将展示和点击回执上报给个推 override public void onreceivemessagedata context context gttransmitmessage msg byte payload msg getpayload string data new string payload log d tag receiver payload data 透传消息文本内容 taskid和messageid字段 是用于回执上报的必要参数 详情见下方文档 6 2 上报透传消息的展示和点击数据 string taskid msg gettaskid string messageid msg getmessageid 接收 cid override public void onreceiveclientid context context string clientid log e tag onreceiveclientid clientid clientid cid 离线上线通知 override public void onreceiveonlinestate context context boolean online 各种事件处理回执 override public void onreceivecommandresult context context gtcmdmessage cmdmessage 通知到达 只有个推通道下发的通知会回调此方法 override public void onnotificationmessagearrived context context gtnotificationmessage msg 通知点击 只有个推通道下发的通知会回调此方法 override public void onnotificationmessageclicked context context gtnotificationmessage msg 在 androidmanifest xml 中配置上述 intentservice 类 如下 service android name com getui demo service demointentservice 6 2 上报透传消息的展示和点击数据 透传消息 个推只传递数据 不做任何处理 客户端接收到透传消息后需要自己去做后续动作处理 如通知栏展示 弹框等 如果开发者自己本地将 透传消息 创建了通知栏展示 建议执行相应动作后 将 展示 和 点击 回执上报给个推 可帮助您完善推送数据 且支持更精确的运营场景 以下是上报 展示和点击 数据的示例代码 taskid 和 messageid 字段从 onreceivemessagedata 透传回调获取 上报个推透传消息的展示回执 如果透传消息本地创建通知栏消息 展示 了 则调用此方法上报 public boolean push gtshow context context string taskid string messageid int gtactionid 60001 gtactionid传入60001表示个推渠道消息展示了 boolean result pushmanager get instance send feedbackmessage context taskid messageid gtactionid return result 上报个推透传消息的点击回执 如果透传消息本地创建通知栏消息被 点击 了 则调用此方法上报 public boolean push gtclick context context string taskid string messageid int gtactionid 60002 gtactionid传入60002表示个推渠道消息点击了 boolean result pushmanager get instance send feedbackmessage context taskid messageid gtactionid return result 7 验证推送 查看调试日志信息 在 application 的 oncreate 中添加以下代码 com igexin sdk pushmanager get instance set debuglogger this new iuserloggerinterface override public void log string s log i push_log s 连接手机或启动 android 模拟器 编译运行你的工程 查看 logcat 信息 过滤 logcat 中的 push_log 信息 如果看到 login successed with cid xxx 日志输出 则说明 sdk 初始化成功 gt push pushmanager start initializing sdk gt push pushmanager start pushservice com getui demo demopushservicenew gt push log logcontroller sdk version 3 0 1 0 gt push pushmanager call registerpushintentservice gt push onhandleintent get sdk service pid gt push servicemanager start from initialize gt push start login appid ti85ild l89mfnv appkey 1qnlp b p9cogyja gt push login successed with cid e3f004e873f9a5d9e2e006c4a9ca2f5f gt push onhandleintent received client id 注意 com igexin sdk pushmanager getinstance setdebuglogger 接口仅限调试的时候使用 切勿发布到线上版本 重复调用仅以第一次为准 可以任意顺序调用该接口与个推初始化接口 但建议紧邻着个推初始化接口调用该接口 如果看到 warning the log cache is too long to show the full content we suggest you call initialize and setdebuglogger in a short time interval 这样的提示请调整调用时间间隔 测试推送功能 登录 个推 点击相应应用创建推送 进入待测试应用的推送通知界面 依次填写通知标题和通知内容 点击发送按钮即可向该推送应用名下所有 cid 推送通知消息 具体推送操作方法详见 创建推送通知 下拉通知栏 如果手机或模拟器收到消息 那么恭喜您 个推 sdk 接入测试已经成功完成 8 常见问题 如果无法获取cid 建议调用 pushmanager getinstance checkmanifest 接口检查集成结果 此接口会自动检测运行环境且只在debug状态下时才会工作 线上release版本不会被执行 try pushmanager get instance check manifest this catch exception e e print stacktrace 在logcat过滤getuipushexception日志 若有集成问题会打印类似如下日志 w system err at com getui demo getuisdkdemoactivity test getuisdkdemoactivity java 115 w system err at com getui demo getuisdkdemoactivity on create getuisdkdemoactivity java 25 更多详细信息可参考个推 sdk 集成 demo 资料包中的路径如下 getui_android_sdk demo 工程 getui_sdk_demo_as_maven androidstudio 快速集成 demo 工程 集成常见问题 cid 不显示 或者接收不到 cid 发送消息后接收不到 发送通知后无法展示 更多问题详见 faq 以上文档对您是否有帮助 有帮助 没帮助 您的改进建议 是否遇到以下问题 问题类型 1 内容与功能不一致 2 文章描述不清晰 3 图片和视频难理解 4 对产品功能不满意 5 不是我想要的内容 6 其他 问题类型不能为空 反馈建议 联系方式 取 消 提 交 反馈成功 非常感谢您的反馈 我们会继续努力做到更好 确定 在这篇文章中 前言 重点提示 1 创建个推应用 2 maven 集成 3 配置推送服务 4 设置通知图标 5 其他配置 6 编写集成代码 7 验证推送 8 常见问题 开发者中心 sdk 下载 文档中心搜索 搜 索 技术 咨询 微信扫一扫 随时联系技术支持 在线 咨询
|