离线消息推送,一般采用厂商通道,现在以Hbuilder创建的APP为例,记录下步骤:
1)Hbuilder创建APP。
2)登录http://dev.dcloud.net.cn,开通UniPush推送服务。
3)配置厂商推送设置,需要根据手机的类型,进入相应的厂商推送后台进行配置。注意开通UniPush和厂商配置后台对应的证书必须一致。通过 keytool -list -v -keystore appKey.jks 可以获取SHA1和SHA256。
4)配置完成后,通过Hbuilder进行云打包,必须和上述配置使用同一个证书。
5)可以通过UniPush的透传消息进行离线消息推送验证。
6)也可以使用代码实现离线消息推送,JAVA示例如下:
String intent= “intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=离线标题;S.content=离线内容;S.payload=lixian;end”;
IGtPush push = new IGtPush(url, appKey, masterSecret);
List<String> appIds = new ArrayList<String>();
appIds.add(appId);
TransmissionTemplate template = new TransmissionTemplate();
template.setAppId(appId);
template.setAppkey(appKey);
template.setTransmissionContent(“{\”title\”: \”在线\”,\”content\”: \”在线内容\”,\”payload\”: \”lixian\”} “);
template.setTransmissionType(2);
Notify notify = new Notify();
notify.setTitle(“离线消息标题”);
notify.setContent(“离线消息内容”);
notify.setIntent(intent);
notify.setType(GtReq.NotifyInfo.Type._intent);
template.set3rdNotifyInfo(notify);//设置第三方通知
AppMessage message = new AppMessage();
message.setData(template);
message.setAppIdList(appIds);
message.setOffline(true);
message.setOfflineExpireTime(1000 * 600); // 时间单位为毫秒
// STEP6:执行推送
IPushResult ret = push.pushMessageToApp(message);