首页 > 建站教程 > APP开发,混合APP >  apicloud jpush组件的绑定别名方法bindAliasAndTags不执行回调正文

apicloud jpush组件的绑定别名方法bindAliasAndTags不执行回调

我爱模板网在开发今日周边项目时,遇到了一个奇葩的问题,就是 apicloud jpush组件的绑定别名方法bindAliasAndTags不执行回调,仔仔细细检查了代码,没有任何问题,key也配置正确了,就是不执行回调。代码如下:
// 初始化极光推送
initJPush: function() {
    var that = this;
    var ajpush = api.require('ajpush');
    if (api.systemType == 'android') {
        // 初始化推送服务,只Android有效,iOS上会自动初始化
        ajpush.init(function(ret) {
            if (ret && ret.status) {
                that.jPushSet();
            }
        });
    } else {
        that.jPushSet();
    }
},

// 设置极光推送 和 监听消息透传
jPushSet: function() {
    var ajpush = api.require('ajpush');
    var userId = func.session().userId || '';
    if (!userId) {
        return
    }
    ajpush.isPushStopped(function(ret) {
        if (ret && ret.isStopped == 1) {
            console.log('推送已停止,正在恢复中...');
            ajpush.resumePush(function(ret) {
                if (ret && ret.status) {
                    console.log('推送已恢复,正在设置别名...');
                    // 用会员ID作为推送的别名
                    ajpush.bindAliasAndTags({
                        alias: userId
                    }, function(ret, err) {
                        if (ret && ret.statusCode == 0) {
                            console.log("设置极光推送别名成功")
                        } else {
                            console.log('设置极光推送别名失败,err:',err)
                        }
                    });
                } else {
                    console.log('恢复推送异常,异常信息:', ret || err);
                }
            });
        } else {
            //这里可以执行
            // 用会员ID作为推送的别名
            ajpush.bindAliasAndTags({
                alias: userId
            }, function(ret, err) {
                //这里始终不执行..........  if (ret && ret.statusCode == 0) {
                    console.log("设置极光推送别名成功");
                } else {
                    console.log('设置极光推送别名失败,err:', err);
                }
            });
        }
    });
}
然后,我爱模板网又打包了之前的项目,代码一模一样,发现没问题。最后,将今日周边项目打包为测试版,发现执行了。但是之前的项目都是自定义loader也执行的,不知道为什么。今天,我又将它打包成loader,发现也执行了,真实奇葩!!