cordova + vue + 极光 实现App推送(二)

关于App推送的功能,我采用的是激光推送,免费的就够用了,如果你还没有开发者账号就去极光官网去注册一下,然后进入开发者服务中心来创建应用,下图是我创建的应用,点击之后会有个AppKey和Master Secret自己保存一下,下面会有相关功能设置,想要用什么就要去完成什么设置。

cordova + vue + 极光 实现App推送(二)_第1张图片

极光提供很多种SDK,而我们要用的是客户端集成插件中cordova plugin,去cordova目录下执行添加plugin命令cordova plugin add jpush-phonegap-plugin --variable APP_KEY=之前保存的AppKey

然后修改Main.js中的代码

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

document.addEventListener("deviceready", function() {
    console.log("device ready")
    new Vue({
        render: h => h(App),
    }).$mount('#app')
    document.addEventListener('jpush.receiveRegistrationId', function(event) {
        alert("receiveRegistrationId" + JSON.stringify(event));
    }, false)
    initiateUI()
}, false)

function initiateUI() {
    try {
        window.JPush.setDebugMode(true);
        window.JPush.init();
        window.setTimeout(getRegistrationID, 10000);

        if (device.platform != "Android") {
            window.JPush.setApplicationIconBadgeNumber(0);
        }
    } catch (exception) {
        alert('An exception has been occured when init JPush plugin.' + exception);
    }
}

function getRegistrationID() {
    window.JPush.getRegistrationID(onGetRegistrationID)
}

function onGetRegistrationID(data) {
    try {
        if (data.length === 0) {
            alert('id is null')
            var t1 = window.setTimeout(getRegistrationID, 5000);
        } else {
            alert(data)
        }
    } catch (exception) {
        console.log(exception);
    }
}

在vue根目录=> yarn build / npm run build, 把文件打包到cordova的www文件加下。

cd .. 回到cordova根目录,执行cordova run android,可是模拟器启动起来之后并没有把JPush注册成功,也没能获取到registrationID,把上面的run的时候在platforms\android\app\build\outputs\apk\debug文件夹下生成的app-debug.apk安装到手机,在手机上一切按预期的执行。但在我的模拟器上不好使,这个问题卡了我一天,现在也不知道该如何解决,暂且把它定义为模拟器设置有问题吧,如果哪位大神在模拟器上好使请不吝赐教,THK。

关于那些手机的功能还是建议拿真机调试吧,关于页面相关的可以cordova run browser 直接执行在浏览器里调试就可以了,默认端口是8000,如果命令执行时提示你没有权限相关的就会查查你的8000端口是否没占用了,如果被占用可以释放掉,或者把cordova中默认的8000手动改一下,或者cordova serve port browser手动指定端口号。

下面是一些常用命令。

    cordova create myApp org.apache.cordova.myApp myApp
    cordova plugin add cordova-plugin-camera
    cordova platform add android
    cordova plugin add cordova-plugin-camera --nosave
    cordova platform add android --nosave
    cordova requirements android
    cordova build android --verbose
    cordova run android
    cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
    cordova config ls

你可能感兴趣的:(cordova + vue + 极光 实现App推送(二))