2016-06-13 14 views
1

私は、Androidアプリケーション用のC#.NET MVC Web APIを開発しています。現時点ではOneSignalを使用して、OneSignal APIを呼び出して通知コンテンツを渡すことで、ユーザーにプッシュ通知を送信しています。特定のセグメントにユーザーを追加する方法を知っておく必要があります。そのため、個々のユーザーおよびそのセグメントのユーザーに一括して通知を送信できます。私はそのドキュメントを検索しましたが、OneSignal.SendTagメソッドを使用してそれを行う方法を理解していませんでした。だから基本的にVisual Studioでそれを行うには?それはあなたがそれをオフラインでサポートされており、あなたのための再試行を処理していますあなたのアプリでOneSignalのAndroid SDKからsendTagsを使用することをお勧めしているのタグを設定するにはOneSignalのセグメントに特定のユーザーを追加する方法

string api_key = "dsabjd"; 
     var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest; 
     if (user != null) 
     { 
      string message = "This job is posted by: \n" + user.Name + "\n" + user.Contact + "\n" +user.City; 
      if (request != null) 
      { 
       request.KeepAlive = true; 
       request.Method = "POST"; 
       request.ContentType = "application/json"; 

       request.Headers.Add("authorization", "Basic "+api_key); 


       var serializer = new JavaScriptSerializer(); 
       var obj = new 
       { 
        app_id = "1651", 
        contents = new { en = message }, 
        //data = new { image = "http://dsadasdasd.png" }, 
        data = new { image = imageUrl }, 
        included_segments = new string[] { "All" } 
       }; 
       var param = serializer.Serialize(obj); 
       byte[] byteArray = Encoding.UTF8.GetBytes(param); 

       try 
       { 
        using (var writer = request.GetRequestStream()) 
        { 
         writer.Write(byteArray, 0, byteArray.Length); 
        } 

        string responseContent=null; 
        using (var response = request.GetResponse() as HttpWebResponse) 
        { 
         using (var reader = new StreamReader(response.GetResponseStream())) 
         { 
          responseContent = reader.ReadToEnd(); 
         } 
        } 
        if (responseContent != null) 
        { 
         // parsing the json returned by OneSignal Push API 
         dynamic json = JObject.Parse(responseContent); 
         int noOfRecipients = json.recipients; 
         if (noOfRecipients > 0) 
         { 
          flag = true; 
         } 
        } 

       } 
       catch (WebException ex) 
       { 
        flag = false; 
       } 


      } 
     } 

答えて

1

:これまでのところ私はこれを行っています。

個々のユーザーをターゲットにする必要がある場合は、idsAvailableに電話してサーバーに送信することをおすすめします。後でcreate notification REST API POST呼び出しでinclude_player_idsフィールドを使用して、ユーザーのリストに通知を送信できます。

+0

jsonにプレーヤーIDを追加するにはどうすればよいですか?私はこのような何かをしたし、それは私に400不正な要求 VARを与えたOBJ =新しい { APP_ID = "16516dsada"、 内容=新しい{EN =メッセージ}、 include_player_ids = player_id }; –

+0

@ Harry.Naeem 'include_player_ids'は配列パラメータです。あなたは 'include_player_ids = [player_id]'を試すことができますか? – jkasten

+0

私はこのようなことをしなかった、それが働いた: VAR OBJ =新しい { APP_ID = "sdasd"、 内容=新しい{EN =メッセージ}、 include_player_ids =新しい文字列[] {player_id} を}。 –

関連する問題