1、根据别名推送Android设备
public void sendNotificationWirhAlias_Android(String title,String notification,String alias){
try {
PushPayload payload = PushPayload
.newBuilder()
.setPlatform(Platform.android_winphone())
.setAudience(Audience.alias(alias.replace(".", "_")))
.setNotification(Notification.newBuilder()
.setAlert(notification)
.addPlatformNotification(AndroidNotification.newBuilder()
.setTitle(title).build())
.build())
.build();
PushResult result = client.sendPush(payload);
System.out.println(result.isResultOK());
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
2、根据别名推送到IOS设备
public void sendNotificationWirhAlias_Ios(String notification,String alias)
{
try {
PushPayload payload = PushPayload
.newBuilder()
.setPlatform(Platform.ios())
.setAudience(Audience.alias(alias.replace(".", "_")))
.setNotification(Notification.newBuilder()
.setAlert(notification)
.addPlatformNotification(IosNotification.newBuilder().setSound("happy.caf").setBadge(1).build())
.build()).setOptions(Options.newBuilder()
.setApnsProduction(true)
.build())
.build();
PushResult result = client.sendPush(payload);
System.out.println(result.isResultOK());
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
3、根据别名推送到所有平台
public boolean sendNotificationWithAlias(String title,String notification,String alias,Map<String,String> extras){
try {
PushPayload payload = PushPayload
.newBuilder()
.setPlatform(Platform.all())
.setAudience(Audience.alias(alias.replace(".", "_")))
.setNotification(
Notification
.newBuilder()
.addPlatformNotification(
IosNotification.newBuilder()
.setAlert(notification)
.setSound("happy.caf").setBadge(1)
.addExtras(extras).build())
.addPlatformNotification(
AndroidNotification.newBuilder()
.setAlert(notification)
.setTitle(title).addExtras(extras)
.build())
.addPlatformNotification(
WinphoneNotification.newBuilder()
.setAlert(notification)
.addExtras(extras).build())
.build()).setOptions(Options.newBuilder()
.setApnsProduction(true)
.build()).build();
PushResult result =client.sendPush(payload);
System.out.println(result.isResultOK());
return result.isResultOK();
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
return false;
}
本文介绍了一种通过别名实现跨平台(Android、iOS和其他)推送通知的方法。文章提供了三种不同的推送方式:针对Android设备、iOS设备及所有平台,并详细展示了如何设置推送消息的内容和格式。
308

被折叠的 条评论
为什么被折叠?



