SDK_骁骑
SDK_骁骑
  • 发布:2014-07-29 16:56
  • 更新:4 天前
  • 阅读:196421

推送开发指南

分类:HTML5+

HBuilder 基座集成了常用的推送平台,包括个推和小米推送功能。
配置参数需要提交云端打包后才能生效,如果需要真机运行生效请使用自定义基座

使用须知

push是一个可用但不可依赖的功能。

  1. 手机用户有自主关闭推送的权利,如果被关闭自然无法收到push。
  2. Android的push更不可依赖,Android rom厂商为了省电会禁止push进程开机自启、三方清理软件会杀掉push进程。
    不止是个推,所有非大厂的app,没有进入rom厂商和三方清理软件白名单的app,不管用哪个推送方案都可能会被杀。
    当然集成了小米推送后在小米手机上肯定不会被杀,但在其他平台被杀的概率可能更高。
    本质上推送是一个有利于开发商但却很容易造成用户骚扰和费电的功能。
    所以大多数主流app里的push的实际用处都是拉激活的非实时活动推送。
    必要时要补充发短信通知的方式。
    关于三方推送服务商,其实发展多年内后,技术、服务差距都不大,核心还在于用户量,因为集成的sdk越多,保活和看护机制越有效果。
    从个推、极光等公司在ipo时披露的数据来看,还是个推占据优势。

开发指导

用户可以使用JS代码监听推送的消息,现在可以监听“receive”事件和“click”事件。如应用在前台时收到推送消息,在IOS平台会触发“receive”事件回调,在Android平台如发送的是透传消息并且消息不符合格式时会触发“receive”事件。

当用户点击消息中心里的消息时会启动应用,并且在监听push事件的页面触发“click”事件。

Push 运行原理

用户可以在事件触发的回调中获取“PushMessage”对象,如发送的是普通消息可以在对象中获取推送消息的“title”属性和“content”属性的值,消息为透传消息,则可以获取“payload”属性的值。

如服务发送的透传消息格式正确可以获得“PushMessage”对象的payload属性,如发送的消息符合指定格式则“payload”属性为json对象,如消息不符合格式则“payload”属性为string类型,内容和“content”节点内容相同。

透传消息的格式为{title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}  

使用个推平台推送消息,在ios平台和安卓平台的运行机制并不完全相同,下面对安卓平台和IOS平台进行分别描述

IOS平台

IOS平台在处理消息时会因为程序是否在线处理逻辑会有不同
应用在线:
应用在线时服务器推送的消息不会进入消息中心。如果页面中监听了“receive”事件则会触发事件的回调。如果消息是通过APS通道发送到终端,用户可以在“receive”事件回调的“PushMesage”对象中获取“aps”属性的值。


应用不在线:
如果当前应用不在线,服务器推送的消息会进入系统消息中心。当用户点击消息,则会启动HTML5+应用,并且在监听了“click”事件的页面中触发事件的回调。


本地消息:
当开发者创建本地消息时,本地消息会进入消息中心。如果开发者监听了“receive”事件,则会在监听页面触发receive事件回调。如需要区分收到的消息是否是本地消息,用户需要在payload节点添加标识。

Android平台:

对安卓平台发送的普通push消息和符合格式的透传消息都会进入系统的消息中心。透传消息如不符合格式则会触发监听页面的“receive”事件不会显示在消息中心。
安卓平台发送的普通消息都会进入消息中心,用户可以点击触发消息。
发送普通消息:

服务器可以向安卓平台发送三种类型的普通消息“通知”“下载”“网址”,发送“通知”消息会启动HTML5+应用,如果是“下载”消息则会调用系统的下载管理器下载指定文件。点击“网址”消息则会调用系统浏览器打开指定的网址。
发送透传消息:


当设备收到服务器发送的透传消息时,不会触发页面监听的receive事件。当用户点击消息中心消息时会触发监听页面的“click”事件。如果用户点击多个消息时,会多次触发“click”事件。
不符指定合格式的透传消息不会进入系统的消息中心,会在监听“receive”事件的页面触发事件回调。

应用开发的JS方法

1.配置推送平台信息。
监听收到消息事件和消息点击事件
2.添加推送事件监听。用户需要在plusready事件之后调用plus.push.addEventListener();监听推送消息或者监听推送消息点击事件。用户可以到消息回调中获取服务器发来的透传消息体。
receive事件监听:
如果客户端正在前台操作,并且已经监听了receive事件,则会触发这个事件。在IOS平台,应用在前台操作时消息不会进入消息中心。
Click事件监听:
应用在运行,用户点击了消息中心的消息,会触发click事件。

document.addEventListener( "plusready", function(){  
    message = document.getElementById("message");  
    // 监听点击消息事件  
    plus.push.addEventListener( "click", function( msg ) {  
        // 判断是从本地创建还是离线推送的消息  
        switch( msg.payload ) {  
            case "LocalMSG":  
                outSet( "点击本地创建消息启动:" );  
            break;  
            default:  
                outSet( "点击离线推送消息启动:");  
            break;  
        }  
        // 提示点击的内容  
        plus.ui.alert( msg.content );  
        // 处理其它数据  
        logoutPushMsg( msg );  
    }, false );  
    // 监听在线消息事件  
    plus.push.addEventListener( "receive", function( msg ) {  
        if ( msg.aps ) {  // Apple APNS message  
            outSet( "接收到在线APNS消息:" );  
        } else {  
            outSet( "接收到在线透传消息:" );  
        }  
        logoutPushMsg( msg );  
    }, false );  
}, false );  

清空消息

清空消息可以调用接口plus.push.clear();,用户可以调用这个方法清空消息中心里推送给当前应用的消息。

function clearAllPush(){  
    plus.push.clear();  
    outSet( "清空所有推送消息成功!" );  

创建本地消息

开发者如需创建本地消息可以调用“createMessage”接口,通过设置“MessageOption”用户可以指定消息的标题,显示推送的时间或者使用延迟时间。在IOS平台,本地消息也会触发监听的“receive”事件,用户需要通过标识来区分是否是本地创建的消息。

function createLocalPushMsg(){  
    var options = {cover:false};  
    var str = dateToStr(new Date());  
    str += ": 欢迎使用Html5 Plus创建本地消息!";  
    plus.push.createMessage( str, "LocalMSG", options );  
    outSet( "创建本地消息成功!" );  
    outLine( "请到系统消息中心查看!" );  
    if(plus.os.name=="iOS"){  
        outLine('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');  
    }  

获取所有推送消息
在安卓平台用户可以获取系统消息中心内本应用的全部消息内容,IOS平台不支持此方法。

function listAllPush(){  
    var msgs=null;  
    switch ( plus.os.name ) {  
        case "Android":  
        msgs = plus.push.getAllMessage();  
        break;  
        default:  
        break;  
    }  
    if ( !msgs ) {  
        outSet( "此平台不支持枚举推送消息列表!" );  
        return;  
    }  
    outSet( "枚举消息列表("+msgs.length+"):" );  
    for ( var i in msgs ) {  
        var msg = msgs[i];  
        outLine( i+": "+msg.title+" - "+msg.content );  
    }  
}  

获取客户端推送标识
开发者可以调用“getClientInfo”方法获取推送标识信息,如IOS平台的token,应用的APPID和设置的Appkey等信息。

function getPushInfo(){  
    var info = plus.push.getClientInfo();  
    outSet( "获取客户端推送标识信息:" );  
    outLine( "token: "+info.token );  
    outLine( "clientid: "+info.clientid );  
    outLine( "appid: "+info.appid );  
    outLine( "appkey: "+info.appkey );  
}  

使用推送插件的配置方法

在HBuilder中配置推送插件的步骤如下:

  1. .点击manifest.json文件的“代码视图”,在permissions节点下添加push节点:
    "Push": {  
    "description": "管理推送消息插件"  
    },  

    2.在plus -> distribute -> plugins 节点下添加push节点

    "push": {  
    "igexin": {  
        "appid": "必选,个推应用标识",  
        "appkey": "必选,个推应用appkey",  
        "appsecret": "必选,个推应用安全标识"  
    }  
    },  

3.添加不同推送平台的方法
a)个推推送平台
1.在plus->distribute->plugins->push节点下添加igexin节点。
appid属性,填写在个推平台创建的应用的appid
appkey属性,填写在个推平台创建的应用的appkey
appsecret属性,填写在个推平台创建的应用的appseret

个推推送平台的使用

个推应用信息申请步骤

1.首先登陆“个推开放平台
2.进入后点击“应用管理”
3.创建新应用点击“登记新应用”


4.填写应用的基本信息(注意:安卓平台应用标示为包名,需要和在HBuilder打包填写的包名一致。 IOS平台需要上传aps证书,证书对应的APPID和在HBuilder打包填写的APPID要一致),信息填写完成后点击保存。

5.创建应用后点击用用的“应用详情”


6.用户可以查找到应用的appid和appkey

使用个推平台发送推送消息

用户可以通过个推服务器发送简单消息和透传消息,透传消息可以附带用户不可见的信息,客户端在收到透传消息后会将附带的数据通过监听接口传递到JS层。
1.首先登陆到个推开放平台,并点击应用“推送通知”。

发送普通消息
2.选择要发送通知的应用,并填写通知的标题和内容。


3.用户需要选择通知的后续动作,接收通知的用户和发送消息的时间,选择好后点击“发送通知”即可按照选择的方式发送推送消息到终端。

发送透传消息
4.发送透传消息步骤和发送普通消息一致。发送的消息体需要按照固定格式填写发送内容,格式为
{title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}
pyaload节点可以填写普通字符串或者json格式字符串,如填写JSON格式字符串则在终端监听回调的PushMessage对象的payload属性则为JSON对象。

应用打包

用户在提交云打包是需要注意以下几个问题,否则会导致推送监听会不能使用。
1.安卓平台打包需要确认打包填写的app包名和在个推平台创建应用时填写的包名相一致


2.IOS平台打包是需要确人打包填写的APPID和提交给个推平台的APS证书内包含的APPID一致。

常见问题

1.为什么真机运行时不能收到推送的消息
答: 如果需要测试推送功能,需要使用HBuilder云打包生成安装包进行测试。

2.推送消息到安卓平台为什么没有在消息中心中显示
答: 如果推送到安卓平台的消息是透传消息,并且格式不符合规范则会触发监听页面的receive事件,消息不会进入消息中心。

3. IOS平台本地创建本地消息会触发“receive”事件,如何和服务器发送的消息进行区分。
答: 用户在创建IOS本地消息是可以在“payload”节点添加特殊标记对消息进行区分

个推推送平台相关问题可直接咨询个推客服,企业QQ:2880983159。也可以在ask中@getui_johny

20 关注 分享
getui_johny 蔡繁荣 我勒个去 撒网要见鱼 Lanman_Group johnson_liu DCloud_UNI_Trust 624693615@qq.com 磨剪子戗菜刀 1156565863@qq.com houheaven edobnet wxzhou@163.com 梦里见 谁是大英雄 452966517@qq.com Geeker 代码只会copy 504192077@qq.com hongyang070@gmail.com

要回复文章请先登录注册

17775039497@163.com

17775039497@163.com

回复 成都H5: 解决了吗
4 天前
UserX

UserX

问一个问题:uniapp中<map>组件层级最高,那么地图显示会不会覆盖推送的消息?
2019-03-02 09:52
1170879721@qq.com

1170879721@qq.com

plus.push.getClientInfo()在哪里调用呢?需要初始化?我在wap2app中如何使用呢
2019-03-01 17:16
你猜猜我是谁

你猜猜我是谁

新建APP,个推报错,求指点,报错信息如下:
Undefined symbols for architecture armv7:
"_g_pdr_string_adpushaction", referenced from:
-[PGPush canRespondAction:isClick:] in liblibPush.a(PGPush.o)
-[PGPush createLocalActionMessage:] in liblibPush.a(PGPush.o)
-[PGPush saveLocalMessage:isReceive:] in liblibPush.a(PGPush.o)
-[PGPush processLocalMessage:type:] in liblibPush.a(PGPush.o)
"_PDRCoreAppDidClickADNotificationKey", referenced from:
-[PGPush canRespondAction:isClick:] in liblibPush.a(PGPush.o)
ld: symbol(s) not found for architecture armv7
2019-02-01 09:17
代码只会copy

代码只会copy

plus.push.createMessage 在vivo X9L,安卓版本7.1.2没有创建消息,在红米Note3,安卓版本5.0.2却可以。这个是什么原因?
2019-01-11 11:30
349323014@qq.com

349323014@qq.com

回复 523200114@qq.com: "igexin" : {
"appid" : "abcdefg",
"appkey" : "abcdefg",
"appsecret" : "abcdefg",
"icons":{}
}

加这个 "icons":{} 就不会报错了,里面怎样填图片我也不知道
2018-12-28 16:32
523200114@qq.com

523200114@qq.com

回复 DCloud_heavensoft: Manifest.json文件以下节点配置错误,请检查修复
[HBuilder] 10:39:45.150 app-plus.distribute.sdkConfigs.push.igexin.icons 不能为空

这个怎么修改?
2018-12-28 11:00
185275181@qq.com

185275181@qq.com

@getui_johny 你好,账号退出后怎么取消推送监听事件呢
2018-12-20 09:10
365881557@qq.com

365881557@qq.com

三个问题:第一,安卓版的被杀掉了怎么推。第二,安卓角标怎么获得。第三,ios开发能推,请问发布后怎么设置,用发布版的证书也不行
2018-11-27 09:13
约学

约学

安卓端就算在前台,是不是只要符合格式的透传消息都会直接进入消息中心,不会触发receive事件?
2018-11-09 21:53
楚茜

楚茜

回复 楚茜: 对iOS系统来说,如果应用在前台,推送消息怎么会走apns(不是aps)通道呢?只有在应用进程被杀或者用户(推送)掉线了,推送消息才会走apns通道
2018-11-06 22:43
楚茜

楚茜

“如果消息是通过APS通道发送到终端,用户可以在“receive”事件回调的“PushMesage”对象中获取“aps”属性的值。”这句话是什么意思?是不是点击应用顶部收到的弹窗通知然后进入应用这个过程?
2018-11-06 22:26
DCloud_heavensoft

DCloud_heavensoft

回复 571692056@qq.com: 可以用自定义基座啊
2018-10-31 22:56
57073629@qq.com

57073629@qq.com

请问 plus.push.getClientInfo().clientid 和个推cid工具得到的id不一样怎么回事
2018-08-20 14:34
794783332@qq.com

794783332@qq.com

回复 769075479@qq.com: 你好,我这边也有这个问题,你解决了吗?
2018-08-13 18:23
571692056@qq.com

571692056@qq.com

ios怎么拿到推送的aps参数,获取的aps参数格式是怎样的,只有生产环境能推,太麻烦了,望指导
2018-08-04 17:04
595548443@qq.com

595548443@qq.com

app是不是关掉(结束进程)了就不能推送消息了?
2018-06-28 17:59
GreatSun

GreatSun

回复 成都H5: 问题解决了吗
2018-06-13 00:04
哈赛ki

哈赛ki

有没有老铁知道怎么设置别名的?查了一圈也没找到解决办法。。
2018-06-05 16:55
709452428@qq.com

709452428@qq.com

回复 SDK_骁骑: ios端怎么处理透传消息,能上代码吗
2018-05-22 17:19
664782270@qq.com

664782270@qq.com

华为畅享7plus手机测试

普通和透传都能够接收到推送消息

普通:事件都不触发

透传:符合格式,只触发click
不符合格式,只触发receive

透传会接收到两次数据
2018-05-14 21:53
664782270@qq.com

664782270@qq.com

测试结果,如下
普通:事件都不触发

透传:符合格式,只触发click
不符合格式,只触发receive
2018-05-14 21:50
Derekwong

Derekwong

学习.push。
2018-05-11 22:43
769075479@qq.com

769075479@qq.com

Android studio 离线打包获取不到clientid,一直是null。Help
2018-05-10 14:38
小白789456

小白789456

不使用个推,怎么实现应用未启动的情况下,显示接收到的消息?
2018-03-15 16:25
youxdd

youxdd

大家 都没 遇到吗
IOS 个推,推送,点击 然后 app 闪退,
2018-03-06 14:44
youxdd

youxdd

IOS 点击闪退
plus.push.createMessage("哈哈","{'banner':'page/personal/myOrderWL.html&CD_XN20180105165333296343','info':'推送跳转页面','type':'localIos'}", {cover:false});

plus.push.addEventListener( "click", function( pushInfo ) {
console.log('监听click消息' , pushInfo);
}, false );
2018-03-06 14:41
916767363@qq.com

916767363@qq.com

回复 zhang_yi_sheng@163.com: 我遇到ios会自动弹出confirm
2018-03-06 11:23
小小小鸟

小小小鸟

为什么发透传安卓会通知栏显示两次
2018-01-30 16:30
iosNodePython

iosNodePython

怎么设置一对一推送?
2018-01-08 09:35
zhang_yi_sheng@163.com

zhang_yi_sheng@163.com

请问有没有解决发送透传消息时,格式正确时app在线的receive事件?
2018-01-02 17:02
edobnet

edobnet

建议PUSH时,自动启用推送服务,这个android在后台或被杀时也能收到消息,苹果推送没有问题
2017-12-27 15:49
匿名用户

匿名用户

回复 SDK_骁骑: 应该是hbuilder旧版本的bug,更新到最新版解决了.
2017-12-19 16:19
SDK_骁骑

SDK_骁骑 (作者)

回复 匿名用户: 这个需要重新设置一下应用的图标,上传一个1024的图标 然后把所有已经生成的图标全都替换掉,之后再打包测试
2017-12-19 16:00
匿名用户

匿名用户

创建本地消息:
plus.push.createMessage
ios下显示的消息图标是hbuilder的图标是bug吗?安卓正常.
@DCloud_SDK_骁骑
2017-12-18 16:36
iosNodePython

iosNodePython

回复 小权: ios:前台 可以正常收到推送(监听receive事件的)
后台就收不到信息
安卓:前台可以收到推送消息和透传消息,后台都可以收到消息
2017-12-18 10:48
iosNodePython

iosNodePython

发送通知收不到,透传消息可以,安卓真机打包的,是什么原因?
2017-12-15 17:41
小权

小权

ios机制很正确:应用在前台就不进消息中心,触发receive;其他情况则进入消息中心。
安卓咋这么奇葩,透传推送要是不符合格式的话,应用在前台时能触发receive,这是没问题;要是应用离线就完蛋了,没有提醒。我要是推送符合格式的json数据吧,提醒有了,直接进消息中心,但应用在前台使用时又不能触发receive,真是无语了。
我既然使用了推送机制,就想直接靠receive事件来实时更新,就不会再用websocket通信来实现消息实时更新了。
2017-11-22 16:16
851432146@qq.com

851432146@qq.com

为什么发透传会通知栏显示两次
2017-10-31 17:08
乱世浮生

乱世浮生

回复 deiphi: 你不按照json格式来就行了,他们官方给的例子都是json格式的。
2017-10-30 18:32
乱世浮生

乱世浮生

回复 147864163@qq.com: plus不能在网页端进行使用,必须要在H5+的环境下才能使用,就是真机环境下,如果是在网页上这么写的话,肯定是报这个错误。
至于mui怎么引入,建议你先新建一个mui模板的demo,然后你看下代码就行了,这里面都是有例子的。
2017-10-30 18:31
147864163@qq.com

147864163@qq.com

回复 147864163@qq.com: 我用的是vue
2017-10-24 17:34
147864163@qq.com

147864163@qq.com

要怎么获取cid,复制代码后一直报错plus is not defined (提示: 请在plus ready后再调用plus api),上百度查说要执行mui.plusReady,mui要怎么引入,怎么执行mui.plusReady
2017-10-24 17:33
Kenny018

Kenny018

回复 qq421065846: 集成个推要打包后才能用,真机测试不行。
2017-10-24 15:02
YIZ

YIZ

回复 qq421065846: 我在真机运行里获得了CID,不过不能用。发了包安装在手机里,获得的这个CID就能用了
2017-10-19 23:18
qq421065846

qq421065846

你们这个我真的服了,现在要cid,cid在哪里找?在hb里面打印了plus.push.getClientInfo().clientid的值放在个推里面又不行。请问在哪里找啊?你们这个案例已经过时了,怎么还不换新的?我真是服了啊!能不能让人看懂了?
2017-10-04 15:31
qq421065846

qq421065846

能不能写的明白一点,我照着这个步骤来,什么是应用名称,什么是应用标识,什么是CID,什么又是包名?能不能写清楚一点啊?????????????
2017-10-04 14:58
745760410@qq.com

745760410@qq.com

dcloud 集成个推,本人写了这篇文章,包括在线打包和离线的打包的内容,以及click 和 receive 的接收,有兴趣的同学可以去看下,想要深入了解的话,请加入 QQ 群 488505459,一起学习
2017-09-29 17:19
58567670@qq.com

58567670@qq.com

强烈呼吁把腾讯云通讯IM集成进来。
2017-08-17 11:36
成都H5

成都H5

ios 创建本地推送 一直循环创建
2017-07-24 14:37
androidjdx

androidjdx

iOS 需要打包才能用离线推送吗?,我的在线推送可以,但是离线不行!
2017-07-13 17:11
Kenny018

Kenny018

回复 烟雨年华: 要打包完才可以收到推送,真机运行时不可以的
2017-06-06 14:56
1019422167@qq.com

1019422167@qq.com

mark
2017-05-08 20:32
zhangchaojie

zhangchaojie

回复 cmslhky: 解决了吗
2017-05-07 19:52
915833445@qq.com

915833445@qq.com

使用js调用个推提供的接口,是CID和别名进行绑定。(通过用户的账号,对该用户推送指定的消息)
2017-04-28 16:30
wen如故i

wen如故i

关闭app,怎么接收到推送??,说什么进入系统消息中心,又不说方法
2017-04-15 11:36
782231328@qq.com

782231328@qq.com

怎么移除监听?
2017-04-14 11:22
656769413@qq.com

656769413@qq.com

app应用在后台,个推发送消息,通知中心能接收到消息,但是没有触发receive事件监听,是怎么回事??
2017-04-05 13:58
276651023@qq.com

276651023@qq.com

回复 cmslhky: 现在解决了吗?我也遇到这种问题,能接收到推送的消息,但是receive和click事件不触发。
2017-03-15 17:39
276651023@qq.com

276651023@qq.com

receive和click两个监听事件写到哪个文件里合适?我写到页面入口文件login.html中了,打包后安装到手机上,通过个推发送消息,通知中心能接收到消息,但是我写到receive监听里的alert没有执行,请问大神怎么回事?谢谢
2017-03-15 17:29
浩浩2

浩浩2

为什么我收到了无数条推送 ios 版本, 手机都被重启了!!!!!1
2017-03-14 11:46
3277076046@qq.com

3277076046@qq.com

回复 哈根达斯: 我导入HBuilder-Hello,将内容替换成我APP的内容,然后本地打包的,完成后程序正常运行,但是接收不到推送的消息(个推平台推送的消息,消息发送成功),请教怎么解决?
2017-03-09 17:15
3277076046@qq.com

3277076046@qq.com

回复 cyq7on: 我也是,离线打包后推送没作用,请问现在有头绪了吗?
2017-03-09 17:10
1048376380@qq.com

1048376380@qq.com

推送成功了,但是是一个小时以后才收到的。而且是在应用打开时候
2017-02-17 11:26
cyq7on

cyq7on

回复 哈根达斯: 我们服务器推送的消息,云打包方式能收到,但是Android本地打包之后就不行了,可是能收到个推后台手动推送的测试消息,感觉无爱了
2017-02-09 23:26
packychu2008@qq.com

packychu2008@qq.com

請問推送消息之後,在手機上打開一個ALERT BOX, 要如何做呢
2016-12-17 12:51
wclssdn

wclssdn

个推就特么是傻逼。。。 垃圾SDK。。 毁我青春,费我钱财。。。。
2016-12-15 00:43
fredzhu

fredzhu

文档严重有问题
写着个推上android的应用标示要填package name。其实是要填appid
HBuilder上 默认package name是io.dcloud.xxxxxxx , 而默认的appid是 xxxxxx,两者不一样。所以推送肯定不会成功。
2016-11-18 16:45
magengshun

magengshun

关于IOS监听click事件消息的解决办法 http://ask.dcloud.net.cn/article/876 请参考指正谢谢
2016-09-08 15:52
破晓残雪

破晓残雪

plus.push.getAllMessage() 为什么这个方法不能获得消息栏中的个推推送过来的消息,应该怎么写才能获得啊
2016-08-26 10:19
h小明

h小明

回复 SDK_骁骑: 使用NotificationTemplate 发送符合格式的消息,此时app已经back退出了,收到一条推送消息,点击通知之后,又出现一条消息,点击才触发click时间,急急急
2016-08-23 15:09
kaiven

kaiven

这个payload配置,服务端可以发送成功,但是手机端无法收到
2016-07-26 10:00
SDK_骁骑

SDK_骁骑 (作者)

回复 kaiven: 在payload节点下需要有title content 和playload节点
String payload=“{title:xxxx,content:yyyy,payload:{{title:xxxx,content:yyyy,payload:{id:1000,id2:1002,id3:1003}}}}”
2016-07-25 15:12
kaiven

kaiven

回复 kaiven: String payload=“{title:xxxx,content:yyyy,payload:{id:1000,id2:1002,id3:1003}}”
2016-07-25 13:57
kaiven

kaiven

看了一下 java服务端不能有转义字符,修改如下,仍然被解释为string
String payload=“{title:xxxx,content":yyyy,payload:{id:1000,id2:1002,id3:1003}}”
2016-07-25 12:31
kaiven

kaiven

java 服务端
String payload=“{\"title\":\"xxxx\",\"content\":"\yyyy\",\"payload\":\"{id:1000,id2:1002,id3:1003}\"}”
plus.push 解析为string,而不是json对象
2016-07-25 12:26
SDK_骁骑

SDK_骁骑 (作者)

回复 kaiven: 透传消息的payload节点的格式为{"title":"标题","content":"显示的消息体","payload":"透传内容"}
2016-07-25 11:05
kaiven

kaiven

回复 kaiven: android平台
2016-07-25 10:09
kaiven

kaiven

@getui_johny 不符指定合格式的透传消息不会进入系统的消息中心,会在监听“receive”事件的页面触发事件回调。
怎么试的不会进入消息中心,请问什么是符合格式的透传消息
2016-07-25 10:09
kaiven

kaiven

如服务发送的透传消息格式正确可以获得“PushMessage”对象的payload属性,如发送的消息符合指定格式则“payload”属性为json对象,如消息不符合格式则“payload”属性为string类型,内容和“content”节点内容相同。
这个能否举个例子
2016-07-25 08:58
123456_xy

123456_xy

回复 李潇喃: 我也是遇到就一个error; 没有其他信息.你怎么解决的
2016-07-19 14:47
Lanman_Group

Lanman_Group

写的不错,赞一个
2016-06-24 17:18
fluter1983@163.com

fluter1983@163.com

第四步: 安装个推Java SDK 第五步: 使用Java SDK发送消息
2016-06-10 14:54
fluter1983@163.com

fluter1983@163.com

手机app一般是客户端,是接收推送的。服务端一般部署在个人电脑或公司服务器上,是发送推送消息的。客户端配置比较简单。服务端需要自己开发。可以查看个推的技术文档,例如:http://docs.getui.com/server/java/start/
2016-06-10 14:52
萌听雨

萌听雨

哪里有例子啊?想看看怎么做到的。
2016-06-08 15:41
LeeYang

LeeYang

有没有不是手工发送透传消息的例子啊?demo里是手工的,怎么搞啊?
2016-06-07 17:22
SDK_骁骑

SDK_骁骑 (作者)

回复 334627855@qq.com: 应用被杀掉会导致接收消息的service关闭,会导致无法收到消息
2016-04-20 14:15
334627855@qq.com

334627855@qq.com

回复 SDK_骁骑: 我今天测试的,应用转为后台可以收到推送内容。应用杀掉的话,是怎么样也收不到推送的,对吧?
2016-04-19 16:39
荼蘼

荼蘼

回复 deiphi: 不是下面这种格式的 {title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}
2016-04-19 10:56
ycyez@qq.com

ycyez@qq.com

怎么只能在APP运行的时候才能收到推送消息,APP结束后,就收不到,囧,有没有什么办法解决
2016-04-14 14:04
lacorey

lacorey

回复 deiphi: 我也想知道啊 无法分辨 没有完整的例子么?
2016-03-24 16:32
吾兮

吾兮

回复 谷震平: 现在就只支持个推
2016-03-14 11:14
deiphi

deiphi

请问怎么构造一条“不符合格式”的透传消息?
2016-02-24 16:20
东哥的苹果

东哥的苹果

我在HBuilde新建一个工程,然后我要android离线打包,请问怎么做?因为HBuilde新建的工程不可能直接导入eclipse里面的,也没法导入,是不是任何一个HBuilde新建的工程如果要android离线打包,都必须借助通过HBuilder-Hello这个官方给出的Demo来打包(说白了就是替换掉HBuilder-Hello工程assrts/apps/HelloH5/www里面的所有内容???),如果这样,那岂不是打包后的apk很大了?将HBuilder新建工程怎么导入eclipse,这些官方文档都没有说明,官方文档只是说了一下HBuilder-Hello这个demo怎么来打包的?文档写的太不清楚了,参考的资料又很少。(Hbuilder爱好者请加qq519705069)
2016-01-22 23:37
扎拉司徒

扎拉司徒

这个推我也是醉了,文档中的参数说明乱七八糟,
2016-01-12 14:53
binyy

binyy

你好 我用的ios开发证书 配置个推,选择证书和填写密码以后 提示 证书环境错误,但是证书环境那一行又没有选择项,请问是什么情况,难道只支持ios发布版证书吗?那怎么测试?
2015-12-19 13:44
谷震平

谷震平

您好,我公司打算采用极光推送,不知道该如何支持???!!!在线等!!!望答,谢谢!!!
2015-12-17 15:38
SDK_骁骑

SDK_骁骑 (作者)

回复 tobeacoder: 后台发送透传消息需要符合格式“{title:"通知标题",content:"通知内容",payload:"通知去干嘛这里可以自定义"}”,如果当前的进程被用户杀掉的话也有可能或收不到消息,这个需要等待一会等收push的服务启动以后才可以继续接收
2015-11-24 16:00
tobeacoder

tobeacoder

使用个推,目前我这是应用转为后台就收不到透传信息,但是能收到普通信息。
2015-11-24 15:52
xiyang1081

xiyang1081

回复 sscjane: 微信可以,测试过了,后台进程和服务关闭后几十秒后就自动起来,然后就可以接收到推送消息
2015-11-20 18:20