接口 | 说明 |
---|---|
PushManager | SDK 功能接口类,用于调用个推相关功能接口 |
Tag | 标签接口类,用于给用户打上标签(如可以用于精准推送) |
GTIntentService | 消息处理中心(用户需继承实现) |
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public static PushManager getInstance() |
用于获取单例 PushManager 对象,可以进行推送控制、设置标签、设置别名、设置静默时间等,所有个推提供的接口均是通过该实例调用
返回 PushManager 单例对象
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void preInit(Context context) |
初始化SDK,读取配置参数,此时推送服务未启动,cid 并未生成,推送功能未启动。
context:应用的 ApplicationContext
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void initialize(Context context) |
注册消息推送唯一 cid ,推送服务启动,接口调用后个推服务后台运行,联网成功后,通过用户 IntentService 回调接口返回 cid 信息。
context:应用的 ApplicationContext
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void setDebugLogger(Context context, IUserLoggerInterface loggerInterface) |
com.igexin.sdk.PushManager.getInstance().setDebugLogger(this, new IUserLoggerInterface() {
@Override
public void log(String s) {
Log.i("PUSH_LOG",s);
}
});
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void turnOnPush(Context context) |
打开 Push 推送,默认是开启状态,可以使用 turnOffPush
接口关闭推送
context:应用的 Context
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void turnOffPush(Context context) |
关闭 Push 推送,关闭后则无法收到推送消息,若调用了该接口关闭了推送,则只能调用 turnOnPush
才能正常推送
context:应用的 Context
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setSilentTime(Context context,int beginHour,int duration) |
设置静默时间,静默期间内 SDK 断开连接,将不再接收消息
true:设置成功;false:设置失败
//设置 beginHour 为 15,Duration 为 10 小时,则在 15:00-次日 1:00 这 10 个小时内 SDK 将不会联网。
int beginHour = 15;
int durationHour = 10;
boolean result = PushManager.getInstance().setSilentTime(context, beginHour, durationHour);
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public String getClientid(Context context) |
获取当前用户缓存的 cid(长时间未登录或 AppId 发生变化造成的 cid 变化以14. 获取 CID
接口中的 cid 为准)
context:应用的 Context
当前用户的 cid,如果未初始化成功,返回 null
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean isPushTurnedOn(Context context) |
获取当前 SDK 的服务状态
context:应用的 Context
true:当前推送已打开;false:当前推送已关闭
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public String getVersion(Context context) |
获取当前 SDK 版本号
context:应用的 Context
当前 SDK 版本号字符串
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setBadgeNum(Context context, int badgeNum) |
true:设置成功;fasle设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void checkManifest(Context context) |
用于检查个推集成结果,此方法需要被try catch(Exception e)
此方法无直接返回值。若出现集成问题会在logcat中打印关键字为“GetuiPushException”的相关报错信息
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveServicePid(Context context, int pid) |
个推进程启动成功回调该函数。
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveClientId(Context context, String clientid) |
个推初始化成功回调该函数并返回 cid。
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveMessageData(Context context, GTTransmitMessage pushMessage) |
接收到透传消息后回调该函数。
@Override
public void onReceiveMessageData(Context context, GTTransmitMessage msg) {
Log.d(TAG, "onReceiveMessageData -> " +
"appid = " + msg.getAppid() +
"\ntaskid = " + msg.getTaskId() +
"\nmessageid = " + msg.getMessageId() +
"\npkg = " + msg.getPkgName() +
"\ncid = " + msg.getClientId()+
"\nplayload = "+ new String(msg.getPayload()));
}
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveOnlineState(Context context, boolean online) |
cid 在线状态变化时回调该函数
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveCommandResult(Context context, GTCmdMessage cmdMessage) |
调用设置标签、绑定别名、解绑别名、自定义回执操作的结果返回
cmdMessage.getAction()
获取相应的状态值,具体值见代码示例@Override
public void onReceiveCommandResult(Context context, GTCmdMessage cmdMessage) {
Log.d(TAG, "onReceiveCommandResult -> " + cmdMessage);
int action = cmdMessage.getAction();
/* action 结果值说明
10009:设置标签的结果回执
10010:绑定别名的结果回执
10011:解绑别名的结果回执
10012: 查询标签的结果回执
10006:自定义回执的结果回执 */
if (action == PushConsts.SET_TAG_RESULT) {
setTagResult((SetTagCmdMessage) cmdMessage);
} else if (action == PushConsts.BIND_ALIAS_RESULT) {
bindAliasResult((BindAliasCmdMessage) cmdMessage);
} else if (action == PushConsts.UNBIND_ALIAS_RESULT) {
unbindAliasResult((UnBindAliasCmdMessage) cmdMessage);
} else if ((action == PushConsts.THIRDPART_FEEDBACK)) {
feedbackResult((FeedbackCmdMessage) cmdMessage);
}else if(action == PushConsts.QUERY_TAG_RESULT){
QueryTagCmdMessage tagCmdMessage = (QueryTagCmdMessage) cmdMessage;
}
}
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onNotificationMessageArrived(Context context, GTNotificationMessage notificationMessage) |
通知到达时回调该接口(仅支持个推 SDK 通道下发的通知)
@Override
public void onNotificationMessageArrived(Context context, GTNotificationMessage message) {
Log.d(TAG, "onNotificationMessageArrived -> "
+ "appid = " + message.getAppid()
+ "\ntaskid = " + message.getTaskId()
+ "\nmessageid = " + message.getMessageId()
+ "\npkg = " + message.getPkgName()
+ "\ncid = " + message.getClientId()
+ "\ncontent = " + message.getContent()
+ "\ntitle = " + message.getTitle()
+ "\nurl = " + message.getUrl()
+ "\nintentUri = " + message.getIntentUri()
+ "\npayload = " + message.getPayload());
}
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onNotificationMessageClicked(Context context, GTNotificationMessage notificationMessage) |
通知点击回调接口(仅支持个推 SDK 通道下发的通知)
@Override
public void onNotificationMessageClicked(Context context, GTNotificationMessage message) {
Log.d(TAG, "onNotificationMessageClicked -> "
+ "appid = " + message.getAppid()
+ "\ntaskid = " + message.getTaskId()
+ "\nmessageid = " + message.getMessageId()
+ "\npkg = " + message.getPkgName()
+ "\ncid = " + message.getClientId()
+ "\ncontent = " + message.getContent()
+ "\ntitle = "+message.getTitle()
+ "\nurl = " + message.getUrl()
+ "\nintentUri = " + message.getIntentUri()
+ "\npayload = " + message.getPayload());
}
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onReceiveDeviceToken(Context context, String deviceToken) |
厂商 Token 回调 (该接口为非必须实现接口)
注意:返回的 deviceToken 会携带个推拼接的“前缀”,用于区分各厂商。
前缀:HW_(华为)、XM_(小米)、MZ_(魅族)、OP_(oppo)、VV_(vivo)、HO_(荣耀)、FCM_(fcm)
例如获取到的 deviceToken 值为:HW_xxxx,则实际的厂商token值为 xxxx
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean areNotificationsEnabled(Context context) |
检测用户设备是否开启通知权限
返回true,表示用户设备正常开启通知权限,推送通知在设备上可以正常到达、展示;返回false,表示用户设备未开启通知权限
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public void openNotification(Context context) |
调用方法,将跳转到系统开启通知功能页面,引导用户开启通知权限
无
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setNotificationIcon(Context context, String smallIconName, String largeIconName) |
初始化SDK后,调用接口设置通知icon,图片名称参数不要带文件格式,例如push_small.png,则调用接口使用"push_small";
true 成功;false:失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean queryPushOnLine(Context context) |
初始化SDK后,调用该函数,可以查询cid是否在线。
true 成功;false:失败。
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setDeviceToken(Context context, String token) |
设置自定义厂商Token,开发者自行获取厂商token后汇报给个推服务。
需要在AndroidManifest.xml中预先配置GETUI_CUSTOM_TOKEN,默认不支持。
支持版本3.2.17.0
及以上。
前缀:HW_(华为)、XM_(小米)、MZ_(魅族)、OP_(oppo)、VV_(vivo)、HO_(荣耀)、FCM_(fcm)
例如获取到 华为的deviceToken 值为:xxxx,则实际的传入的token值为 HW_xxxx
true 成功;false:失败。
需要在AndroidManifest.xml中预先配置GETUI_CUSTOM_TOKEN,默认不支持。
//AndroidManifest.xml
<meta-data
android:name="GETUI_CUSTOM_TOKEN"
android:value="*" />
// *:允许自定义token。
// 空字符串:不允许自定义token。(默认)
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onPopupMessageShow(Context context, GTPopupMessage popupMessage) |
应用内弹框展示时触发
@Override
public void onPopupMessageShow(Context context, GTPopupMessage popupMessage) {
Log.d(TAG, "onPopupMessageShow -> "
+ "eventProperties = " + popupMessage.getEventProperties()
+ "\action = " + popupMessage.getAction()
+ "\elementType = " + popupMessage.getElementType()
);
}
类名 | com.igexin.sdk.GTIntentService |
---|---|
接口 | public void onPopupMessageClicked(Context context, GTPopupMessage popupMessage) |
应用内弹框被点击时触发
@Override
public void onPopupMessageClicked(Context context, GTPopupMessage popupMessage) {
Log.d(TAG, "onPopupMessageShow -> "
+ "eventProperties = " + popupMessage.getEventProperties()
+ "\action = " + popupMessage.getAction()
+ "\elementType = " + popupMessage.getElementType()
);
}
支持设置除推送必须采集的数据之外的扩展业务数据的采集开关和频次
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setIndividuationPush(Context context,boolean individuationPushEnable) |
智能推送开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setLinkMerge(Context context,boolean linkMergeEnable) |
链路合并开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setScenePush(Context context,boolean areaPushEnable) |
应景推送开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setEmergencyPush(Context context,boolean emergencyPushEnable) |
应急推送开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setAppListInterval(Context context,long intervalTimeHour) |
设置applist采集频次 ,单位小时 ,范围【6,24】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setLocationInterval(Context context,long intervalTimeSec) |
设置位置信息采集频次 ,单位秒,范围【5,1800】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setImsiEnable(Context context,boolean enable) |
设置imsi信息开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setImsiInterval(Context context,int intervalTimeHour) |
设置imsi信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setImeiEnable(Context context,boolean enable) |
设置imei信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setImeiInterval(Context context,int intervalTimeHour) |
设置imei信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setMacEnable(Context context,boolean enable) |
设置mac信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setMacInterval(Context context,int intervalTimeHour) |
设置mac信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setIccIdEnable(Context context,boolean enable) |
设置iccid信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setIccIdInterval(Context context,int intervalTimeHour) |
设置iccid信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setSerialNumberEnable(Context context,boolean enable) |
设置SerialNumber信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setSerialNumberInterval(Context context,int intervalTimeHour) |
设置SerialNumber信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setAdvertisingIdEnable(Context context,boolean enable) |
设置AdvertisingId信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setAdvertisingIdInterval(Context context,int intervalTimeHour) |
设置AdvertisingId信息采集频次 ,单位时,范围【24,24*7 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setCellInfoEnable(Context context,boolean enable) |
设置cellinfo信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setCellInfoInterval(Context context,int intervalTimeHour) |
设置cellinfo信息采集频次 ,单位秒,范围【5,1800 】
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setIpEnable(Context context,boolean enable) |
设置ip信息采集开关
true:设置成功;false:设置失败
类名 | com.igexin.sdk.PushManager |
---|---|
接口 | public boolean setIpInterval(Context context,int intervalTimeHour) |
设置ip信息采集频次 ,单位秒,范围【5,1800 】
true:设置成功;false:设置失败
以上文档对您是否有帮助?