Class KiiPushMessage.Builder

  • Enclosing class:
    KiiPushMessage

    public static class KiiPushMessage.Builder
    extends java.lang.Object
    Builder of the message.
    • Method Detail

      • withGCMMessage

        @NonNull
        public KiiPushMessage.Builder withGCMMessage​(@NonNull
                                                     GCMMessage message)
        Build with GCM specific message that will be delivered through GCM. Override the GCM delivery flag if already set by enableGCM(boolean).
        Parameters:
        message - GCMMessage
        Returns:
        Builder of the message.
        Throws:
        java.lang.IllegalArgumentException - Thrown if passed message is null.
      • withAPNSMessage

        @NonNull
        public KiiPushMessage.Builder withAPNSMessage​(@NonNull
                                                      APNSMessage message)
        Build with APNS specific message that will be delivered through APNS. Override the APNS delivery flag if already set by enableAPNS(boolean)
        Parameters:
        message - APNSMessage
        Returns:
        Builder of the message.
        Throws:
        java.lang.IllegalArgumentException - Thrown if passed message is null.
      • withJPushMessage

        @NonNull
        public KiiPushMessage.Builder withJPushMessage​(@NonNull
                                                       JPushMessage message)
        Build with JPush specific message that will be delivered through JPush. Override the JPush delivery flag if already set by enableJPush(boolean)
        Parameters:
        message - JPushMessage
        Returns:
        Builder of the message.
        Throws:
        java.lang.IllegalArgumentException - Thrown if passed message is null.
      • withMqttMessage

        @NonNull
        public KiiPushMessage.Builder withMqttMessage​(@NonNull
                                                      MqttMessage message)
        Build with Mqtt specific message that will be delivered through Mqtt. Override the Mqtt delivery flag if already set by enableMqtt(boolean)
        Parameters:
        message - MqttMessage
        Returns:
        Builder of the message.
        Throws:
        java.lang.IllegalArgumentException - Thrown if passed message is null.
      • enableGCM

        @NonNull
        public KiiPushMessage.Builder enableGCM​(boolean gcmEnabled)
        Set flag of GCM delivery If omit calling this method, GCM delivery is enabled. Overwrite the GCM delivery flag in the message JSON if already set by withGCMMessage(GCMMessage). method, GCM delivery flag will be
        Parameters:
        gcmEnabled - if true message would be delivered via GCM. If false, this message would not delivered thru GCM.
        Returns:
        Builder of the message
      • enableAPNS

        @NonNull
        public KiiPushMessage.Builder enableAPNS​(boolean apnsEnabled)
        Set flag of APNS delivery If omit calling this method, APNS delivery is enabled. Overwrite APNS delivery flag in the JSON message if already set by withAPNSMessage(APNSMessage)
        Parameters:
        apnsEnabled - if true message would be delivered via APNS. If false, this message would not delivered thru APNS.
        Returns:
        Builder of the message
      • enableJPush

        @NonNull
        public KiiPushMessage.Builder enableJPush​(boolean jpushEnabled)
        Set flag of JPush delivery If omit calling this method, JPush delivery is enabled. Overwrite APNS delivery flag in the JSON message if already set by withJPushMessage(JPushMessage)
        Parameters:
        apnsEnabled - if true message would be delivered via JPush. If false, this message would not delivered thru JPush.
        Returns:
        Builder of the message
      • enableMqtt

        @NonNull
        public KiiPushMessage.Builder enableMqtt​(boolean mqttEnabled)
        Set flag of Mqtt delivery If omit calling this method, Mqtt delivery is enabled. Overwrite Mqtt delivery flag in the JSON message if already set by withMqttMessage(MqttMessage)
        Parameters:
        apnsEnabled - if true message would be delivered via JPush. If false, this message would not delivered thru JPush.
        Returns:
        Builder of the message
      • build

        @NonNull
        public KiiPushMessage build()
        Build and return KiiPushMessage.
        Throws:
        java.lang.IllegalStateException - Thrown if GCM is enabled and data contains one or more keys that are GCM reserve word mentioned in KiiPushMessage.Data.
      • withPushMessageType

        @NonNull
        public KiiPushMessage.Builder withPushMessageType​(@Nullable
                                                          java.lang.String pushMessageType)
        Set the message type field with the provided value.
        Parameters:
        pushMessageType - type of the push message.
      • sendAppID

        @NonNull
        public KiiPushMessage.Builder sendAppID​(boolean isSendAppId)
        Flags indicates whether "appId" field will be send or not.
        Parameters:
        isSendAppId - If true, the appID field will also be sent. Default is false.
      • sendSender

        @NonNull
        public KiiPushMessage.Builder sendSender​(boolean sendSender)
        Flags indicates whether "sender" field will be send or not.
        Parameters:
        sendSender - If true, send the “sender” field which is userID of the user that triggered the notification. Default is true.
      • sendWhen

        @NonNull
        public KiiPushMessage.Builder sendWhen​(boolean sendWhen)
        Flags indicates whether "when" field will be send or not.
        Parameters:
        If - true, send the “when” field which denotes the time of push message was sent. Default is false.
      • sendOrigin

        @NonNull
        public KiiPushMessage.Builder sendOrigin​(boolean sendOrigin)
        Flags indicates whether "when" field will be send or not.
        Parameters:
        sendOrigin - If true, send the “origin” field that indicates if the message is the result of an event or sent explicitly by someone. Default is false.
      • sendObjectScope

        @NonNull
        public KiiPushMessage.Builder sendObjectScope​(boolean sendObjectScope)
        Flags indicates whether "objectScope" field will be send or not.
        Parameters:
        sendObjectScope - If true, send the “objectScope”-related fields that contain the topic that is the source of this notification. Default is true.
      • sendTopicId

        @NonNull
        public KiiPushMessage.Builder sendTopicId​(boolean sendTopicId)
        Flags indicates whether "topic" field will be send or not.
        Parameters:
        sendTopicId - If true, send the “topic” field, which contains the topicID that is the source of this notification. Default is true.
      • sendToProduction

        @NonNull
        public KiiPushMessage.Builder sendToProduction​(boolean sendToProduction)
        Flag indicates whether send to Production installations or not. Production installations are instantiated by calling KiiUser.pushInstallation() or KiiUser.pushInstallation(boolean) with false. If omit calling this method, default value is true.
        Parameters:
        sendToProduction -
        Returns:
        Builder instance.
      • sendToDevelopment

        @NonNull
        public KiiPushMessage.Builder sendToDevelopment​(boolean sendToDevelopment)
        Flag indicates whether send to Development installations or not. Development installations are instantiated by calling KiiUser.pushInstallation(boolean) with true. If omit calling this method, default value is true.
        Parameters:
        sendToProduction -
        Returns:
        Builder instance.