【OneSignal】OneSignal-Cordova-SDKでユーザー独自のidを取得する

前回はOneSignalを使ったデバイスへのプッシュ通知のやり方を載せました。

今回は特定のユーザーにのみ送る方法をメモしていきたいと思います。

さて、前回はaxiosを使って何の変哲のない文章をプッシュ通知として送ったと思いますが

この状態だと、1人のユーザーがプッシュ通知を受け取った時に同時にアプリをインストールしてる

全てのユーザーに対してプッシュ通知を送れてしまいます。

この場合はcordova.OneSignal.Pluginの中に含まれているgetIdメソッドを使ってそのユーザーだけのid

を取得することでこのような事態を回避することができます。


window.plugins.OneSignal.getIds(function(ids) {
      console.log('getIds: ' , ids);
      const token = ids.pushToken;
      const id =   ids.userId;
      console.log("idだよ"+id);
  });

//idの中身
j0mb7439-36ec-4137-80e2-58ghuaeb4554

tokenも取得できるのですが今回使うのはidなので省略します。

このincluded_segmentsの部分を


var message = { 
        app_id: "70e59150-f90c-4a4c-97c0-fc000a347a7d",
        included_segments: ["All"],
        //これだと全てのユーザーに送れてしまう
        contents: {"en": "let,s Enjoy!!"}
      };

このようにします。


var message = { 
        app_id: "70e59150-f90c-4a4c-97c0-fc000a347a7d",
        //include_player_idsに変更。
        include_player_ids: ["j0mb7439-36ec-4137-80e2-58ghuaeb4554"],
        contents: {"en": "let,s Enjoy!!"}
      };

これでユーザー別に送ることができます。・・・アプリらしい機能が揃ってきました。

これ有料だったらどうしようかなと考えましたが杞憂でしたね。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG