Quickblox - 如何将通知推送到 Android 和 iOS 平台?

Posted

技术标签:

【中文标题】Quickblox - 如何将通知推送到 Android 和 iOS 平台?【英文标题】:Quickblox - How can I push notification to both platform Android and iOS? 【发布时间】:2016-05-18 09:16:00 【问题描述】:

QBEvent 是 Quickblox 提供的用于支持推送通知的类。 在android平台上,我必须设置qbEvent.setPushType(QBPushType.GCM)在多个Android设备之间推送消息。

问题是我想为 Android 和 ios 推送消息,但我可以将这些行设置在一起。 qbEvent.setPushType(QBPushType.GCM)qbEvent.setPushType(QBPushType.APNS)。有什么解决办法,请帮忙?

【问题讨论】:

【参考方案1】:

如果要向所有平台发送推送,则无需传递推送类型参数

解决方案 N1(仅文本):

    QBEvent event = new QBEvent();
    event.setUserIds(userIds);
    event.setType(QBEventType.ONE_SHOT);
    event.setEnvironment(QBEnvironment.DEVELOPMENT);
    event.setNotificationType(QBNotificationType.PUSH);
    //
    event.setMessage("This is simple generic push notification!");

解决方案 N2(带有自定义参数):

    QBEvent event = new QBEvent();
    event.setUserIds(userIds);
    event.setType(QBEventType.ONE_SHOT);
    event.setEnvironment(QBEnvironment.DEVELOPMENT);
    event.setNotificationType(QBNotificationType.PUSH);
    //
    // generic push with custom parameters - http://quickblox.com/developers/Messages#Use_custom_parameters
    JSONObject json = new JSONObject();
    try 
      json.put("message", "This is generic push notification with custom params!");
      json.put("param1", "value1");
      json.put("ios_badge", "4"); // iOS badge value
     catch (Exception e) 
      e.printStackTrace();
    
    event.setMessage(json.toString());

在我们的推送通知 sn-ps 中有更多示例 https://github.com/QuickBlox/quickblox-android-sdk/blob/master/snippets/src/main/java/com/sdk/snippets/modules/SnippetsPushNotifications.java#L217

在文档中 http://quickblox.com/developers/SimpleSample-messages_users-android#Universal_push_notifications

【讨论】:

以上是关于Quickblox - 如何将通知推送到 Android 和 iOS 平台?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 RSS 提要推送到 HTML5 通知?

如何使用 Google Cloud Messaging 将通知推送到 iOS

Swift Parse:如何将通知推送到特定的设备/objectId

facebook 如何将通知、好友请求和其他更新推送到其 Android 移动应用程序?

使用 AFNetworking 将 Firebase 通知从 ios 设备推送到花药

如何在本机反应中将设备的通知推送到另一台设备