uniapp PUSH1.0

根据后端需求需要先绑定别名

bindUnipushAlias(name) {
	let alias = `a_${name}`
	var isAndorid, PushManager, context, Instance, GeTuiSdk;
    isAndorid = plus.os.name == 'Android' ? true : 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");
	}
	if (isAndorid) {
		//绑定别名
		Instance.bindAlias(context, alias);
	} else {
		GeTuiSdk.bindAliasandSequenceNum(alias, alias);
	}
},

之后在App.vue里面调用方法

onLaunch(){

    // #ifndef MP-WEIXIN
    //传入用户信息作为别名
	let userInfo = storage.get('userInfo')
    if (userInfo.id) this.bindUnipushAlias(userInfo.id)

    //push点进来的方法

    plus.push.addEventListener("click", function(res) {
	let url = res.payload.page
	if (url) uni.navigateTo({
		url
	    })
    })
    plus.push.addEventListener("receive", function(res) {
	let url = res.payload.page
	if (url && plus.os.name == 'Android') uni.navigateTo({
		url
	})
    
    // #endif

}

当然别忘了在manifest.json中配置

 tips: 安卓需要各厂商的推送许可,ios需要去申请推送证书哦

unipush 1.0常见问题