android api

380 阅读4分钟

JPush Hbuilder API ONLY For Android

引用方式

var jpushModule = uni.requireNativePlugin("JG-JPush");

停止推送服务

API - stopPush()

调用了本 API 后,JPush 推送服务完全被停止。具体表现为: 收不到推送消息 极光推送所有的其他 API 调用都无效,不能通过 JPushInterface.init 恢复,需要调用 resumePush 恢复。

示例

jpushModule.stopPush();

恢复推送服务

API - resumePush()

调用了此 API 后,极光推送完全恢复正常工作。

示例

jpushModule.resumePush();

恢复推送服务

API - isPushStopped(CALLBACK)

用来检查 Push Service 是否已经被停止

参数说明

  • CALLBACK
参数名称参数类型参数说明
codenumber0 - 已停止 1 - 未停止

示例

jpushModule.isPushStopped(result=>{
				let code = result.code
			});

配置 Channel API

API - setChannel(Object)

动态配置 channel,优先级比 AndroidManifest 里配置的高

参数说明

  • Object
参数名称参数类型参数说明
channelstring希望配置的 channel

示例

jpushModule.setChannel({
					'channel':'channel_1'
				});    

设置允许推送时间 API

API - setPushTime(Object)

默认情况下用户在任何时间都允许推送。即任何时候有推送下来,客户端都会收到,并展示。

开发者可以调用此 API 来设置允许推送的时间。

如果不在该时间段内收到消息,SDK 的处理是:推送到的通知会被扔掉。

这是一个纯粹客户端的实现,所以与客户端时间是否准确、时区等这些,都有关系。 而且该接口仅对通知有效,自定义消息不受影响。

参数说明

  • Object
参数名称参数类型参数说明
pushTimeDaysNumberArray0 表示星期天,1 表示星期一,以此类推。 ( 7 天制,Set 集合里面的 int 范围为 0 到 6 )
pushTimeStartHournumber允许推送的开始时间 ( 24 小时制:startHour 的范围为 0 到 23 )
pushTimeEndHournumber允许推送的结束时间 ( 24 小时制:endHour 的范围为 0 到 23 )

示例

jpushModule.setPushTime({
					'pushTimeDays':[0,1,2],
                    'pushTimeStartHour':0,
                    'pushTimeEndHour':23
				});    

设置通知静默时间 API

API - setSilenceTime(Object)

默认情况下用户在收到推送通知时,客户端可能会有震动,响铃等提示。但用户在睡觉、开会等时间点希望为“免打扰”模式,也是静音时段的概念。

开发者可以调用此 API 来设置静音时段。如果在该时间段内收到消息,则:不会有铃声和震动。

参数说明

  • Object
参数名称参数类型参数说明
silenceTimeStartHournumber静音时段的开始时间 - 小时 ( 24 小时制,范围:0~23 )
silenceTimeStartMinutenumber静音时段的开始时间 - 分钟(范围:0~59 )
silenceTimeEndHournumber静音时段的结束时间 - 小时 ( 24 小时制,范围:0~23 )
silenceTimeEndMinutenumber静音时段的结束时间 - 分钟(范围:0~59 )

示例

jpushModule.setSilenceTime({
					'silenceTimeStartHour':22,
                    'silenceTimeStartMinute':30,
                    'silenceTimeEndHour':8
                    'silenceTimeEndMinute':30
				});    

设置保留最近通知条数 API

API - setLatestNotificationNumber(Object)

通过极光推送,推送了很多通知到客户端时,如果用户不去处理,就会有很多保留在那里。

开发者可通过调用此 API 来定义为不同的数量。默认为保留最近 5 条通知。

仅对通知有效。所谓保留最近的,意思是,如果有新的通知到达,之前列表里最老的那条会被移除。 例如,设置为保留最近 5 条通知。假设已经有 5 条显示在通知栏,当第 6 条到达时,第 1 条将会被移除。

参数说明

  • Object
参数名称参数类型参数说明
notificationMaxNumbernumber最多显示的条数

示例

jpushModule.setLatestNotificationNumber({
					'notificationMaxNumber':22
				});    

停止推送服务

API - requestPermission()

在 Android 6.0 及以上的系统上,需要去请求一些用到的权限,JPush SDK 用到的一些需要请求如下权限,因为需要这些权限使统计更加精准,功能更加丰富,建议开发者调用。

"android.permission.READ_PHONE_STATE" "android.permission.WRITE_EXTERNAL_STORAGE" "android.permission.READ_EXTERNAL_STORAGE" "android.permission.ACCESS_FINE_LOCATIO

示例

jpushModule.requestPermission();

统计分析 API

API - onResume() / onPause()

本 API 用于“用户使用时长”,“活跃用户”,“用户打开次数”的统计,并上报到服务器,在 Portal 上展示给开发者。

示例

// 页面加载时调用:
jpushModule.onResume();

// 页面退出时调用:
jpushModule.onPause();

清除通知 API

API - clearNotificationById()

此 API 提供清除通知的功能,清除指定某个通知。

示例

jpushModule.clearNotificationById();

API - clearAllNotifications()

此 API 提供清除通知的功能,清除所有 JPush 展现的通知(不包括非 JPush SDK 展现的);

示例

jpushModule.clearAllNotifications();

通知开关 API

API - isNotificationEnabled(CALLBACK)

检查当前应用的通知开关是否开启

参数说明

  • CALLBACK
参数名称参数类型参数说明
codenumber-1 - 检测失败 0 - 关闭 1 - 开启

示例

jpushModule.isNotificationEnabled(result=>{//number
				let code = result.code
			});

Android 厂商推送注意事项

厂商跳转需要配置应用原生的 Activity,具体配置参考各厂商集成文档

使用极光 restapi 推送进行厂商推送时,需要配合设置对应的 "uri_action","uri_activity" 参数。

如不配置,将无法拿到厂商通知点击内容。

针对 Uniapp 插件预留的厂商跳转页面

Uniapp 插件用户可以直接指定以下跳转参数,轻松实现厂商的通知点击事件回调兼容。

  • "uri_action":"cn.jiguang.uniplugin_jpush.OpenClickActivity",
  • "uri_activity":"cn.jiguang.uniplugin_jpush.OpenClickActivity"

自定义 Activity

如果您配置了自己的跳转 Activity,如需兼容插件通知点击事件回调,可以通过调用以下原生方法实现:

JSONObject thirdOpenNotification = JPushHelper.convertThirdOpenNotificationToMap(msgId, title, content, extras, data);
JPushHelper.sendNotifactionEvent(thirdOpenNotification, 0);
JPushHelper.saveOpenNotifiData(thirdOpenNotification, 0);