2

Android アプリケーション用の C#.NET MVC Web Api を開発しています。現時点では、OneSignal Api を呼び出して通知コンテンツを渡すことにより、OneSignal を使用してユーザーにプッシュ通知を送信しています。特定のセグメントにユーザーを追加して、個々のユーザーとそのセグメントのユーザーにまとめて通知を送信できるようにする方法を知る必要があります。ドキュメントを検索しましたが、 OneSignal.SendTag メソッドを使用してそれを行う方法がわかりませんでした。基本的に、Visual Studioでそれを行う方法は? これまでのところ、私はこれを行ってきました:

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;
                }


            }
        }
4

1 に答える 1

2

タグを設定するには、アプリで OneSignal Android SDK の sendTags を使用することをお勧めます。これはオフラインでサポートされており、再試行を処理します。

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

于 2016-06-13T20:56:44.360 に答える