amazon SNSでスマホアプリにプッシュ通知をする方法(PHP編)

2018/01/25 カテゴリー:スマホアプリ開発 タグ: , , , ,
SPONSOR
  • このエントリーをはてなブックマークに追加

先日、amazon SNSについてのまとめ記事を書きました。今回は具体的にPHPのサンプルコードをのせたいと思います。

SPONSOR

公式SDKをつかう

公式SDKはこちら。composerを使ってインストールしてください。また、アクセスキーとシークレットキーは事前にAWSコンソールから作成しておきます。デバイストークンはアプリで取得したものを送信しているものとします。

require 'vendor/autoload.php';
use Aws\Sns\SnsClient;

$sns = SnsClient::factory(array(
  'credentials' => [
      'key'    => アクセスキー,
      'secret' => シークレットキー
    ],
    'region' => 'ap-northeast-1',
    'version' => 'latest'
));

//devicetokenからエンドポイントを取得
$options = array(
    'PlatformApplicationArn' => アプリケーションのARN,
    'Token' => デバイストークン,
    'CustomUserData' => $name
);

try {

    $result = $sns->createPlatformEndpoint($options);
    $endpoint = $result['EndpointArn'];

    // 送信するメッセージ
    $message = array(
    'default' => 'メッセージ',
    'APNS' => json_encode(array(
        'aps' => array(
            'alert' => array(
            'title' => 'タイトル',
            'body' => '内容です'
                )
            ),
            'scheme' => ""
            )
        )
    );

    //トピック(グループを作成)
    $topicname = 'topic';
    $result = $sns->createTopic(array(
        'Name' => $topicname
    ));
    $topicArn = $result['TopicArn'];
    
    //エンドポイント分だけ繰り返し
    $params = [
        'Endpoint' => $endpoint,
        'Protocol' => 'application',
        'TopicArn' => $topicArn
    ];
    $sub = $sns->subscribe($params);

    // プッシュ通知
    $sns->publish(array(
        'TargetArn' => $topicArn,
        'Message' => (string) json_encode($message),
        'MessageStructure' => 'json'
    ));

    //サブスクリプションを削除
    $sns->unsubscribe(array(
        'SubscriptionArn' => $sub['SubscriptionArn']
    ));

    // 作ったトピックを削除
    $result = $sns->deleteTopic(array(
        'TopicArn' => $topicArn,
    ));

} catch(\Exception $e){
    //エラー処理
}

これで完了。覚えてしまえば、かんたんですね。

参考)Amazon Simple Notification Service ドキュメント

Webサービスのメール配信で到達率を高めるべくSendGridを使ってみる

  • このエントリーをはてなブックマークに追加
SPONSOR

PRODUCT

イリテクで開発したプロダクト

PROFILE

プロフィール

入江 慎吾/イリテク代表
「死ぬ気でやれよ、死なないから」をモットーに体当たりでWEBサービスをつくってます🔥 収入もないのに受託開発をやめて好きなサービスだけをつくることに決めました。資金がつきるか、ヒットするのが先か...見守ってください。 (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす