uni-app 信息推送绑定别名(alias)

项目需要利用别名进行推送,找了很多资料,就研究了一下,uni-app 在APP端推送绑定别名难度倒不大,就是有点难理解吧,可以利用别名 或 cid(手机设备)去进行一个绑定,然后信息推送给单体账号用户,我直接上代码吧,你们直接复制粘贴就好了,我封装成方法

//手机号码
this.bindAliasAnd("13888888888");
/**
 * 推送绑定别名
 * @param {Object} alias    别名
 */
bindAliasAnd(alias) {
    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");
        //获取手机cid
        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);
    }

}

可以看到,需要传参,那个参数就是 别名, 比如手机号码,邮箱号码等等都可以,我就随便写了个手机号上去。这样就可以了,剩下的交给后端

后端

信息是采用个推的(uni-app官方默认推荐)
我的是Java的,可以看一下文档的入门案例demo http://docs.getui.com/getui/server/java/guide/ 入门案例仅限于所有用户的

单推api http://docs.getui.com/getui/server/java/push/ 利用pushMessageToSingle方法进行推送
我直接上单推demo吧

package cn.dt2008;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gexin.rp.sdk.base.IPushResult;
import com.gexin.rp.sdk.base.impl.AppMessage;
import com.gexin.rp.sdk.base.impl.SingleMessage;
import com.gexin.rp.sdk.base.impl.Target;
import com.gexin.rp.sdk.http.IGtPush;
import com.gexin.rp.sdk.template.NotificationTemplate;
import com.gexin.rp.sdk.template.style.Style0;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class SpringbootApplicationTests {

    // STEP1:获取应用基本信息 从Dcloud获取
    private static String appId = "";
    private static String appKey = "";
    private static String masterSecret = "";
    // 如果需要使用HTTPS,直接修改url即可
    //private static String url = "https://api.getui.com/apiex.htm";
    private static String url = "http://api.getui.com/apiex.htm";

    @Test
    public void demo1(){
        IGtPush push = new IGtPush(url, appKey, masterSecret);

        Style0 style = new Style0();
        // STEP2:设置推送标题、推送内容
        style.setTitle("请输入a");
        style.setText("请输入通知栏内容");
        style.setLogo("push.png");  // 设置推送图标
        // STEP3:设置响铃、震动等推送效果
        style.setRing(true);  // 设置响铃
        style.setVibrate(true);  // 设置震动

        // STEP4:选择通知模板
        NotificationTemplate template = new NotificationTemplate();
        template.setAppId(appId);
        template.setAppkey(appKey);
        template.setStyle(style);

        // STEP5:定义"AppMessage"类型消息对象,设置推送消息有效期等推送参数
        List<String> appIds = new ArrayList<String>();
        appIds.add(appId);
        SingleMessage message = new SingleMessage();
        message.setData(template);
//        message.setAppIdList(appIds);
        message.setOffline(true);
        message.setOfflineExpireTime(1000 * 600);  // 时间单位为毫秒

        Target tar = new Target();
        tar.setAppId(appId);
        //手机号码
        tar.setAlias("13888888888");
        // STEP6:执行推送
        IPushResult ret = push.pushMessageToSingle(message, tar);
        System.out.println(ret.getResponse().toString());
    }

}

主要是修改 STEP5 以下的。
可能后端讲的不是很理解,各位小伙伴需要了解以下uni-app 推送 http://subkw.com/blog/article/104 ,难度都不大

希望这篇文章对您有帮助

本站资源除特别声明外,转载文章请声明文章出处
东泰博客 » uni-app 信息推送绑定别名(alias)

发表评论