首页 > 解决方案 > 如何更改默认图标带来 OneSignal 从 Xamarin.Forms 发布帖子?

问题描述

我已经做了一个 post 方法来咨询 OneSignal API Rest,当订单被接受时,一个通知会从下订单的设备发送给用户,这是不起作用的代码行,它在没有small_icon,large_iconandroid_accent_color

代码:

    public static void PostNotification(string idPush)
    {
        var request = WebRequest.Create(AppSettings.OneSignalApi) as HttpWebRequest;
        request.KeepAlive = true;
        request.Method = "POST";
        request.ContentType = "application/json; charset=utf-8";
        request.Headers.Add("authorization", AppSettings.KeyPush);

        byte[] byteArray = Encoding.UTF8.GetBytes("{"
                                    + $"\"app_id\": \"{AppSettings.PushIDApp}\","
                                    + "\"small_icon\": \"ic_stat_onesignal_default\","
                                    + "\"large_icon\": \"ic_onesignal_large_icon_default\","
                                    + "\"android_accent_color\": \"FFba3870\","
                                    + "\"contents\": {\"en\": \"Pedido Aceptado\"},"
                                    + $"\"include_player_ids\": [\"{idPush}\"]" +
                                    "}");

        string responseContent = null;

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

            using (var response = request.GetResponse() as HttpWebResponse)
            {
                using (var reader = new StreamReader(response.GetResponseStream()))
                {
                    responseContent = reader.ReadToEnd();
                }
            }
        }
        catch (WebException ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.Message);
            System.Diagnostics.Debug.WriteLine(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
        }
    }

我有图标但它没有显示它们,它没有向我发送通知,只是删除了以下 3 个属性,我small_icon不知道我这样做的方式是否会出错,我已经按照创建通知的文档。large_iconandroid_accent_color

标签: c#jsonapixamarin.formsonesignal

解决方案


推荐阅读