友盟消息推送提供了“测试模式”和“正式模式”两种推送方式。“正式模式”,顾名思义,在该模式下消息会发送给线上真实用户;而”测试模式”是为便于开发者测试,允许开发者向测试库中添加测试设备,消息只会发送给测试库中的设备,以免影响线上用户。试想一种场景,如果你的App已经上线了,开发人员在测试的时候随便编辑了一条test消息,一不小心发给了线上真实用户(小编相信大家的手机上一定收到过类似的莫名其妙的通知消息),作为用户,不知道这条消息到底意味着什么,对这个App的认可度可能会下降,更严重的是用户会直接卸载app。这个时候就体现出了测试模式的价值了,只有添加到测试库中的设备才会收到测试消息。
那既然测试模式这个设计如此有意义,该如何使用呢?很简单,先获取到设备的device token(不知道怎么获取devicetoken?android,IOS),之后在网站上添加测试设备。接下来就可以随意来发测试消息了。当在测试模式下测试没问题了,想把这条测试消息发到正式模式,但重新在“正式模式”下编辑一遍总归还是有些麻烦,没关系,我们很贴心的在测试模式下设计了“模式转换”的功能,会自动跳转到正式模式下发送消息。根据我们后台的统计,90%以上的用户在发送正式消息之前,会先选择在测试模式下发消息,测试没问题之后,再在正式模式下发送消息到线上用户。
需要注意的是,对于Android平台来说,测试设备是正式设备的一个子集;而对于iOS平台而言,测试模式对应APNs的开发环境(sandbox), 正式模式对应APNs的生产环境(prod),测试设备和正式设备完全隔离,所以在iOS平台下发送消息,一定要注意开发/生产证书的问题。下一次,我们会重点给大家介绍苹果的开发和生产证书。