function igexinTool() {
var isAndorid, PushManager, context, Instance, GeTuiSdk;
if(plus.os.name == 'Android') {
isAndorid = true;
} else {
isAndorid = false;
}
if(isAndorid) {
PushManager = plus.android.importClass("com.igexin.sdk.PushManager");
context = plus.android.runtimeMainActivity().getContext();
Instance = PushManager.getInstance();
} else {
GeTuiSdk = plus.ios.importClass("GeTuiSdk");
}
this.bindAlias = function(alias) {
if(isAndorid) {
Instance.bindAlias(context, alias);
} else {
GeTuiSdk.bindAliasandSequenceNum(alias, alias);
}
}
this.unbindAlias = function(alias) {
if(isAndorid) {
Instance.unBindAlias(context, alias, true);
} else {
GeTuiSdk.unbindAliasandSequenceNumandIsSelf(alias, alias, true);
}
}
this.getVersion = function() {
if(isAndorid) {
return Instance.getVersion(context);
} else {
return GeTuiSdk.version;
}
}
//开启推送
this.turnOnPush = function() {
if(isAndorid) {
Instance.turnOnPush(context);
} else {
GeTuiSdk.setPushModeForOff(false);
}
}
//关闭推送
this.turnOffPush = function() {
if(isAndorid) {
Instance.turnOffPush(context);
} else {
GeTuiSdk.setPushModeForOff(true);
}
}
}
引入自定义js文件,该文件为推送工具类。
var id = "${id}";
// H5 plus事件处理
var basePath = "${basePath}";
function plusReady(){
var tool = new igexinTool();
tool.bindAlias(id);
tool.turnOnPush();
}
document.addEventListener("plusready",plusReady,false);
// Get storage item value
function getStorage(name) {
return plus.storage.getItem(name);
}
在登录成功处引入该代码 ,进行绑定别名。
// H5 plus事件处理
function plusReady(){
}
document.addEventListener("plusready",plusReady,false);
function logOut() {
//停止推送,并清空消息中心的推送
plus.push.clear();
var tool = new igexinTool();
tool.turnOffPush();
//清除信息缓存,cookie
plus.storage.clear();
plus.navigator.removeAllCookie();
plus.navigator.removeSessionCookie();
}
套壳后,app进行换号登录后,关闭推送。
本文介绍了一个自定义的JS工具类,用于实现跨平台(Android和iOS)的推送管理功能,包括绑定和解除别名,开启和关闭推送,以及获取SDK版本。通过封装原生API,该工具类简化了推送服务的集成和使用。
1万+

被折叠的 条评论
为什么被折叠?



