npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ltg-xiaomi

v0.0.1

Published

cordova mipush xiaomi

Downloads

4

Readme

cordova-plugin-mixPush (近期不再维护请谨慎使用)

Cordova 推送,支持设置角标,事件回调。 此项目代码设计以混合推送为基础,兼容多种推送引擎。

注意:此插件的依赖的组件来自mvn仓库,所以需要翻墙。

此项目运用于我公司商业项目上,功能都没问题,我不太会写文档,如有技术问题可邮件询问:qq3451927565 注意!(近期不再维护请谨慎使用)

如何使用? 注意!(近期不再维护请谨慎使用)

1.请先去小米官网注册推送账号:https://dev.mi.com/console/appservice/push.html

 cordova plugin add cordova-plugin-mixpush --variable ANDROID_PACKAGE_NAME=你的安卓项目包名  --variable MI_PUSH_APP_IOS_ID=你IOS推送id --variable MI_PUSH_APP_IOS_KEY=你的IOS推送Key

或者使用最新的版本

 cordova plugin add https://github.com/dmcBig/cordova-plugin-mixPush.git --variable ANDROID_PACKAGE_NAME=你的安卓项目包名  --variable MI_PUSH_APP_IOS_ID=你IOS推送id --variable MI_PUSH_APP_IOS_KEY=你的IOS推送Key

Example

code:

   //此代码为最简单用法,详细使用API,请参考www目录下的MixPushPlugin.js 注释
   document.addEventListener('deviceready',push , false);
   function push(){
        var deviceBrand="xiaoMi";//目前只支持小米引擎
        window.plugins.MixPushPlugin.setPushEngine([deviceBrand]);
        var miId = '2882303******08931'; //android id
        var miKey = '57117***2931'; //android key
        //开始启动注册小米推送
        window.plugins.MixPushPlugin.registerPush([miId, miKey]);

        //registerPush事件
       document.addEventListener("MixPushPlugin.onRegisterPush", function onCallBack(data) {
            if (data&&data.code == 200 ) {
                console.log('注册成功:' + data.regId);
                setAlias("qq112");//注册成功就设置Alias
            }else{
                console.log('注册失败:');
            }
        }, false);

        //设置Alias
        function setAlias(alias) {
            window.plugins.MixPushPlugin.setAlias([alias]);
            //onSetAliasPush事件
            document.addEventListener("MixPushPlugin.onSetAliasPush", function onCallBack(data)  {
                if (data) {
                    data.code == 200 ? "" : setAlias(data.alias);
                    console.log("MixPushPlugin.onSetAliasPush" + data.alias);
                }
            }, false);
        }

        //来消息后的事件监听
        document.addEventListener("MixPushPlugin.onNotificationArrived",function onCallBack(data) {
                if (data && data.title) {
                    window.plugins.MixPushPlugin.badgerApplyCount([20]);//来消息后把APP图标上的角标数字改成20
                    console.log('来消息了:' + data.title);
                    alert(data.title);
                }
         }, false);

        //点消息后的事件监听
         document.addEventListener("MixPushPlugin.onNotificationClicked", function onCallBack(data) {
                     if (data && data.title) {
                         window.plugins.MixPushPlugin.badgerApplyCount([0]);//点消息后清空数字
                         console.log('点消息了:' + data.title);
                         alert(data.title);
                     }
         }, false);

   }

Android 注意点

如果你采用的是最新的cordova8.0版本,那么当执行 cordova platform add android时候,会默认采用cordova android 7.0 或者更高的版本,由于7.0以上的版本中,Android的目录发生了改变。参考网址

cordova android 7.0 运行可能会报错如下:

cp: copyFileSync: could not write to dest file (code=ENOENT):/home/ice/WebstormProjects/MyCordova4/platforms/android/res/xml/config.xml

Parsing /home/ice/WebstormProjects/MyCordova4/platforms/android/res/xml/config.xml failed

如果想要兼容,可以采用hook的方式,需要两步:

1、新建 hooks/patch-android-studio-check.js 文件,内容如下

/**
* This hook overrides a function check at runtime. Currently, cordova-android 7+ incorrectly detects that we are using
* an eclipse style project. This causes a lot of plugins to fail at install time due to paths actually being setup
* for an Android Studio project. Some plugins choose to install things into 'platforms/android/libs' which makes
* this original function assume it is an ecplise project.
*/
module.exports = function (context) {
    if (context.opts.cordova.platforms.indexOf('android') < 0) {
        return;
    }

    const path = context.requireCordovaModule('path');
    const androidStudioPath = path.join(context.opts.projectRoot, 'platforms/android/cordova/lib/AndroidStudio');
    const androidStudio = context.requireCordovaModule(androidStudioPath);
    androidStudio.isAndroidStudioProject = function () { return true; };
};

2、在config.xml添加如下代码

<platform name="android">
    <hook src="hooks/patch-android-studio-check.js" type="before_plugin_install" />
    <hook src="hooks/patch-android-studio-check.js" type="before_plugin_add" />
    <hook src="hooks/patch-android-studio-check.js" type="before_build" />
    <hook src="hooks/patch-android-studio-check.js" type="before_run" />
    <hook src="hooks/patch-android-studio-check.js" type="before_plugin_rm" />
</platform>

此时重新运行 cordova run android 即可正常运行。

IOS注意点

配置MiSDKRun :https://dev.mi.com/doc/?p=2995#d5e70 (如果是测试证书测试环境请配置为Debug)

XCODE推送开关:Xcode中的Capabilities中的Push Notifications打开

当APP处于后台后如何设置角标

当APP被用户按了home键处在后台时,JS可能是停止执行的,那来了消息如何设置角标,只需要让后端大兄弟在推送时角标数即可

android

new Message.Builder()
.extra("unrecv", "" + unrecv) //unrecv int类型的值

ios

new Message.IOSBuilder()
.badge(unrecv)//unrecv int类型的值