update v1.0.7.9 R.C.

This is a Release Candidate. We are still testing.
This commit is contained in:
Sujit Prasad
2016-08-03 20:04:36 +05:30
parent 8b6b924d09
commit ffa56a43cb
3830 changed files with 181529 additions and 495353 deletions

View File

@@ -0,0 +1,19 @@
LaravelFCM\Message\Exceptions\InvalidOptionsException
===============
Class InvalidOptionsException
* Class name: InvalidOptionsException
* Namespace: LaravelFCM\Message\Exceptions
* Parent class: Exception

View File

@@ -0,0 +1,19 @@
LaravelFCM\Message\Exceptions\NoTopicProvidedException
===============
Class NoTopicProvidedException
* Class name: NoTopicProvidedException
* Namespace: LaravelFCM\Message\Exceptions
* Parent class: Exception

View File

@@ -0,0 +1,49 @@
LaravelFCM\Message\Options
===============
Class Options
* Class name: Options
* Namespace: LaravelFCM\Message
* This class implements: Illuminate\Contracts\Support\Arrayable
Methods
-------
### __construct
mixed LaravelFCM\Message\Options::__construct(\LaravelFCM\Message\OptionsBuilder $builder)
Options constructor.
* Visibility: **public**
#### Arguments
* $builder **[LaravelFCM\Message\OptionsBuilder](LaravelFCM-Message-OptionsBuilder.md)**
### toArray
array LaravelFCM\Message\Options::toArray()
Transform Option to array
* Visibility: **public**

View File

@@ -0,0 +1,241 @@
LaravelFCM\Message\OptionsBuilder
===============
Builder for creation of options used by FCM
Class OptionsBuilder
* Class name: OptionsBuilder
* Namespace: LaravelFCM\Message
Methods
-------
### setCollapseKey
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setCollapseKey(String $collapseKey)
This parameter identifies a group of messages
A maximum of 4 different collapse keys is allowed at any given time.
* Visibility: **public**
#### Arguments
* $collapseKey **String**
### setPriority
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setPriority(String $priority)
Sets the priority of the message. Valid values are "normal" and "high."
By default, messages are sent with normal priority
* Visibility: **public**
#### Arguments
* $priority **String**
### setContentAvailable
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setContentAvailable(boolean $contentAvailable)
support only Android and Ios
An inactive client app is awoken.
On iOS, use this field to represent content-available in the APNS payload.
On Android, data messages wake the app by default.
On Chrome, currently not supported.
* Visibility: **public**
#### Arguments
* $contentAvailable **boolean**
### setDelayWhileIdle
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setDelayWhileIdle(boolean $delayWhileIdle)
When this parameter is set to true, it indicates that the message should not be sent until the device becomes active.
* Visibility: **public**
#### Arguments
* $delayWhileIdle **boolean**
### setTimeToLive
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setTimeToLive(integer $timeToLive)
This parameter specifies how long the message should be kept in FCM storage if the device is offline
* Visibility: **public**
#### Arguments
* $timeToLive **integer** - <p>(in second) min:0 max:2419200</p>
### setRestrictedPackageName
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setRestrictedPackageName(string $restrictedPackageName)
This parameter specifies the package name of the application where the registration tokens must match in order to receive the message.
* Visibility: **public**
#### Arguments
* $restrictedPackageName **string**
### setDryRun
\LaravelFCM\Message\OptionsBuilder LaravelFCM\Message\OptionsBuilder::setDryRun(boolean $isDryRun)
This parameter, when set to true, allows developers to test a request without actually sending a message.
It should only be used for the development
* Visibility: **public**
#### Arguments
* $isDryRun **boolean**
### getCollapseKey
null|string LaravelFCM\Message\OptionsBuilder::getCollapseKey()
Get the collapseKey
* Visibility: **public**
### getPriority
null|string LaravelFCM\Message\OptionsBuilder::getPriority()
Get the priority
* Visibility: **public**
### isContentAvailable
boolean LaravelFCM\Message\OptionsBuilder::isContentAvailable()
is content available
* Visibility: **public**
### isDelayWhileIdle
boolean LaravelFCM\Message\OptionsBuilder::isDelayWhileIdle()
is delay white idle
* Visibility: **public**
### getTimeToLive
null|integer LaravelFCM\Message\OptionsBuilder::getTimeToLive()
get time to live
* Visibility: **public**
### getRestrictedPackageName
null|string LaravelFCM\Message\OptionsBuilder::getRestrictedPackageName()
get restricted package name
* Visibility: **public**
### isDryRun
boolean LaravelFCM\Message\OptionsBuilder::isDryRun()
is dry run
* Visibility: **public**
### build
\LaravelFCM\Message\Options LaravelFCM\Message\OptionsBuilder::build()
build an instance of Options
* Visibility: **public**

View File

@@ -0,0 +1,69 @@
LaravelFCM\Message\OptionsPriorities
===============
Class OptionsPriorities
* Class name: OptionsPriorities
* Namespace: LaravelFCM\Message
Constants
----------
### high
const high = "high"
### normal
const normal = "normal"
Methods
-------
### getPriorities
array LaravelFCM\Message\OptionsPriorities::getPriorities()
* Visibility: **public**
* This method is **static**.
### isValid
boolean LaravelFCM\Message\OptionsPriorities::isValid($priority)
check if this priority is supported by fcm
* Visibility: **public**
* This method is **static**.
#### Arguments
* $priority **mixed**

View File

@@ -0,0 +1,49 @@
LaravelFCM\Message\PayloadData
===============
Class PayloadData
* Class name: PayloadData
* Namespace: LaravelFCM\Message
* This class implements: Illuminate\Contracts\Support\Arrayable
Methods
-------
### __construct
mixed LaravelFCM\Message\PayloadData::__construct(\LaravelFCM\Message\PayloadDataBuilder $builder)
PayloadData constructor.
* Visibility: **public**
#### Arguments
* $builder **[LaravelFCM\Message\PayloadDataBuilder](LaravelFCM-Message-PayloadDataBuilder.md)**
### toArray
array LaravelFCM\Message\PayloadData::toArray()
Transform payloadData to array
* Visibility: **public**

View File

@@ -0,0 +1,91 @@
LaravelFCM\Message\PayloadDataBuilder
===============
Class PayloadDataBuilder
Official google documentation :
* Class name: PayloadDataBuilder
* Namespace: LaravelFCM\Message
Methods
-------
### addData
\LaravelFCM\Message\PayloadDataBuilder LaravelFCM\Message\PayloadDataBuilder::addData(array $data)
add data to existing data
* Visibility: **public**
#### Arguments
* $data **array**
### setData
\LaravelFCM\Message\PayloadDataBuilder LaravelFCM\Message\PayloadDataBuilder::setData(array $data)
erase data with new data
* Visibility: **public**
#### Arguments
* $data **array**
### removeAllData
mixed LaravelFCM\Message\PayloadDataBuilder::removeAllData()
Remove all data
* Visibility: **public**
### getData
array LaravelFCM\Message\PayloadDataBuilder::getData()
return data
* Visibility: **public**
### build
\LaravelFCM\Message\PayloadData LaravelFCM\Message\PayloadDataBuilder::build()
generate a PayloadData
* Visibility: **public**

View File

@@ -0,0 +1,49 @@
LaravelFCM\Message\PayloadNotification
===============
Class PayloadNotification
* Class name: PayloadNotification
* Namespace: LaravelFCM\Message
* This class implements: Illuminate\Contracts\Support\Arrayable
Methods
-------
### __construct
mixed LaravelFCM\Message\PayloadNotification::__construct(\LaravelFCM\Message\PayloadNotificationBuilder $builder)
PayloadNotification constructor.
* Visibility: **public**
#### Arguments
* $builder **[LaravelFCM\Message\PayloadNotificationBuilder](LaravelFCM-Message-PayloadNotificationBuilder.md)**
### toArray
array LaravelFCM\Message\PayloadNotification::toArray()
convert PayloadNotification to array
* Visibility: **public**

View File

@@ -0,0 +1,400 @@
LaravelFCM\Message\PayloadNotificationBuilder
===============
Class PayloadNotificationBuilder
Official google documentation :
* Class name: PayloadNotificationBuilder
* Namespace: LaravelFCM\Message
Methods
-------
### __construct
mixed LaravelFCM\Message\PayloadNotificationBuilder::__construct(String $title)
Title must be present on android notification and ios (watch) notification
* Visibility: **public**
#### Arguments
* $title **String**
### setTitle
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setTitle(String $title)
Indicates notification title. This field is not visible on iOS phones and tablets.
but it is required for android
* Visibility: **public**
#### Arguments
* $title **String**
### setBody
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setBody(String $body)
Indicates notification body text.
* Visibility: **public**
#### Arguments
* $body **String**
### setIcon
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setIcon(String $icon)
Supported Android
Indicates notification icon. example : Sets value to myicon for drawable resource myicon.
* Visibility: **public**
#### Arguments
* $icon **String**
### setSound
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setSound(String $sound)
Indicates a sound to play when the device receives a notification.
Supports default or the filename of a sound resource bundled in the app.
* Visibility: **public**
#### Arguments
* $sound **String**
### setBadge
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setBadge(String $badge)
Supported Ios
Indicates the badge on the client app home icon.
* Visibility: **public**
#### Arguments
* $badge **String**
### setTag
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setTag(String $tag)
Supported Android
Indicates whether each notification results in a new entry in the notification drawer on Android.
If not set, each request creates a new notification.
If set, and a notification with the same tag is already being shown, the new notification replaces the existing one in the notification drawer.
* Visibility: **public**
#### Arguments
* $tag **String**
### setColor
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setColor(String $color)
Supported Android
Indicates color of the icon, expressed in #rrggbb format
* Visibility: **public**
#### Arguments
* $color **String**
### setClickAction
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setClickAction(String $action)
Indicates the action associated with a user click on the notification
* Visibility: **public**
#### Arguments
* $action **String**
### setTitleLocationKey
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setTitleLocationKey(String $titleKey)
Indicates the key to the title string for localization.
* Visibility: **public**
#### Arguments
* $titleKey **String**
### setTitleLocationArgs
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setTitleLocationArgs(mixed $titleArgs)
Indicates the string value to replace format specifiers in the title string for localization.
* Visibility: **public**
#### Arguments
* $titleArgs **mixed**
### setBodyLocationKey
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setBodyLocationKey(String $bodyKey)
Indicates the key to the body string for localization.
* Visibility: **public**
#### Arguments
* $bodyKey **String**
### setBodyLocationArgs
\LaravelFCM\Message\PayloadNotificationBuilder LaravelFCM\Message\PayloadNotificationBuilder::setBodyLocationArgs(mixed $bodyArgs)
Indicates the string value to replace format specifiers in the body string for localization.
* Visibility: **public**
#### Arguments
* $bodyArgs **mixed**
### getTitle
null|String LaravelFCM\Message\PayloadNotificationBuilder::getTitle()
Get title
* Visibility: **public**
### getBody
null|String LaravelFCM\Message\PayloadNotificationBuilder::getBody()
Get body
* Visibility: **public**
### getIcon
null|String LaravelFCM\Message\PayloadNotificationBuilder::getIcon()
Get Icon
* Visibility: **public**
### getSound
null|String LaravelFCM\Message\PayloadNotificationBuilder::getSound()
Get Sound
* Visibility: **public**
### getBadge
null|String LaravelFCM\Message\PayloadNotificationBuilder::getBadge()
Get Badge
* Visibility: **public**
### getTag
null|String LaravelFCM\Message\PayloadNotificationBuilder::getTag()
Get Tag
* Visibility: **public**
### getColor
null|String LaravelFCM\Message\PayloadNotificationBuilder::getColor()
Get Color
* Visibility: **public**
### getClickAction
null|String LaravelFCM\Message\PayloadNotificationBuilder::getClickAction()
Get ClickAction
* Visibility: **public**
### getBodyLocationKey
null|String LaravelFCM\Message\PayloadNotificationBuilder::getBodyLocationKey()
Get BodyLocationKey
* Visibility: **public**
### getBodyLocationArgs
null|String|array LaravelFCM\Message\PayloadNotificationBuilder::getBodyLocationArgs()
Get BodyLocationArgs
* Visibility: **public**
### getTitleLocationKey
string LaravelFCM\Message\PayloadNotificationBuilder::getTitleLocationKey()
Get TitleLocationKey
* Visibility: **public**
### getTitleLocationArgs
null|String|array LaravelFCM\Message\PayloadNotificationBuilder::getTitleLocationArgs()
GetTitleLocationArgs
* Visibility: **public**
### build
\LaravelFCM\Message\PayloadNotification LaravelFCM\Message\PayloadNotificationBuilder::build()
Build an PayloadNotification
* Visibility: **public**

View File

@@ -0,0 +1,134 @@
LaravelFCM\Message\Topics
===============
Class Topics
Create topic or a topic condition
* Class name: Topics
* Namespace: LaravelFCM\Message
Methods
-------
### topic
\LaravelFCM\Message\Topics LaravelFCM\Message\Topics::topic(string $first)
Add a topic, this method should be called before any conditional topic
* Visibility: **public**
#### Arguments
* $first **string** - <p>topicName</p>
### orTopic
\LaravelFCM\Message\Topics LaravelFCM\Message\Topics::orTopic(string|\Closure $first)
Add a or condition to the precedent topic set
Parenthesis is a closure
Equivalent of this: **'TopicA' in topic' || 'TopicB' in topics**
```
$topic = new Topics();
$topic->topic('TopicA')
->orTopic('TopicB');
```
Equivalent of this: **'TopicA' in topics && ('TopicB' in topics || 'TopicC' in topics)**
```
$topic = new Topics();
$topic->topic('TopicA')
->andTopic(function($condition) {
$condition->topic('TopicB')->orTopic('TopicC');
});
```
> Note: Only two operators per expression are supported by fcm
* Visibility: **public**
#### Arguments
* $first **string|Closure** - <p>topicName or closure</p>
### andTopic
\LaravelFCM\Message\Topics LaravelFCM\Message\Topics::andTopic(string|\Closure $first)
Add a and condition to the precedent topic set
Parenthesis is a closure
Equivalent of this: **'TopicA' in topic' && 'TopicB' in topics**
```
$topic = new Topics();
$topic->topic('TopicA')
->anTopic('TopicB');
```
Equivalent of this: **'TopicA' in topics || ('TopicB' in topics && 'TopicC' in topics)**
```
$topic = new Topics();
$topic->topic('TopicA')
->orTopic(function($condition) {
$condition->topic('TopicB')->AndTopic('TopicC');
});
```
> Note: Only two operators per expression are supported by fcm
* Visibility: **public**
#### Arguments
* $first **string|Closure** - <p>topicName or closure</p>
### build
array|string LaravelFCM\Message\Topics::build()
Transform to array
* Visibility: **public**
### hasOnlyOneTopic
boolean LaravelFCM\Message\Topics::hasOnlyOneTopic()
Check if only one topic was set
* Visibility: **public**

View File

@@ -0,0 +1,118 @@
LaravelFCM\Response\BaseResponse
===============
Class BaseResponse
* Class name: BaseResponse
* Namespace: LaravelFCM\Response
* This is an **abstract** class
Constants
----------
### SUCCESS
const SUCCESS = 'success'
### FAILURE
const FAILURE = 'failure'
### ERROR
const ERROR = "error"
### MESSAGE_ID
const MESSAGE_ID = "message_id"
Methods
-------
### __construct
mixed LaravelFCM\Response\BaseResponse::__construct(\GuzzleHttp\Psr7\Response $response)
BaseResponse constructor.
* Visibility: **public**
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### isJsonResponse
mixed LaravelFCM\Response\BaseResponse::isJsonResponse(\GuzzleHttp\Psr7\Response $response)
Check if the response given by fcm is parsable
* Visibility: **private**
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### parseResponse
mixed LaravelFCM\Response\BaseResponse::parseResponse(array $responseInJson)
parse the response
* Visibility: **protected**
* This method is **abstract**.
#### Arguments
* $responseInJson **array**
### logResponse
mixed LaravelFCM\Response\BaseResponse::logResponse()
Log the response
* Visibility: **protected**
* This method is **abstract**.

View File

@@ -0,0 +1,329 @@
LaravelFCM\Response\DownstreamResponse
===============
Class DownstreamResponse
* Class name: DownstreamResponse
* Namespace: LaravelFCM\Response
* Parent class: [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
Constants
----------
### MULTICAST_ID
const MULTICAST_ID = 'multicast_id'
### CANONICAL_IDS
const CANONICAL_IDS = "canonical_ids"
### RESULTS
const RESULTS = "results"
### MISSING_REGISTRATION
const MISSING_REGISTRATION = "MissingRegistration"
### MESSAGE_ID
const MESSAGE_ID = "message_id"
### REGISTRATION_ID
const REGISTRATION_ID = "registration_id"
### NOT_REGISTERED
const NOT_REGISTERED = "NotRegistered"
### INVALID_REGISTRATION
const INVALID_REGISTRATION = "InvalidRegistration"
### UNAVAILABLE
const UNAVAILABLE = "Unavailable"
### DEVICE_MESSAGE_RATE_EXCEEDED
const DEVICE_MESSAGE_RATE_EXCEEDED = "DeviceMessageRateExceeded"
### INTERNAL_SERVER_ERROR
const INTERNAL_SERVER_ERROR = "InternalServerError"
### SUCCESS
const SUCCESS = 'success'
### FAILURE
const FAILURE = 'failure'
### ERROR
const ERROR = "error"
Methods
-------
### __construct
mixed LaravelFCM\Response\BaseResponse::__construct(\GuzzleHttp\Psr7\Response $response)
BaseResponse constructor.
* Visibility: **public**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### parseResponse
mixed LaravelFCM\Response\BaseResponse::parseResponse(array $responseInJson)
parse the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $responseInJson **array**
### merge
mixed LaravelFCM\Response\DownstreamResponse::merge(\LaravelFCM\Response\DownstreamResponse $response)
Merge two response
* Visibility: **public**
#### Arguments
* $response **[LaravelFCM\Response\DownstreamResponse](LaravelFCM-Response-DownstreamResponse.md)**
### numberSuccess
integer LaravelFCM\Response\DownstreamResponse::numberSuccess()
Get the number of device reached with success
* Visibility: **public**
### numberFailure
integer LaravelFCM\Response\DownstreamResponse::numberFailure()
Get the number of device which thrown an error
* Visibility: **public**
### numberModification
integer LaravelFCM\Response\DownstreamResponse::numberModification()
Get the number of device that you need to modify their token
* Visibility: **public**
### tokensToDelete
array LaravelFCM\Response\DownstreamResponse::tokensToDelete()
get token to delete
remove all tokens returned by this method in your database
* Visibility: **public**
### tokensToModify
array LaravelFCM\Response\DownstreamResponse::tokensToModify()
get token to modify
key: oldToken
value: new token
find the old token in your database and replace it with the new one
* Visibility: **public**
### tokensToRetry
array LaravelFCM\Response\DownstreamResponse::tokensToRetry()
Get tokens that you should resend using exponential backoof
* Visibility: **public**
### tokensWithError
array LaravelFCM\Response\DownstreamResponse::tokensWithError()
Get tokens that thrown an error
key : token
value : error
In production, remove these tokens from you database
* Visibility: **public**
### hasMissingToken
boolean LaravelFCM\Response\DownstreamResponse::hasMissingToken()
check if missing tokens was given to the request
If true, remove all the empty token in your database
* Visibility: **public**
### isJsonResponse
mixed LaravelFCM\Response\BaseResponse::isJsonResponse(\GuzzleHttp\Psr7\Response $response)
Check if the response given by fcm is parsable
* Visibility: **private**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### logResponse
mixed LaravelFCM\Response\BaseResponse::logResponse()
Log the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)

View File

@@ -0,0 +1,37 @@
LaravelFCM\Response\Exceptions\InvalidRequestException
===============
Class InvalidRequestException
* Class name: InvalidRequestException
* Namespace: LaravelFCM\Response\Exceptions
* Parent class: Exception
Methods
-------
### __construct
mixed LaravelFCM\Response\Exceptions\InvalidRequestException::__construct(\GuzzleHttp\Psr7\Response $response)
InvalidRequestException constructor.
* Visibility: **public**
#### Arguments
* $response **GuzzleHttp\Psr7\Response**

View File

@@ -0,0 +1,50 @@
LaravelFCM\Response\Exceptions\ServerResponseException
===============
Class ServerResponseException
* Class name: ServerResponseException
* Namespace: LaravelFCM\Response\Exceptions
* Parent class: Exception
Properties
----------
### $retryAfter
public integer $retryAfter
retry after
* Visibility: **public**
Methods
-------
### __construct
mixed LaravelFCM\Response\Exceptions\ServerResponseException::__construct(\GuzzleHttp\Psr7\Response $response)
ServerResponseException constructor.
* Visibility: **public**
#### Arguments
* $response **GuzzleHttp\Psr7\Response**

View File

@@ -0,0 +1,37 @@
LaravelFCM\Response\Exceptions\UnauthorizedRequestException
===============
Class UnauthorizedRequestException
* Class name: UnauthorizedRequestException
* Namespace: LaravelFCM\Response\Exceptions
* Parent class: Exception
Methods
-------
### __construct
mixed LaravelFCM\Response\Exceptions\UnauthorizedRequestException::__construct(\GuzzleHttp\Psr7\Response $response)
UnauthorizedRequestException constructor.
* Visibility: **public**
#### Arguments
* $response **GuzzleHttp\Psr7\Response**

View File

@@ -0,0 +1,169 @@
LaravelFCM\Response\GroupResponse
===============
Class GroupResponse
* Class name: GroupResponse
* Namespace: LaravelFCM\Response
* Parent class: [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
Constants
----------
### FAILED_REGISTRATION_IDS
const FAILED_REGISTRATION_IDS = "failed_registration_ids"
### SUCCESS
const SUCCESS = 'success'
### FAILURE
const FAILURE = 'failure'
### ERROR
const ERROR = "error"
### MESSAGE_ID
const MESSAGE_ID = "message_id"
Methods
-------
### __construct
mixed LaravelFCM\Response\BaseResponse::__construct(\GuzzleHttp\Psr7\Response $response)
BaseResponse constructor.
* Visibility: **public**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### parseResponse
mixed LaravelFCM\Response\BaseResponse::parseResponse(array $responseInJson)
parse the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $responseInJson **array**
### logResponse
mixed LaravelFCM\Response\BaseResponse::logResponse()
Log the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
### numberSuccess
integer LaravelFCM\Response\GroupResponse::numberSuccess()
Get the number of device reached with success
* Visibility: **public**
### numberFailure
integer LaravelFCM\Response\GroupResponse::numberFailure()
Get the number of device which thrown an error
* Visibility: **public**
### tokensFailed
array LaravelFCM\Response\GroupResponse::tokensFailed()
Get all token in group that fcm cannot reach
* Visibility: **public**
### isJsonResponse
mixed LaravelFCM\Response\BaseResponse::isJsonResponse(\GuzzleHttp\Psr7\Response $response)
Check if the response given by fcm is parsable
* Visibility: **private**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**

View File

@@ -0,0 +1,170 @@
LaravelFCM\Response\TopicResponse
===============
Class TopicResponse
* Class name: TopicResponse
* Namespace: LaravelFCM\Response
* Parent class: [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
Constants
----------
### LIMIT_RATE_TOPICS_EXCEEDED
const LIMIT_RATE_TOPICS_EXCEEDED = "TopicsMessageRateExceeded"
### SUCCESS
const SUCCESS = 'success'
### FAILURE
const FAILURE = 'failure'
### ERROR
const ERROR = "error"
### MESSAGE_ID
const MESSAGE_ID = "message_id"
Methods
-------
### __construct
mixed LaravelFCM\Response\BaseResponse::__construct(\GuzzleHttp\Psr7\Response $response)
BaseResponse constructor.
* Visibility: **public**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**
### parseResponse
mixed LaravelFCM\Response\BaseResponse::parseResponse(array $responseInJson)
parse the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $responseInJson **array**
### logResponse
mixed LaravelFCM\Response\BaseResponse::logResponse()
Log the response
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
### isSuccess
boolean LaravelFCM\Response\TopicResponse::isSuccess()
true if topic sent with success
* Visibility: **public**
### error
string LaravelFCM\Response\TopicResponse::error()
return error message
you should test if it's necessary to resent it
* Visibility: **public**
### shouldRetry
boolean LaravelFCM\Response\TopicResponse::shouldRetry()
return true if it's necessary resent it using exponential backoff
* Visibility: **public**
### isJsonResponse
mixed LaravelFCM\Response\BaseResponse::isJsonResponse(\GuzzleHttp\Psr7\Response $response)
Check if the response given by fcm is parsable
* Visibility: **private**
* This method is defined by [LaravelFCM\Response\BaseResponse](LaravelFCM-Response-BaseResponse.md)
#### Arguments
* $response **GuzzleHttp\Psr7\Response**

View File

@@ -0,0 +1,83 @@
LaravelFCM\Sender\BaseSender
===============
Class BaseSender
* Class name: BaseSender
* Namespace: LaravelFCM\Sender
* This is an **abstract** class
Properties
----------
### $client
protected \Illuminate\Foundation\Application $client
Guzzle Client
* Visibility: **protected**
### $config
protected array $config
configuration
* Visibility: **protected**
### $url
protected mixed $url
url
* Visibility: **protected**
Methods
-------
### __construct
mixed LaravelFCM\Sender\BaseSender::__construct()
BaseSender constructor.
* Visibility: **public**
### getUrl
string LaravelFCM\Sender\BaseSender::getUrl()
get the url
* Visibility: **protected**
* This method is **abstract**.

View File

@@ -0,0 +1,164 @@
LaravelFCM\Sender\FCMGroup
===============
Class FCMGroup
* Class name: FCMGroup
* Namespace: LaravelFCM\Sender
* Parent class: [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)
Constants
----------
### CREATE
const CREATE = "create"
### ADD
const ADD = "add"
### REMOVE
const REMOVE = "remove"
Properties
----------
### $client
protected \Illuminate\Foundation\Application $client
Guzzle Client
* Visibility: **protected**
### $config
protected array $config
configuration
* Visibility: **protected**
### $url
protected mixed $url
url
* Visibility: **protected**
Methods
-------
### createGroup
null LaravelFCM\Sender\FCMGroup::createGroup($notificationKeyName, array $registrationIds)
Create a group
* Visibility: **public**
#### Arguments
* $notificationKeyName **mixed**
* $registrationIds **array**
### addToGroup
null LaravelFCM\Sender\FCMGroup::addToGroup($notificationKeyName, $notificationKey, array $registrationIds)
add registrationId to a existing group
* Visibility: **public**
#### Arguments
* $notificationKeyName **mixed**
* $notificationKey **mixed**
* $registrationIds **array** - <p>registrationIds to add</p>
### removeFromGroup
null LaravelFCM\Sender\FCMGroup::removeFromGroup($notificationKeyName, $notificationKey, array $registeredIds)
remove registrationId to a existing group
>Note: if you remove all registrationIds the group is automatically deleted
* Visibility: **public**
#### Arguments
* $notificationKeyName **mixed**
* $notificationKey **mixed**
* $registeredIds **array** - <p>registrationIds to remove</p>
### getUrl
string LaravelFCM\Sender\BaseSender::getUrl()
get the url
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)
### __construct
mixed LaravelFCM\Sender\BaseSender::__construct()
BaseSender constructor.
* Visibility: **public**
* This method is defined by [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)

View File

@@ -0,0 +1,153 @@
LaravelFCM\Sender\FCMSender
===============
Class FCMSender
* Class name: FCMSender
* Namespace: LaravelFCM\Sender
* Parent class: [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)
Constants
----------
### MAX_TOKEN_PER_REQUEST
const MAX_TOKEN_PER_REQUEST = 1000
Properties
----------
### $client
protected \Illuminate\Foundation\Application $client
Guzzle Client
* Visibility: **protected**
### $config
protected array $config
configuration
* Visibility: **protected**
### $url
protected mixed $url
url
* Visibility: **protected**
Methods
-------
### sendTo
\LaravelFCM\Response\DownstreamResponse|null LaravelFCM\Sender\FCMSender::sendTo(String|array $to, \LaravelFCM\Message\Options|null $options, \LaravelFCM\Message\PayloadNotification|null $notification, \LaravelFCM\Message\PayloadData|null $data)
send a downstream message to
- a unique device with is registration Token
- or to multiples devices with an array of registrationIds
* Visibility: **public**
#### Arguments
* $to **String|array**
* $options **[LaravelFCM\Message\Options](LaravelFCM-Message-Options.md)|null**
* $notification **[LaravelFCM\Message\PayloadNotification](LaravelFCM-Message-PayloadNotification.md)|null**
* $data **[LaravelFCM\Message\PayloadData](LaravelFCM-Message-PayloadData.md)|null**
### sendToGroup
\LaravelFCM\Response\GroupResponse LaravelFCM\Sender\FCMSender::sendToGroup($notificationKey, \LaravelFCM\Message\Options|null $options, \LaravelFCM\Message\PayloadNotification|null $notification, \LaravelFCM\Message\PayloadData|null $data)
Send a message to a group of devices identified with them notification key
* Visibility: **public**
#### Arguments
* $notificationKey **mixed**
* $options **[LaravelFCM\Message\Options](LaravelFCM-Message-Options.md)|null**
* $notification **[LaravelFCM\Message\PayloadNotification](LaravelFCM-Message-PayloadNotification.md)|null**
* $data **[LaravelFCM\Message\PayloadData](LaravelFCM-Message-PayloadData.md)|null**
### sendToTopic
\LaravelFCM\Response\TopicResponse LaravelFCM\Sender\FCMSender::sendToTopic(\LaravelFCM\Message\Topics $topics, \LaravelFCM\Message\Options|null $options, \LaravelFCM\Message\PayloadNotification|null $notification, \LaravelFCM\Message\PayloadData|null $data)
Send message devices registered at a or more topics
* Visibility: **public**
#### Arguments
* $topics **[LaravelFCM\Message\Topics](LaravelFCM-Message-Topics.md)**
* $options **[LaravelFCM\Message\Options](LaravelFCM-Message-Options.md)|null**
* $notification **[LaravelFCM\Message\PayloadNotification](LaravelFCM-Message-PayloadNotification.md)|null**
* $data **[LaravelFCM\Message\PayloadData](LaravelFCM-Message-PayloadData.md)|null**
### getUrl
string LaravelFCM\Sender\BaseSender::getUrl()
get the url
* Visibility: **protected**
* This method is **abstract**.
* This method is defined by [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)
### __construct
mixed LaravelFCM\Sender\BaseSender::__construct()
BaseSender constructor.
* Visibility: **public**
* This method is defined by [LaravelFCM\Sender\BaseSender](LaravelFCM-Sender-BaseSender.md)

30
vendor/brozot/laravel-fcm/doc/Readme.md vendored Normal file
View File

@@ -0,0 +1,30 @@
API Index
=========
* LaravelFCM
* LaravelFCM\Message
* LaravelFCM\Message\Exceptions
* [InvalidOptionsException](LaravelFCM-Message-Exceptions-InvalidOptionsException.md)
* [NoTopicProvidedException](LaravelFCM-Message-Exceptions-NoTopicProvidedException.md)
* [Options](LaravelFCM-Message-Options.md)
* [OptionsBuilder](LaravelFCM-Message-OptionsBuilder.md)
* [OptionsPriorities](LaravelFCM-Message-OptionsPriorities.md)
* [PayloadData](LaravelFCM-Message-PayloadData.md)
* [PayloadDataBuilder](LaravelFCM-Message-PayloadDataBuilder.md)
* [PayloadNotification](LaravelFCM-Message-PayloadNotification.md)
* [PayloadNotificationBuilder](LaravelFCM-Message-PayloadNotificationBuilder.md)
* [Topics](LaravelFCM-Message-Topics.md)
* LaravelFCM\Sender
* [BaseSender](LaravelFCM-Sender-BaseSender.md)
* [FCMGroup](LaravelFCM-Sender-FCMGroup.md)
* [FCMSender](LaravelFCM-Sender-FCMSender.md)
* LaravelFCM\Response
* [BaseResponse](LaravelFCM-Response-BaseResponse.md)
* [DownstreamResponse](LaravelFCM-Response-DownstreamResponse.md)
* LaravelFCM\Response\Exceptions
* [InvalidRequestException](LaravelFCM-Response-Exceptions-InvalidRequestException.md)
* [ServerResponseException](LaravelFCM-Response-Exceptions-ServerResponseException.md)
* [UnauthorizedRequestException](LaravelFCM-Response-Exceptions-UnauthorizedRequestException.md)
* [GroupResponse](LaravelFCM-Response-GroupResponse.md)
* [TopicResponse](LaravelFCM-Response-TopicResponse.md)