Class: Google::Apis::FcmV1::Message

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/fcm_v1/classes.rb,
lib/google/apis/fcm_v1/representations.rb,
lib/google/apis/fcm_v1/representations.rb

Overview

Message to send by Firebase Cloud Messaging Service.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Message

Returns a new instance of Message.



693
694
695
# File 'lib/google/apis/fcm_v1/classes.rb', line 693

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#androidGoogle::Apis::FcmV1::AndroidConfig

Android specific options for messages sent through FCM connection server. Corresponds to the JSON property android



639
640
641
# File 'lib/google/apis/fcm_v1/classes.rb', line 639

def android
  @android
end

#apnsGoogle::Apis::FcmV1::ApnsConfig

Apple Push Notification Service specific options. Corresponds to the JSON property apns



644
645
646
# File 'lib/google/apis/fcm_v1/classes.rb', line 644

def apns
  @apns
end

#conditionString

Condition to send a message to, e.g. "'foo' in topics && 'bar' in topics". Corresponds to the JSON property condition

Returns:

  • (String)


649
650
651
# File 'lib/google/apis/fcm_v1/classes.rb', line 649

def condition
  @condition
end

#dataHash<String,String>

Input only. Arbitrary key/value payload, which must be UTF-8 encoded. The key should not be a reserved word ("from", "message_type", or any word starting with "google." or "gcm.notification."). When sending payloads containing only data fields to iOS devices, only normal priority ("apns-priority": "5") is allowed in ApnsConfig. Corresponds to the JSON property data

Returns:

  • (Hash<String,String>)


659
660
661
# File 'lib/google/apis/fcm_v1/classes.rb', line 659

def data
  @data
end

#fcm_optionsGoogle::Apis::FcmV1::FcmOptions

Platform independent options for features provided by the FCM SDKs. Corresponds to the JSON property fcmOptions



664
665
666
# File 'lib/google/apis/fcm_v1/classes.rb', line 664

def fcm_options
  @fcm_options
end

#nameString

Output Only. The identifier of the message sent, in the format of projects/*/ messages/message_id`. Corresponds to the JSON propertyname`

Returns:

  • (String)


670
671
672
# File 'lib/google/apis/fcm_v1/classes.rb', line 670

def name
  @name
end

#notificationGoogle::Apis::FcmV1::Notification

Basic notification template to use across all platforms. Corresponds to the JSON property notification



675
676
677
# File 'lib/google/apis/fcm_v1/classes.rb', line 675

def notification
  @notification
end

#tokenString

Registration token to send a message to. Corresponds to the JSON property token

Returns:

  • (String)


680
681
682
# File 'lib/google/apis/fcm_v1/classes.rb', line 680

def token
  @token
end

#topicString

Topic name to send a message to, e.g. "weather". Note: "/topics/" prefix should not be provided. Corresponds to the JSON property topic

Returns:

  • (String)


686
687
688
# File 'lib/google/apis/fcm_v1/classes.rb', line 686

def topic
  @topic
end

#webpushGoogle::Apis::FcmV1::WebpushConfig

Webpush protocol options. Corresponds to the JSON property webpush



691
692
693
# File 'lib/google/apis/fcm_v1/classes.rb', line 691

def webpush
  @webpush
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



698
699
700
701
702
703
704
705
706
707
708
709
# File 'lib/google/apis/fcm_v1/classes.rb', line 698

def update!(**args)
  @android = args[:android] if args.key?(:android)
  @apns = args[:apns] if args.key?(:apns)
  @condition = args[:condition] if args.key?(:condition)
  @data = args[:data] if args.key?(:data)
  @fcm_options = args[:fcm_options] if args.key?(:fcm_options)
  @name = args[:name] if args.key?(:name)
  @notification = args[:notification] if args.key?(:notification)
  @token = args[:token] if args.key?(:token)
  @topic = args[:topic] if args.key?(:topic)
  @webpush = args[:webpush] if args.key?(:webpush)
end