unipush解决华为、小米、魅族收不到厂商推送的问题

  1. 保证厂商推送设置AppID,AppKey,AppSecret正确
  2. 在uniapp程序入口加入以下代码:
    var pinf = plus.push.getClientInfo();    
            var cid = pinf.clientid;//客户端标识    
            console.log('cid=='+cid)  
    
        plus.push.addEventListener("receive", function(msg) {  
                if ( msg.aps ) {  // Apple APNS message  
                    //APNS下发的消息,应用在前台  
                    plus.push.createMessage(msg.content, msg.payload, {title: msg.title});  
                } else if ( msg.type != "receive" ) {   // 特殊payload标识本地创建的消息    
                    //本地创建的消息,通常不需要处理    
                    //注意:不要在这种情况下再此调用plus.push.createMessage,从而引起循环创建本地消息    
                } else {    
                    //接收到在线透传消息  
                    plus.push.createMessage(msg.content, msg.payload, {title: msg.title});  
             }  
        }, false );  
    
        plus.push.addEventListener("click", function(msg) {  
        //todo  
        }, false );  
    
        };

     

  3. 在unipush平台发送透传消息
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一些主流厂商推送通道的参数配置示例: ### 小米推送 ```json { "provider": "xiaomi", "payload": { "registration_id": "yourDeviceRegId", "restricted_package_name": "yourPackageName", "pass_through": 0, // 穿透消息:0-通知栏消息,1-透传消息 "notify_type": -1, // 通知类型:-1-默认通知,1-静默通知,2-默认声音,3-自定义声音,4-振动,5-呼吸灯 "title": "Push Title", // 通知栏消息标题 "description": "Push Content", // 通知栏消息正文 "payload": "yourPayload", // 透传消息内容 "extra": { "key1": "value1", // 自定义参数 "key2": "value2" }, "notify_id": 0, // 通知ID "time_to_live": 86400, // 离线消息保留时长(秒) "timeToSend": 0, // 定时推送时间(秒),0表示立即推送 "notify_foreground": 1 // 是否在前台展示通知:0-不展示,1-展示 }, "config": { "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,小米推送需要在官网上注册并创建应用,获取到应用秘钥和设备注册ID。 ### 华为推送 ```json { "provider": "huawei", "payload": { "hps": { "msg": { "type": 3, // 消息类型:1-透传异步消息,3-通知栏消息 "body": { "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "badge": 1, // 角标 "sound": "default", // 声音 "click_action": { "type": 1, // 点击通知后的行为:1-打开APP首页,2-打开自定义页面,3-打开URL "intent": "#Intent;compo=com.rvr/.Activity;S.W=U;end" }, "extras": { "key1": "value1", // 自定义参数 "key2": "value2" } } } }, "token_list": [ "yourDeviceToken" ] }, "config": { "appId": "yourAppId", // 应用ID "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,华为推送需要在官网上注册并创建应用,获取到应用ID和应用秘钥。 ### 魅族推送 ```json { "provider": "meizu", "payload": { "registration_ids": [ "yourDeviceRegId" ], "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "ticker": "Push Ticker", // 通知栏消息滚动文字 "is_multiple": 0, // 是否多包名推送:0-否,1-是 "click_type": 0, // 点击通知栏后的行为:0-打开应用,1-打开URL,2-自定义行为 "click_activity": "yourActivity", // 点击通知栏后打开的Activity "click_url": "yourUrl", // 点击通知栏后打开的URL "custom_content": { "key1": "value1", // 自定义参数 "key2": "value2" }, "off_line": true, // 是否离线推送 "valid_time": 432000, // 离线消息保留时长(秒) "push_time": "2022-01-01 00:00:00" // 定时推送时间 }, "config": { "appId": "yourAppId", // 应用ID "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,魅族推送需要在官网上注册并创建应用,获取到应用ID和应用秘钥。 ### vivo推送 ```json { "provider": "vivo", "payload": { "reg_id": "yourDeviceRegId", "notify_type": 4, // 通知类型:1-默认,2-静音,3-振动,4-声音,5-呼吸灯 "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "skip_type": 2, // 点击通知栏后的行为:1-打开应用,2-打开URL,3-自定义行为 "skip_content": "yourUrl", // 点击通知栏后打开的URL "network_type": -1, // 网络类型:-1-任意网络,1-仅WIFI "client_custom_map": { "key1": "value1", // 自定义参数 "key2": "value2" }, "request_id": "yourReqId", // 请求ID,必须唯一 "time_to_live": 86400, // 离线消息保留时长(秒) "time_for_off_line": 86400, // 离线消息转为在线消息的时长(秒) "target_type": 1, // 推送范围:1-指定RegId,2-所有设备 "push_mode": 0 // 推送模式:0-正式,1-测试(仅发送给测试设备) }, "config": { "appId": "yourAppId", // 应用ID "appKey": "yourAppKey", // 应用秘钥 "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,vivo推送需要在官网上注册并创建应用,获取到应用ID、应用秘钥和应用秘钥。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值