浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【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!!"}
      };

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

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

  • この記事いいね! (0)