Simple library to track App Store reviews with Slack.
composer.phar require tjournal/reviewer
Next require Composer's autoloader:
require 'vendor/autoload.php';
You should use external database to store already sent reviews. We advice Redis with Predis library. Library should implement sismember
, sadd
, exists
and set
methods.
You need to create new Incoming webhook in Slack and change {APPID}
with the real app id:
try {
$storage = new Predis\Client();
$reviewer = new TJ\Reviewer({APPID});
$reviewer->setStorage($storage);
$reviewer->setSlackSettings(['endpoint' => 'https://hooks.slack.com/services/ABCDE/QWERTY', 'channel' => '#reviews']);
$reviewer->start();
} catch (Exception $e) {
// handle errors
}
Then add your script to crontab:
sudo crontab -e
*/15 * * * * php crontab.php
If you want to track internal library errors you can use Monolog. Here is the easiest way:
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$monolog = new Logger('Reviewer');
$monolog->pushHandler(new StreamHandler('/tmp/reviewer.log', Logger::DEBUG));
$reviewer->setLogger($monolog);
There is a way to change set of countries from whence Reviewer is getting fresh app's reviews.
try {
$reviewer = new TJ\Reviewer({APPID});
...
$reviewer->countries = ['ru' => 'Russia', 'us' => 'US', 'fi' => 'Finland', 'fr' => 'France'];
$reviewer->start();
} catch (Exception $e) {
// handle errors
}