/** * @group gcm */ public function testGCM() { $type = PHPush\Push\Push::ANDROID; $credentials = ["device_token" => "fake-token", "google_api_key" => "fake-google-api-key"]; $push = new PHPush\Push\Push($type, $credentials); $push->setNotificationTTL(123); $this->assertInstanceOf("\\abraovic\\PHPush\\Push", $push, "Object does not implement Push interface"); $this->assertObjectHasAttribute("service", $push); $this->assertAttributeInstanceOf("\\abraovic\\PHPush\\Android\\GCM", "service", $push); $gcm = $push->getService(); $gcm->setRestrictedPackageName('abc'); $this->assertInstanceOf("\\abraovic\\PHPush\\Android\\GCM", $gcm); $this->assertObjectHasAttribute("deviceToken", $gcm); $this->assertObjectHasAttribute("googleApiKey", $gcm); $this->assertObjectHasAttribute("settings", $gcm); $this->assertObjectHasAttribute("timeToLive", $gcm); $this->assertObjectHasAttribute("restrictedPackageName", $gcm); $message = new PHPush\Push\Message($type, "Here is a message"); $message->setBadge(20); $message->setBody("Some body"); $message->setAdditional(["add" => "data"]); $andMsg = $message->getMessage(); $andMsg->setDryRun(false); $this->assertAttributeInstanceOf("\\abraovic\\PHPush\\Android\\Notification", "notification", $andMsg); }
<?php require '../vendor/autoload.php'; use abraovic\PHPush; use abraovic\PHPush\Exception\PHPushException; try { $type = PHPush\Push\Push::ANDROID; $credentials = ['device_token' => 'fake-token', 'google_api_key' => 'fake-api']; // enable printing payload before send (for development purpose) PHPush\Push\Push::$printPayload = true; $push = new PHPush\Push\Push($type, $credentials); $message = new PHPush\Push\Message($type, "Hello"); $message->setBadge(200); $message->setAdditional(["key" => "value"]); if ($push->sendMessage($message)) { echo "sent"; } } catch (PHPushException $e) { echo 'Caught exception: ' . $e->getMessage() . "\n"; }