avto-dev / huawei-push-kit
Simple Huawei Push in PHP
v0.2.1
2024-12-23 06:43 UTC
Requires
- php: ^8.3
- ext-json: *
- guzzlehttp/guzzle: ^7.8
- illuminate/collections: ^11.34
Requires (Dev)
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^9.4
- vlucas/phpdotenv: ^5.2
This package is auto-updated.
Last update: 2024-12-23 06:49:04 UTC
README
Important
This is a replacement for a afiqiqmal/huawei-push
package that is currently not being updated.
Installation
composer require avto-dev/huawei-push-kit
Usage
Get Access Token
References : Huawei OAuth
$access = HuaweiPushKit::make([ 'app_id' => 'YOUR APP ID', 'client_secret' => 'YOUR CLIENT SECRET' ]) ->getAccessToken(); //Laravel $access = HuaweiPushKit::make(config('huawei'))->getAccessToken(); $access = app(HuaweiPushKit::class)->getAccessToken();
Response
{ "access_token": "ACCESS TOKEN", "expires_in": 3600, "token_type": "Bearer" }
Push Message
References : Huawei Push Kit
$response = HuaweiPushKit::make([]) ->withAccessToken('ACCESS TOKEN') ->push( NotificationPayload::make() ->setValidateOnly(false) ->setMessage( Message::make() ->setNotification( Notification::make() ->setTitle("Testing Title") ->setBody("Body") ->setImage("https://seeklogo.com/images/L/laravel-logo-41EC1D4C3F-seeklogo.com.png") ) ->setAndroid( Config::make() // AndroidConfig ->setUrgency(2) ->setCategory(1) ->setTimeToLive(3360) ->setTags('TrumpIsDown') ->isStaging(true) ->setNotification( AndroidNotification::make() // Notification ->setClickAction( ClickAction::make() ->setType(1) ->setIntent("pushscheme://com.huawei.hms.hmsdemo/deeplink?#Intent;i.isFeed=1;S.feedDocId=0LauP4X6;end") ->setUrl('https://www.google.com') ) ->setImage('https://seeklogo.com/images/L/laravel-logo-41EC1D4C3F-seeklogo.com.png') ->setIcon('/raw/ic_launcher2') ->setColor('#FFFFFF') ->setSound('/raw/shake') ->setDefaultSound(false) ->setPriority(3) ->setChannelId("HMSTestDemo") ->setAutoClear(100000) // ms ->setSummary("Summary") ->setStyle(0) ->setNotifyId(123456) ->setButtons([ Button::make()->setName("Home")->setActionType(0) ]) ) ) ->setTopic("Topic") ) );
Response
{ "code": "80000000", "msg": "Success", "requestId": "160502268063038626000406" }
TODO
- WebPUSH
- APNS
License
Licensed under the MIT license